diff --git a/forge-database.sqlite b/forge-database.sqlite deleted file mode 100644 index cba00b83c1b7c33b29277e4f22727477762dd701..0000000000000000000000000000000000000000 Binary files a/forge-database.sqlite and /dev/null differ diff --git a/init.el b/init.el index 13e034e45762437f256bd885c60ec83a76312b79..7e1053dbfa48b620a6128a516df1d3c93ffa2287 100644 --- a/init.el +++ b/init.el @@ -12,7 +12,7 @@ (let ( ;; adjust garbage collection at startup - (gc-cons-threshold most-positive-fixnum) + (gc-cons-threshold (* 128 1024 1024)) (gc-cons-percentage 0.6)) ;; Use a hook so the messages doesn't get clobbered by other messages. @@ -72,6 +72,12 @@ (progn (package-refresh-contents) (package-install 'use-package))) + ;; Install use-package from melpa + (unless (package-installed-p 'quelpa) + (progn + (package-refresh-contents) + (package-install 'quelpa))) + (setq quelpa-checkout-melpa-p nil) (require 'keybindings) (require 'editor) @@ -82,6 +88,8 @@ (require 'prog-c-cpp) (require 'prog-python) (require 'prog-haskell) + (require 'prog-lisp) + (require 'prog-verilog) (require 'init-org) (require 'apps) diff --git a/lisp/apps.el b/lisp/apps.el index 76d7e4e71f3ba4c2b514bfab85246d58b3681483..730c8f938e91ce5f715b52cab46dd9d7361e67e2 100644 --- a/lisp/apps.el +++ b/lisp/apps.el @@ -49,6 +49,23 @@ (setq rime-show-candidate 'posframe default-input-method "rime")) +;;; EAF +(quelpa '(eaf :fetcher github + :repo "manateelazycat/emacs-application-framework" + :files ("*"))) + +(use-package eaf + :load-path "quelpa/build/eaf" + :init + (use-package epc :defer t :ensure t) + (use-package ctable :defer t :ensure t) + (use-package deferred :defer t :ensure t) + :custom + (eaf-browser-continue-where-left-off t) + :config + (eaf-setq eaf-browser-enable-adblocker "true") + (eaf-bind-key scroll_up "C-n" eaf-pdf-viewer-keybinding) + (eaf-bind-key scroll_down "C-p" eaf-pdf-viewer-keybinding)) (provide 'apps) ;;; apps.el ends here diff --git a/lisp/prog-common.el b/lisp/prog-common.el index c8a1ee012b9fe24b91e6b9774fb1349536579cfa..de4dd56c0471c0aba698a515bfc32f17fc5dae5a 100644 --- a/lisp/prog-common.el +++ b/lisp/prog-common.el @@ -10,30 +10,35 @@ :ensure t :init (setq lsp-keymap-prefix "C-c l") + <<<<<<< HEAD :commands (lsp lsp-deferred) - :hook ((c-mode . lsp-deferred) - (c++-mode . lsp-deferred) - (python-mode . lsp-deferred) - (lsp-mode . lsp-enable-which-key-integration)) + :hook ((c-mode c++-mode python-mode) . lsp-deferred) :config (setq lsp-enable-snippet nil lsp-modeline-diagnostics-enable nil lsp-prefer-capf t) - - (push '("*lsp-help*" :dedicated t :position bottom :stick t :noselect t :height 0.4) + (setq lsp-enable-snippet nil) + (setq lsp-modeline-diagnostics-enable nil) + (push '("^\\*[Ll]sp.+\\*$" + :regexp t + :dedicated t + :position bottom + :stick t + :noselect t) popwin:special-display-config) (user/set-leader-key* nil lsp-mode-map - ;; format - "=b" #'lsp-format-buffer - "=r" #'lsp-format-region - "=o" #'lsp-organize-imports - ;; code - "cr" #'lsp-rename - ;; backends - "bd" #'lsp-describe-session - "br" #'lsp-workspace-restart - "bx" #'lsp-workspace-shutdown)) + ;; format + "=b" #'lsp-format-buffer + "=r" #'lsp-format-region + "=o" #'lsp-organize-imports + ;; code + "cr" #'lsp-rename + ;; backends + "bd" #'lsp-describe-session + "br" #'lsp-workspace-restart + "bx" #'lsp-workspace-shutdown) + :commands (lsp lsp-deferred)) (use-package lsp-ui :ensure t diff --git a/lisp/prog-lisp.el b/lisp/prog-lisp.el index a3fc4f444fa40328b8a6529b93e5bea03b268cce..06057f07a18726a4b8061dd21ca041673af68b72 100644 --- a/lisp/prog-lisp.el +++ b/lisp/prog-lisp.el @@ -8,14 +8,23 @@ :ensure t :commands run-geiser) -(use-package parinfer - :ensure t - :hook (scheme-mode . parinfer-mode)) - (use-package lispy-mode :ensure lispy :hook emacs-lisp-mode :diminish lispy-mode) +(use-package ielm + :defer t) + +(use-package debug + :defer t) + +(use-package edebug + :ensure nil + :defer t) + +(use-package emr + :ensure t) + (provide 'prog-lisp) ;;; prog-lisp.el ends here diff --git a/lisp/prog-python.el b/lisp/prog-python.el index 4fd77d765ce595dd6bcb67746d7021f76a9b80c9..3fb5bbfd42da594b480d7dce8b8ee83164d9e659 100644 --- a/lisp/prog-python.el +++ b/lisp/prog-python.el @@ -1,24 +1,51 @@ +;;; prog-python.el --- Configuration for python. +;;; Commentary: ;;; Code: +(defvar python/pyvenv-modes nil) -(use-package importmagic - :defer t - :ensure t - :diminish importmagic-mode - :init - (add-hook 'python-mode-hook 'importmagic-mode)) +(defun python/pyvenv-set-local-virtualenv () + "Set pyvenv virtualenv from \".venv\" by looking in parent directories." + (interactive) + (let ((root-path (locate-dominating-file default-directory ".venv"))) + (when root-path + (let ((file-path (expand-file-name ".venv" root-path))) + (cond ((file-directory-p file-path) + (pyvenv-activate file-path) + (message "Activated local virtualenv")) + (t (message ".venv is not a directory"))))))) -(use-package pipenv +(use-package python :defer t + :ensure nil + :after flycheck + :mode "\\.py\\'" + :custom + (python-indent-offset 4) + (flycheck-python-pycompile-executable "python3") + :config + (setq python-shell-interpreter "python3")) + +(use-package lsp-pyright :ensure t - :init - (add-hook 'python-mode-hook #'pyvenv-tracking-mode)) + :hook (python-mode . (lambda () (require 'lsp-pyright))) + :init (when (executable-find "python3") + (setq lsp-pyright-python-executable-cmd "python3"))) -(use-package python +(use-package yapfify + :ensure t :defer t + :hook (python-mode . yapf-mode)) + +(use-package pyvenv + :ensure t :init - :config - ) + (add-hook 'python-mode-hook #'pyvenv-tracking-mode) + (add-to-list 'python/pyvenv-modes 'python-mode) + ;; Set for auto active virtual env + (dolist (m python/pyvenv-modes) + (add-hook (intern (format "%s-hook" m)) + 'python/pyvenv-set-local-virtualenv()))) (provide 'prog-python) ;;; prog-python.el ends here diff --git a/lisp/prog-verilog.el b/lisp/prog-verilog.el new file mode 100644 index 0000000000000000000000000000000000000000..939dd321214713e3fa4f63f380a646f0f4ddcc2a --- /dev/null +++ b/lisp/prog-verilog.el @@ -0,0 +1,26 @@ +;;; prog-verilog.el --- programming verilog configurations +;;; Commentary: +;;; Code: +(use-package verilog-mode + :ensure nil + :defer t + :mode ("\\.[ds]?va?h?\\'" . verilog-mode) + :config + (setq verilog-indent-level 3 + verilog-indent-level-module 3 + verilog-indent-level-declaration 3 + verilog-indent-level-behavioral 3 + verilog-indent-level-directive 1 + verilog-case-indent 2 + verilog-auto-newline t + verilog-auto-indent-on-newline t + verilog-tab-always-indent t + verilog-auto-endcomments t + verilog-minimum-comment-distance 40 + verilog-indent-begin-after-if t + verilog-auto-lineup 'declarations + verilog-linter "my_lint_shell_command" + )) + +(provide 'prog-verilog) +;;; prog-verilog.el ends here