diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/init-appearance.el | 5 | ||||
-rw-r--r-- | lisp/init-dired.el | 18 | ||||
-rw-r--r-- | lisp/init-editing.el | 4 | ||||
-rw-r--r-- | lisp/init-eglot.el | 24 | ||||
-rw-r--r-- | lisp/init-flyspell.el | 7 | ||||
-rw-r--r-- | lisp/init-org.el | 8 | ||||
-rw-r--r-- | lisp/init-vertico.el | 2 |
7 files changed, 45 insertions, 23 deletions
diff --git a/lisp/init-appearance.el b/lisp/init-appearance.el index 1fea9af..df3d296 100644 --- a/lisp/init-appearance.el +++ b/lisp/init-appearance.el @@ -37,7 +37,6 @@ (dired-mode . hl-line-mode) (ibuffer-mode . hl-line-mode) (prog-mode . hl-line-mode) - (restclient-mode . hl-line-mode) (text-mode . hl-line-mode))) ;; highlight matching parentheses @@ -54,6 +53,10 @@ (use-package prog-mode :hook ((prog-mode . mpolden/prog-mode-buffer-local-variables))) +;; render colors in compilation buffer +(use-package ansi-color + :hook ((compilation-filter . ansi-color-compilation-filter))) + ;; display line and column numbers in mode-line (setq line-number-mode t column-number-mode t) diff --git a/lisp/init-dired.el b/lisp/init-dired.el index 0fbe80e..8e7f77d 100644 --- a/lisp/init-dired.el +++ b/lisp/init-dired.el @@ -2,13 +2,31 @@ ;;; Commentary: ;;; Code: +(defun mpolden/dired-open-or-shell-command () + "Open marked files with the default external program. + +If PATH does not contain a suitable command for opening external +programs, or a prefix argument is given, this function instead +prompts for a shell command." + (interactive) + (let ((open (and (not current-prefix-arg) + (or (executable-find "open") + (executable-find "xdg-open"))))) + (if open + (dired-do-shell-command open nil (dired-get-marked-files t)) + (call-interactively 'dired-do-shell-command)))) + (use-package dired :init ;; show human readable sizes in dired (setq dired-listing-switches "-alh") + ;; register renames in version control + (setq dired-vc-rename-file t) + :bind (:map dired-mode-map ("C-c r" . dired-toggle-read-only) + ("C-c o" . mpolden/dired-open-or-shell-command) ("M-<up>" . dired-up-directory) ("<backspace>" . dired-up-directory))) diff --git a/lisp/init-editing.el b/lisp/init-editing.el index 20392b9..3099ffa 100644 --- a/lisp/init-editing.el +++ b/lisp/init-editing.el @@ -13,8 +13,8 @@ ;; C-c @ opens a simple calculator (global-set-key (kbd "C-c @") 'quick-calc) -;; M-j joins line -(global-set-key (kbd "M-j") 'join-line) +;; M-j joins the next line to this +(global-set-key (kbd "M-j") (lambda () (interactive) (join-line -1))) ;; C-c d duplicates the current line or region (global-set-key (kbd "C-c d") 'duplicate-dwim) diff --git a/lisp/init-eglot.el b/lisp/init-eglot.el index c46fed4..02a1ae8 100644 --- a/lisp/init-eglot.el +++ b/lisp/init-eglot.el @@ -11,26 +11,37 @@ (defvar mpolden/inhibit-lsp nil "List of modes where `eglot-ensure' should not be called to enable LSP integration.") +(defvar mpolden/inhibit-lsp-doc nil + "List of modes where language documentation should not be displayed using `eldoc-box'.") + +(defun mpolden/major-mode-member (modes) + "Return non-nil if `major-mode' is an element of MODES." + (if (listp modes) + (member major-mode modes) + modes)) + (defun mpolden/format-before-save () "Format buffer before saving." - (unless (member major-mode mpolden/inhibit-format-before-save) + (unless (mpolden/major-mode-member mpolden/inhibit-format-before-save) (eglot-format))) (defun mpolden/organize-imports-before-save () "Organize imports before saving buffer." - (unless (member major-mode mpolden/inhibit-organize-imports-before-save) + (unless (mpolden/major-mode-member mpolden/inhibit-organize-imports-before-save) (call-interactively 'eglot-code-action-organize-imports))) (defun mpolden/eglot-before-save () "All actions that may run before saving buffer." - (unless (member major-mode mpolden/inhibit-lsp) + (unless (mpolden/major-mode-member mpolden/inhibit-lsp) (mpolden/format-before-save) (mpolden/organize-imports-before-save))) (defun mpolden/eglot-ensure () "Enable Eglot for current `major-mode'." - (unless (member major-mode mpolden/inhibit-lsp) - (eglot-ensure))) + (unless (mpolden/major-mode-member mpolden/inhibit-lsp) + (eglot-ensure) + (unless (mpolden/major-mode-member mpolden/inhibit-lsp-doc) + (eldoc-box-hover-mode)))) (use-package eglot :ensure t @@ -59,6 +70,9 @@ ;; C-c q shows code actions (quickfix) ("C-c q" . eglot-code-actions))) +(use-package eldoc-box + :ensure t) + (provide 'init-eglot) ;;; init-eglot.el ends here diff --git a/lisp/init-flyspell.el b/lisp/init-flyspell.el index fccada5..e9cec76 100644 --- a/lisp/init-flyspell.el +++ b/lisp/init-flyspell.el @@ -7,12 +7,7 @@ :hook ((git-commit-mode . flyspell-mode) (gfm-mode . flyspell-mode) (org-mode . flyspell-mode) - (latex-mode . flyspell-mode)) - - :config - ;; prefer hunspell - (when (executable-find "hunspell") - (setq ispell-program-name "hunspell"))) + (latex-mode . flyspell-mode))) (use-package flyspell-correct :ensure t diff --git a/lisp/init-org.el b/lisp/init-org.el index 338e68f..dcc4a66 100644 --- a/lisp/init-org.el +++ b/lisp/init-org.el @@ -87,14 +87,6 @@ to `org-goto'." ;; include two weeks in agenda (setq org-agenda-span 'fortnight) - ;; customize agenda - (setq org-agenda-custom-commands - '(;; default view - ("n" "Agenda and all TODOs" ((agenda "") (alltodo ""))) - ;; split by state - ("m" "Agenda and all TODOs split by state" - ((agenda "") (todo "TODO") (todo "WAIT"))))) - ;; set export backends (setq org-export-backends '(ascii html md)) diff --git a/lisp/init-vertico.el b/lisp/init-vertico.el index 36046fd..9695740 100644 --- a/lisp/init-vertico.el +++ b/lisp/init-vertico.el @@ -42,7 +42,7 @@ remote projects." :init ;; enable fuzzy matching ;; https://github.com/minad/vertico/#completion-styles-and-tab-completion - (setq completion-styles '(flex)) + (setq completion-styles '(basic substring partial-completion flex)) :config (vertico-mode 1)) |