From b439300e6a0c4ccc8473c25d4182d3cdb5d4f8d0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 29 Feb 2024 02:01:22 -0500 Subject: [PATCH 01/20] fix(everywhere): commandp error from C-c C-c A temporary fix for an issue introduced upstream. Ref: tecosaur/emacs-everywhere#75 --- modules/app/everywhere/config.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/app/everywhere/config.el b/modules/app/everywhere/config.el index 885495ede..d0512f754 100644 --- a/modules/app/everywhere/config.el +++ b/modules/app/everywhere/config.el @@ -14,6 +14,10 @@ ;; buffers anyway. (setq-hook! 'emacs-everywhere-init-hooks doom-inhibit-local-var-hooks t) + ;; REVIEW: Fixes tecosaur/emacs-everywhere#75. Remove when dealt with + ;; upstream. + (define-key emacs-everywhere-mode-map "\C-c\C-c" #'emacs-everywhere-finish) + (after! doom-modeline (doom-modeline-def-segment emacs-everywhere (concat From 179e300bfdd55d6dc8b002a63481990a1e86b574 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 4 Mar 2024 03:26:07 -0500 Subject: [PATCH 02/20] bump: visual-fill-column https://codeberg.org/joostkremers/visual-fill-column@db7c7c236555 -> emacsmirror/visual-fill-column@5e74afe39d0a codeberg has uptime issues. Where possible, we should prefer Github sources. Fix: #7013 --- modules/editor/word-wrap/packages.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/editor/word-wrap/packages.el b/modules/editor/word-wrap/packages.el index 5b0f9317c..349082221 100644 --- a/modules/editor/word-wrap/packages.el +++ b/modules/editor/word-wrap/packages.el @@ -2,4 +2,6 @@ ;;; editor/word-wrap/packages.el (package! adaptive-wrap :pin "70005d2012ab57c20be03c05aebd49318fe49c99") -(package! visual-fill-column :pin "db7c7c236555c9c684e1294a277efefdc25fa5c4") +(package! visual-fill-column + :recipe (:host github :repo "emacsmirror/visual-fill-column") + :pin "5e74afe39d0afb911dae51af4e7a60ccdf9701f3") From 183ab38926aa1506203ea9ea64f631d598f90b4a Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 4 Mar 2024 03:29:42 -0500 Subject: [PATCH 03/20] bump: spell-fu https://codeberg.org/ideasman42/emacs-spell-fu@e4031935803c -> emacsmirror/spell-fu@e4031935803c codeberg has uptime issues. Where possible, we should prefer Github sources. Ref: #7013 --- modules/checkers/spell/packages.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/checkers/spell/packages.el b/modules/checkers/spell/packages.el index eb2c07269..9226c235c 100644 --- a/modules/checkers/spell/packages.el +++ b/modules/checkers/spell/packages.el @@ -2,7 +2,9 @@ ;;; checkers/spell/packages.el (if (not (modulep! +flyspell)) - (package! spell-fu :pin "e4031935803c66eca2f076dce72b0a6a770d026c") + (package! spell-fu + :recipe (:host github :repo "emacsmirror/spell-fu") + :pin "e4031935803c66eca2f076dce72b0a6a770d026c") (package! flyspell-correct :pin "1e7a5a56362dd875dddf848b9a9e25d1395b9d37") (cond ((modulep! :completion ivy) (package! flyspell-correct-ivy)) From 2757a97a30e7c4a0c2a5d2de13f2214baf09b019 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 4 Mar 2024 05:08:14 -0500 Subject: [PATCH 04/20] fix(org): don't change tab-width in org-mode Recently, org-mode made a non-standard tab-width an error state. Unfortunately, it's way too easy for users to accidentally change it (e.g. with editorconfig, indiscriminate setter hooks, or other packages), and since there is zero reason to ever want a non-standard tab-width in org-mode, I not only exclude it from dtrt-indent as a global default (i.e. not only as part of :lang org), but I add a late org-mode-hook hook to reset tab-width, just in case. --- lisp/doom-editor.el | 7 ++++++- modules/lang/org/config.el | 8 +++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lisp/doom-editor.el b/lisp/doom-editor.el index 2827fde85..e9d460adc 100644 --- a/lisp/doom-editor.el +++ b/lisp/doom-editor.el @@ -2,7 +2,12 @@ ;;; Commentary: ;;; Code: -(defvar doom-detect-indentation-excluded-modes '(pascal-mode so-long-mode) +(defvar doom-detect-indentation-excluded-modes + '(pascal-mode + so-long-mode + ;; Automatic indent detection in org files is meaningless. Not to mention, a + ;; non-standard `tab-width' causes an error in org-mode. + org-mode) "A list of major modes where indentation shouldn't be auto-detected.") (defvar-local doom-inhibit-indent-detection nil diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index 087f95cf6..f88057bf3 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -181,9 +181,6 @@ Is relative to `org-directory', unless it is absolute. Is used in Doom's default ("NO" . +org-todo-cancel) ("KILL" . +org-todo-cancel))) - ;; Automatic indent detection in org files is meaningless - (add-to-list 'doom-detect-indentation-excluded-modes 'org-mode) - (set-ligatures! 'org-mode :name "#+NAME:" :name "#+name:" @@ -1438,6 +1435,11 @@ between the two." :references #'+org-lookup-references-handler :documentation #'+org-lookup-documentation-handler) + ;; HACK: Somehow, users/packages still find a way to modify tab-width in + ;; org-mode. Since org-mode treats a non-standerd tab-width as an error + ;; state, I use this hook to makes it much harder to change by accident. + (add-hook! 'org-mode-hook :depth 110 (setq-local tab-width 8)) + ;; Save target buffer after archiving a node. (setq org-archive-subtree-save-file-p t) From 2e123839d12358895b37e190b1b8419666fb24e0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 4 Mar 2024 22:09:28 -0500 Subject: [PATCH 05/20] bump: :lang rust rust-lang/rust-mode@f74dd1cd8798 -> rust-lang/rust-mode@d8a09f218e24 - Resolves the lingering autoload issue caused by rust-lang/rust-mode@35dc136, and first introduced in rust-lang/rust-mode@08cea61. Ref: rust-lang/rust-mode@35dc13632b31 Ref: rust-lang/rust-mode@08cea6139097 Ref: rust-lang/rust-mode#524 Fix: #7698 --- modules/lang/rust/packages.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/rust/packages.el b/modules/lang/rust/packages.el index c092f3ae3..3a98c7495 100644 --- a/modules/lang/rust/packages.el +++ b/modules/lang/rust/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/rust/packages.el -(package! rust-mode :pin "f74dd1cd87987ea7faf0cfc6240c2284ef9133cb") +(package! rust-mode :pin "8b1ef9f54ff3800170801fefff416e9bddd5b1df") (package! rustic :pin "39423d1cf4fa054c36bf9577356451f4c06ee148") From ff127805d3b9f935076588e97d3e77d17afb6d97 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 4 Mar 2024 22:11:54 -0500 Subject: [PATCH 06/20] bump: :tools magit alphapapa/magit-todos@debb77b3589f -> alphapapa/magit-todos@1e9acc0ba63f magit/forge@3fc6c362b016 -> magit/forge@03b48be2a12a magit/magit@b68e0a3c3388 -> magit/magit@65ecb9c5fc75 --- modules/tools/magit/packages.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/tools/magit/packages.el b/modules/tools/magit/packages.el index 726e6fa6d..b129c8d86 100644 --- a/modules/tools/magit/packages.el +++ b/modules/tools/magit/packages.el @@ -1,12 +1,12 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/magit/packages.el -(when (package! magit :pin "b68e0a3c3388af8daac662f25ccfd3e980590e12") +(when (package! magit :pin "65ecb9c5fc7586a1c527b60d180a97ea230da99f") (when (modulep! +forge) - (package! forge :pin "3fc6c362b0162082317c128c9c3226529f6965ae") + (package! forge :pin "03b48be2a12a282cd47b92287fc1701a81f1cece") (package! code-review :recipe (:host github :repo "doomelpa/code-review" :files ("graphql" "code-review*.el")) :pin "2670a4beb6636e6ee596c5b7cb5e784cf33d5a98")) - (package! magit-todos :pin "debb77b3589f2d83c8b43706edc1f8f90bf1ad91")) + (package! magit-todos :pin "1e9acc0ba63fbc297001bf334d63cb4326be80df")) From b94d14811d069db1da891116b5ab4086359b67d3 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 4 Mar 2024 22:12:09 -0500 Subject: [PATCH 07/20] bump: :tools lsp emacs-lsp/lsp-mode@fb88cc6b8bca -> emacs-lsp/lsp-mode@a5f5ca9a8a4b emacs-straight/eglot@cd4e45b700b1 -> emacs-straight/eglot@24f2bf7b28c3 flycheck/flycheck-eglot@9ff8d0068be5 -> flycheck/flycheck-eglot@114e1315aaf0 --- modules/tools/lsp/packages.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/tools/lsp/packages.el b/modules/tools/lsp/packages.el index a0adf1a2d..c8c0f44b0 100644 --- a/modules/tools/lsp/packages.el +++ b/modules/tools/lsp/packages.el @@ -3,13 +3,13 @@ (if (modulep! +eglot) (progn - (package! eglot :pin "cd4e45b700b117d360aac24d749c3c4a4be3d2e2") + (package! eglot :pin "24f2bf7b28c33e1d677b547956ade5560d27f55f") (when (modulep! :completion vertico) (package! consult-eglot :pin "049c6319b8a48ff66189d49592c7759f0b356596")) (when (and (modulep! :checkers syntax) (not (modulep! :checkers syntax +flymake))) - (package! flycheck-eglot :pin "9ff8d0068be59b1450964b390349d75a68af21ed"))) - (package! lsp-mode :pin "fb88cc6b8bcad4df5dd1d4e5d785adc7663e5c76") + (package! flycheck-eglot :pin "114e1315aaf0dc3196da67da426bbe2b46384fe2"))) + (package! lsp-mode :pin "a5f5ca9a8a4b2ceaf236457bf2524f94c183c2f2") (package! lsp-ui :pin "bc58c6664577d1d79060c6b32b7ad20e70ee19d0") (when (modulep! :completion ivy) (package! lsp-ivy :pin "9ecf4dd9b1207109802bd1882aa621eb1c385106")) From 3dbdcb7947b8cfbc47d0790180de27ad0725a407 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 4 Mar 2024 22:20:17 -0500 Subject: [PATCH 08/20] fix: define doom-font-error Was meant to be in 98d753e. Amend: 98d753e1036f --- lisp/doom-lib.el | 1 + 1 file changed, 1 insertion(+) diff --git a/lisp/doom-lib.el b/lisp/doom-lib.el index 561eb2070..c33edede1 100644 --- a/lisp/doom-lib.el +++ b/lisp/doom-lib.el @@ -4,6 +4,7 @@ ;;; Custom error types (define-error 'doom-error "An unexpected Doom error") +(define-error 'doom-font-error "Could not find a font on your system" 'doom-error) (define-error 'doom-nosync-error "Doom hasn't been initialized yet; did you remember to run 'doom sync' in the shell?" 'doom-error) (define-error 'doom-core-error "Unexpected error in Doom's core" 'doom-error) (define-error 'doom-hook-error "Error in a Doom startup hook" 'doom-error) From 44bc88ec3986d477c64c405ed9bbae2981fd8141 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 4 Mar 2024 22:28:47 -0500 Subject: [PATCH 09/20] bump: code-review doomelpa/code-review@2670a4beb663 -> doomelpa/code-review@e4c34fa284da Ref: doomelpa/code-review@e4c34fa284da --- modules/tools/magit/packages.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tools/magit/packages.el b/modules/tools/magit/packages.el index b129c8d86..6bc86d4e5 100644 --- a/modules/tools/magit/packages.el +++ b/modules/tools/magit/packages.el @@ -8,5 +8,5 @@ :recipe (:host github :repo "doomelpa/code-review" :files ("graphql" "code-review*.el")) - :pin "2670a4beb6636e6ee596c5b7cb5e784cf33d5a98")) + :pin "e4c34fa284da25d8e0bafbae4300f1db5bdcda44")) (package! magit-todos :pin "1e9acc0ba63fbc297001bf334d63cb4326be80df")) From 2324ff4bb7e20fd0ed29a9ae05e4cd08ccc2c7f7 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 4 Mar 2024 22:56:58 -0500 Subject: [PATCH 10/20] bump: :lang rust rust-lang/rust-mode@f74dd1cd8798 -> rust-lang/rust-mode@d8a09f218e24 There was a mishap with the last bump (2e12383), and rust-mode was bumped to the wrong commit. Amend: 2e123839d123 --- modules/lang/rust/packages.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/rust/packages.el b/modules/lang/rust/packages.el index 3a98c7495..7d85ffe26 100644 --- a/modules/lang/rust/packages.el +++ b/modules/lang/rust/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/rust/packages.el -(package! rust-mode :pin "8b1ef9f54ff3800170801fefff416e9bddd5b1df") +(package! rust-mode :pin "d8a09f218e24407acbc9f36c641be4f913f1a63c") (package! rustic :pin "39423d1cf4fa054c36bf9577356451f4c06ee148") From 9f198978f8a37d430175025b1c48418fd83bf268 Mon Sep 17 00:00:00 2001 From: Liam Hupfer Date: Sun, 3 Mar 2024 18:43:10 -0600 Subject: [PATCH 11/20] fix(biblio): avoid 'oc-csl dependency cycle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Relevant portion of the dependency graph: 'oc-csl → 'citeproc → 'citeproc-itemgetters → 'org → 'org-keys → 'oc The :after linked 'oc to 'oc-csl so 'org-keys could load 'org. `+org-init-keybinds-h' could then execute before the body of 'org-keys, so Org default bindings could clobber Doom bindings. If the top-level 'org started the load sequence, `org-load-hook' functions would execute last and key bindings would be correct, but Doom’s deferred incremental loading of Org could lead to this scenario: 1. deferred incremental loader: (require 'org-src) 2. org-src.el: (require 'org-keys) 3. org-keys.el: (require 'oc) 4. oc.el: (provide 'oc): (require 'oc-csl) [via the :after this patch removes] 5. oc-csl.el: (require 'citeproc) 6. citeproc.el: (require 'citeproc-itemgetters) 7. citeproc-itemgetters.el: (require 'org) 8. org.el: (require 'org-keys) 9. 'org-keys from step 8 finishes loading. Keys are bound. 10. 'org finishes loading. `org-load-hook' functions are run. Doom’s keys are bound. 11. 'oc-csl finishes loading 12. 'org-keys from step 3 finishes loading. Keys are bound again, overwriting any keys Doom bound in step 10. 13. 'org-src finishes loading At some point, the deferred incremental loader will (require 'org), but it is a feature as of step 10, so it does not load and its hooks do not run again. --- modules/tools/biblio/config.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/tools/biblio/config.el b/modules/tools/biblio/config.el index a37263e7e..b73e0666f 100644 --- a/modules/tools/biblio/config.el +++ b/modules/tools/biblio/config.el @@ -78,7 +78,9 @@ ;; `org-cite' processors (use-package! oc-biblatex :after oc) -(use-package! oc-csl :after oc) +;; oc-csl requires citeproc, which requires the top-level org, so loading oc-csl +;; after oc interferes with incremental loading of Org +(use-package! oc-csl :after org) (use-package! oc-natbib :after oc) From 0fc32ed881e8b2fc8cd41c21c5f2977e160de06a Mon Sep 17 00:00:00 2001 From: Liam Hupfer Date: Sun, 3 Mar 2024 23:38:19 -0600 Subject: [PATCH 12/20] perf(biblio): do not load oc-natbib by default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit natbib isn’t part of the default `org-cite-export-processors', so leave it to users to load if they enable it. --- modules/tools/biblio/config.el | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/tools/biblio/config.el b/modules/tools/biblio/config.el index b73e0666f..2a02a994f 100644 --- a/modules/tools/biblio/config.el +++ b/modules/tools/biblio/config.el @@ -81,7 +81,6 @@ ;; oc-csl requires citeproc, which requires the top-level org, so loading oc-csl ;; after oc interferes with incremental loading of Org (use-package! oc-csl :after org) -(use-package! oc-natbib :after oc) ;; From 2b2901593e00c999bded3fecd1b08192a1b821fe Mon Sep 17 00:00:00 2001 From: Liam Hupfer Date: Sun, 3 Mar 2024 23:55:40 -0600 Subject: [PATCH 13/20] refactor(biblio): tidy use-package usage :after can be misleading, so avoid it. :no-require is for working around byte compilation issues; deferral is sufficient here. Ref: https://github.com/jwiegley/use-package/issues/829 --- modules/tools/biblio/config.el | 41 +++++++++++++++------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/modules/tools/biblio/config.el b/modules/tools/biblio/config.el index 2a02a994f..61caf6677 100644 --- a/modules/tools/biblio/config.el +++ b/modules/tools/biblio/config.el @@ -3,9 +3,7 @@ ;; ;;; `org-cite' -(use-package! oc - :defer t - :config +(after! oc (setq org-cite-global-bibliography (ensure-list (or (bound-and-true-p citar-bibliography) @@ -13,16 +11,30 @@ ;; Setup export processor; default csl/citeproc-el, with biblatex for ;; latex org-cite-export-processors '((latex biblatex) (t csl)) - org-support-shift-select t)) + org-support-shift-select t) + + (require 'oc-biblatex)) + +;; oc-csl requires citeproc, which requires the top-level org, so loading oc-csl +;; after oc interferes with incremental loading of Org +(after! org (require 'oc-csl)) (use-package! citar :when (modulep! :completion vertico) - :no-require - :config + :defer t + :init (setq org-cite-insert-processor 'citar org-cite-follow-processor 'citar org-cite-activate-processor 'citar) + + :config + (after! embark + (citar-embark-mode)) + + (after! org-roam + (citar-org-roam-mode)) + (when (modulep! :completion vertico +icons) (defvar citar-indicator-files-icons (citar-indicator-create @@ -65,23 +77,6 @@ citar-indicator-notes-icons citar-indicator-cited-icons)))) -(use-package! citar-embark - :when (modulep! :completion vertico) - :after citar embark - :config (citar-embark-mode)) - -(use-package! citar-org-roam - :when (and (modulep! +roam2) - (modulep! :completion vertico)) - :after citar org-roam - :config (citar-org-roam-mode)) - -;; `org-cite' processors -(use-package! oc-biblatex :after oc) -;; oc-csl requires citeproc, which requires the top-level org, so loading oc-csl -;; after oc interferes with incremental loading of Org -(use-package! oc-csl :after org) - ;; ;;; Third-party From c03113906a6152ff232dc8c7c53513d97951a7fe Mon Sep 17 00:00:00 2001 From: StrawberryTea Date: Tue, 5 Mar 2024 00:11:19 -0600 Subject: [PATCH 14/20] fix(dired): hide flycheck temp files --- modules/emacs/dired/config.el | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/emacs/dired/config.el b/modules/emacs/dired/config.el index b23fc20f2..e8dbbfacd 100644 --- a/modules/emacs/dired/config.el +++ b/modules/emacs/dired/config.el @@ -179,6 +179,7 @@ we have to clean it up ourselves." dired-omit-files (concat dired-omit-files "\\|^\\.DS_Store\\'" + "\\|^flycheck_.*" "\\|^\\.project\\(?:ile\\)?\\'" "\\|^\\.\\(?:svn\\|git\\)\\'" "\\|^\\.ccls-cache\\'" From 5d77d317a37ed2d3211115763d34d4183c4c0d9f Mon Sep 17 00:00:00 2001 From: Krzysztof Baranowski Date: Mon, 4 Mar 2024 22:12:34 -0800 Subject: [PATCH 15/20] fix(clojure): obsolete ref to cider-repl-print-length cider-repl-print-length has been obsolete for a long time. --- modules/lang/clojure/config.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/clojure/config.el b/modules/lang/clojure/config.el index 832fa659e..96238d2fa 100644 --- a/modules/lang/clojure/config.el +++ b/modules/lang/clojure/config.el @@ -79,6 +79,7 @@ nrepl-log-messages nil cider-font-lock-dynamically '(macro core function var deprecated) cider-overlays-use-font-lock t + cider-print-options '(("length" 100)) cider-prompt-for-symbol nil cider-repl-history-display-duplicates nil cider-repl-history-display-style 'one-line @@ -88,7 +89,6 @@ cider-repl-history-highlight-inserted-item t cider-repl-history-size 1000 cider-repl-result-prefix ";; => " - cider-repl-print-length 100 cider-repl-use-clojure-font-lock t cider-repl-use-pretty-printing t cider-repl-wrap-history nil From 78b85b8a72bd33ceda8071df37b3243907b633f1 Mon Sep 17 00:00:00 2001 From: 45mm <45mm.cartridge421@slmail.me> Date: Mon, 5 Feb 2024 16:40:47 +0530 Subject: [PATCH 16/20] fix(vertico): mapping for embark open in workspace We should always bind to both "TAB" and "" - if they have been mapped to different commands anywhere, Emacs will no longer treat them as equivalent. --- modules/completion/vertico/config.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/completion/vertico/config.el b/modules/completion/vertico/config.el index 59c8d284d..44d853b80 100644 --- a/modules/completion/vertico/config.el +++ b/modules/completion/vertico/config.el @@ -304,7 +304,8 @@ orderless." (:when (modulep! :tools magit) :desc "Open magit-status of target" "g" #'+vertico/embark-magit-status) (:when (modulep! :ui workspaces) - :desc "Open in new workspace" "TAB" #'+vertico/embark-open-in-new-workspace)))) + :desc "Open in new workspace" "TAB" #'+vertico/embark-open-in-new-workspace + :desc "Open in new workspace" "" #'+vertico/embark-open-in-new-workspace)))) (use-package! marginalia From 645c856de0cd9e0e419e22b7c00f3146009b55c5 Mon Sep 17 00:00:00 2001 From: StrawberryTea Date: Sat, 14 Oct 2023 14:21:02 -0500 Subject: [PATCH 17/20] fix(popup): allow killing popup buffers Currently, `SPC b k` does not allow us to kill popup buffers. If we are say using a comint/eshell/eat buffer and we borked the state while testing hooks or we sent EOF to the underlying process, our intention with `SPC b k` is to kill the underlying buffer. --- lisp/doom-ui.el | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lisp/doom-ui.el b/lisp/doom-ui.el index ef5091ed0..2bfdc3d8c 100644 --- a/lisp/doom-ui.el +++ b/lisp/doom-ui.el @@ -210,10 +210,7 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original `kill-current-buffer'." :before-until #'kill-current-buffer (let ((buf (current-buffer))) - (cond ((window-dedicated-p) - (delete-window) - t) - ((eq buf (doom-fallback-buffer)) + (cond ((eq buf (doom-fallback-buffer)) (message "Can't kill the fallback buffer.") t) ((doom-real-buffer-p buf) From 47dc59f3b21fe150033c62974ba2642610bcd9ae Mon Sep 17 00:00:00 2001 From: Yejun Su Date: Wed, 11 Oct 2023 10:18:34 +0800 Subject: [PATCH 18/20] fix(nix): make doctor check against nix-nixfmt-bin --- modules/lang/nix/doctor.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/lang/nix/doctor.el b/modules/lang/nix/doctor.el index 043ce4c8c..fe1b18b35 100644 --- a/modules/lang/nix/doctor.el +++ b/modules/lang/nix/doctor.el @@ -4,8 +4,9 @@ (unless (executable-find "nix") (warn! "Couldn't find the nix package manager. nix-mode won't work.")) -(unless (executable-find "nixfmt") - (warn! "Couldn't find nixfmt. nix-format-buffer won't work.")) +(when (require 'nix-mode nil t) + (unless (executable-find nix-nixfmt-bin) + (warn! (concat "Couldn't find " nix-nixfmt-bin ". nix-format-buffer won't work.")))) (assert! (or (not (modulep! +tree-sitter)) (modulep! :tools tree-sitter)) From bea81278fd2ecb65db6a63dbcd6db2f52921ee41 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 4 Mar 2024 23:08:33 -0500 Subject: [PATCH 19/20] bump: :checkers syntax flycheck/flycheck@e56e30d8c66f -> flycheck/flycheck@02148c6ce7ed Close: #7680 Co-authored-by: vitallium --- modules/checkers/syntax/packages.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/checkers/syntax/packages.el b/modules/checkers/syntax/packages.el index bd708b566..a22c59a84 100644 --- a/modules/checkers/syntax/packages.el +++ b/modules/checkers/syntax/packages.el @@ -2,7 +2,7 @@ ;;; checkers/syntax/packages.el (unless (modulep! +flymake) - (package! flycheck :pin "e56e30d8c66ffc9776d07740658d3b542c1a8e21") + (package! flycheck :pin "02148c6ce7edb0fd0986460db327cc9463939747") (package! flycheck-popup-tip :pin "ef86aad907f27ca076859d8d9416f4f7727619c6") (when (modulep! +childframe) (package! flycheck-posframe :pin "19896b922c76a0f460bf3fe8d8ebc2f9ac9028d8"))) From d657be1744a1481dc4646d0b62d5ee1d3e75d1d8 Mon Sep 17 00:00:00 2001 From: Dev380 <49997896+Dev380@users.noreply.github.com> Date: Fri, 8 Mar 2024 20:21:36 -0500 Subject: [PATCH 20/20] feat(vertico): completion highlights a la ivy * feat(vertico): completion highlights a la ivy Adds completion highlighting that works similarly to ivy/counsel's one (which is enabled by default). It'll highlight enabled major/minor modes and directories in a different face. On by default. Ref: https://github.com/minad/vertico/wiki#candidate-display-transformations-custom-candidate-highlighting * fix(vertico): major mode not being highlighted The major mode was not being highlighted correctly; it should work now that the buffer is set correctly in `+vertico-highlight-enabled-mode`. * fix(vertico): make font lock prioritize match over type The mode and directory highlights were [overriding the match font-lock](https://github.com/doomemacs/doomemacs/pull/7706#issuecomment-1977722188). This should resolve that by prioritizing the match font lock using `'append` on `add-face-text-property` instead of `propertize`. --- modules/completion/vertico/config.el | 40 ++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/modules/completion/vertico/config.el b/modules/completion/vertico/config.el index 44d853b80..89f30a5c1 100644 --- a/modules/completion/vertico/config.el +++ b/modules/completion/vertico/config.el @@ -341,3 +341,43 @@ orderless." :hook (vertico-mode . vertico-posframe-mode) :config (add-hook 'doom-after-reload-hook #'posframe-delete-all)) + +;; From https://github.com/minad/vertico/wiki#candidate-display-transformations-custom-candidate-highlighting +;; +;; Uses `add-face-text-property' instead of `propertize' unlike the above snippet +;; because `'append' is necessary to not override the match font lock +;; See: https://github.com/minad/vertico/issues/389 +(use-package! vertico-multiform + :hook (vertico-mode . vertico-multiform-mode) + :config + (defvar +vertico-transform-functions nil) + + (cl-defmethod vertico--format-candidate :around + (cand prefix suffix index start &context ((not +vertico-transform-functions) null)) + (dolist (fun (ensure-list +vertico-transform-functions)) + (setq cand (funcall fun cand))) + (cl-call-next-method cand prefix suffix index start)) + + (defun +vertico-highlight-directory (file) + "If FILE ends with a slash, highlight it as a directory." + (when (string-suffix-p "/" file) + (add-face-text-property 0 (length file) 'marginalia-file-priv-dir 'append file)) + file) + + (defun +vertico-highlight-enabled-mode (cmd) + "If MODE is enabled, highlight it as font-lock-constant-face." + (let ((sym (intern cmd))) + (with-current-buffer (nth 1 (buffer-list)) + (if (or (eq sym major-mode) + (and + (memq sym minor-mode-list) + (boundp sym))) + (add-face-text-property 0 (length cmd) 'font-lock-constant-face 'append cmd))) + cmd)) + + (add-to-list 'vertico-multiform-categories + '(file + (+vertico-transform-functions . +vertico-highlight-directory))) + (add-to-list 'vertico-multiform-commands + '(execute-extended-command + (+vertico-transform-functions . +vertico-highlight-enabled-mode))))