From e2cd50cd0c8bd6800023509a4481beaa0a31f19d Mon Sep 17 00:00:00 2001 From: Matt Nish-Lapidus Date: Fri, 5 Apr 2024 14:34:14 -0400 Subject: [PATCH] dev: merging from main --- README.md | 4 +- lisp/cli/packages.el | 51 ++++---- lisp/cli/upgrade.el | 2 +- lisp/doom-lib.el | 2 +- lisp/doom-ui.el | 1 - lisp/doom.el | 163 ++++++++++++------------- lisp/lib/files.el | 30 +++-- modules/completion/company/packages.el | 4 +- modules/completion/corfu/README.org | 8 ++ modules/completion/corfu/packages.el | 4 +- modules/completion/helm/packages.el | 4 +- modules/completion/ivy/packages.el | 4 +- modules/completion/vertico/config.el | 3 + modules/completion/vertico/packages.el | 12 +- modules/editor/evil/packages.el | 10 +- modules/editor/fold/autoload/fold.el | 24 +++- modules/editor/fold/config.el | 2 +- modules/editor/snippets/packages.el | 4 +- modules/emacs/vc/packages.el | 4 +- modules/email/mu4e/config.el | 75 +----------- modules/email/mu4e/packages.el | 2 - modules/lang/cc/config.el | 3 +- modules/lang/common-lisp/config.el | 5 + modules/lang/common-lisp/packages.el | 3 + modules/lang/graphql/README.org | 2 +- modules/lang/org/config.el | 2 +- modules/lang/org/contrib/dragndrop.el | 33 +---- modules/lang/scala/packages.el | 4 +- modules/lang/web/+css.el | 3 +- modules/term/eshell/packages.el | 6 +- modules/tools/ansible/packages.el | 6 +- modules/tools/biblio/packages.el | 12 +- modules/tools/debugger/packages.el | 2 +- modules/tools/direnv/packages.el | 2 +- modules/tools/docker/packages.el | 2 +- modules/tools/editorconfig/packages.el | 2 +- modules/tools/eval/packages.el | 2 +- modules/tools/lookup/packages.el | 2 +- modules/tools/lsp/packages.el | 8 +- modules/tools/magit/packages.el | 4 +- modules/tools/pdf/packages.el | 4 +- modules/tools/terraform/packages.el | 2 +- modules/tools/tree-sitter/packages.el | 2 +- modules/ui/neotree/config.el | 2 +- modules/ui/popup/autoload/popup.el | 2 +- 45 files changed, 232 insertions(+), 296 deletions(-) diff --git a/README.md b/README.md index bad317d39..f2fb96166 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Includes: [Install](#install) • [Documentation] • [FAQ] • [Screenshots] • [Contribute](#contribute) ![Made with Doom Emacs](https://img.shields.io/github/tag/doomemacs/doomemacs.svg?style=flat-square&label=release&color=58839b) -![Supports Emacs 27.1–29.2](https://img.shields.io/badge/Supports-Emacs_27.1–29.2-blueviolet.svg?style=flat-square&logo=GNU%20Emacs&logoColor=white) +![Supports Emacs 27.1–29.3](https://img.shields.io/badge/Supports-Emacs_27.1–29.3-blueviolet.svg?style=flat-square&logo=GNU%20Emacs&logoColor=white) ![Latest commit](https://img.shields.io/github/last-commit/doomemacs/doomemacs/master?style=flat-square) ![Build status: master](https://img.shields.io/github/workflow/status/doomemacs/doomemacs/CI/master?style=flat-square) [![Discord Server](https://img.shields.io/discord/406534637242810369?color=738adb&label=Discord&logo=discord&logoColor=white&style=flat-square)][Discord] @@ -107,7 +107,7 @@ Check out [the FAQ][FAQ] for answers to common questions about the project. # Prerequisites - Git 2.23+ -- Emacs 27.1–29.2 (**Recommended: 29.2 + +- Emacs 27.1–29.3 (**Recommended: 29.3 + [native-comp](https://www.emacswiki.org/emacs/GccEmacs)**) - [ripgrep] 11.0+ - GNU `find` diff --git a/lisp/cli/packages.el b/lisp/cli/packages.el index 7c1290101..2f81d22b5 100644 --- a/lisp/cli/packages.el +++ b/lisp/cli/packages.el @@ -315,39 +315,36 @@ list remains lean." (doom-packages--cli-recipes-update)) (condition-case-unless-debug e (let ((straight-vc-git-post-clone-hook - (cons (lambda! (&key repo-dir commit) + (cons (lambda! (&key commit) (print-group! (if-let (pin (cdr (assoc package pinned))) (print! (item "Pinned to %s") pin) (when commit - (print! (item "Checked out %s") commit)))) - ;; HACK: Line encoding issues can plague - ;; repos with dirty worktree prompts - ;; when updating packages or "Local - ;; variables entry is missing the - ;; suffix" errors when installing them - ;; (see #2637), so have git handle - ;; conversion by force. - (when (and doom--system-windows-p (stringp repo-dir)) - (let ((default-directory repo-dir)) - (when (file-in-directory-p default-directory straight-base-dir) - (straight--process-run "git" "config" "core.autocrlf" "true"))))) + (print! (item "Checked out %s") commit))))) straight-vc-git-post-clone-hook))) (straight-use-package (intern package)) - ;; HACK: Straight can sometimes fail to clone a repo, - ;; leaving behind an empty directory which, in future - ;; invocations, it will assume indicates a successful - ;; clone (causing load errors later). - (let ((try 0)) - (while (or (not (file-directory-p repo-dir)) - (directory-empty-p repo-dir)) - (when (= try 3) - (error "Failed to clone package")) - (print! "Failed to clone %S, trying again (attempt #%d)..." package (1+ try)) - (delete-directory repo-dir t) - (delete-directory build-dir t) - (straight-use-package (intern package)) - (cl-incf try)))) + (when (file-in-directory-p repo-dir straight-base-dir) + ;; HACK: Straight can sometimes fail to clone a repo, + ;; leaving behind an empty directory which, in + ;; future invocations, it will assume indicates a + ;; successful clone (causing load errors later). + (let ((try 0)) + (while (not (file-directory-p (doom-path repo-dir ".git"))) + (when (= try 3) + (error "Failed to clone package")) + (print! (warn "Failed to clone %S, trying again (attempt #%d)...") package (1+ try)) + (delete-directory repo-dir t) + (delete-directory build-dir t) + (straight-use-package (intern package)) + (cl-incf try))) + ;; HACK: Line encoding issues can plague repos with + ;; dirty worktree prompts when updating packages or + ;; "Local variables entry is missing the suffix" + ;; errors when installing them (see #2637), so have + ;; git handle conversion by force. + (when doom--system-windows-p + (let ((default-directory repo-dir)) + (straight--process-run "git" "config" "core.autocrlf" "true"))))) (error (signal 'doom-package-error (list package e))))))) (progn diff --git a/lisp/cli/upgrade.el b/lisp/cli/upgrade.el index 13614c62a..c44b300e9 100644 --- a/lisp/cli/upgrade.el +++ b/lisp/cli/upgrade.el @@ -34,7 +34,7 @@ following shell commands: (let* ((force? (doom-cli-context-suppress-prompts-p context)) (sync-cmd (append '("sync" "-u") (if nobuild? '("-B")) - (if jobs `("-j" ,num))))) + (if jobs `("-j" ,jobs))))) (cond (packages? ;; HACK It's messy to use straight to upgrade straight, due to the diff --git a/lisp/doom-lib.el b/lisp/doom-lib.el index 9f996d3e7..fd6f34967 100644 --- a/lisp/doom-lib.el +++ b/lisp/doom-lib.el @@ -936,7 +936,7 @@ VARIABLES is a list of variable settings of the form (VAR VALUE), where VAR is the name of the variable (a string) and VALUE is its value (also a string). -The previous values will be be restored upon exit." +The previous values will be restored upon exit." (declare (indent 1) (debug (sexp body))) (unless (consp variables) (error "Invalid VARIABLES: %s" variables)) diff --git a/lisp/doom-ui.el b/lisp/doom-ui.el index 64db32afd..f449cde2a 100644 --- a/lisp/doom-ui.el +++ b/lisp/doom-ui.el @@ -95,7 +95,6 @@ want to change your symbol font, use `doom-symbol-font'.") (inhibit-redisplay t)) (run-hooks 'doom-switch-buffer-hook))) -(defvar doom--last-frame nil) (defun doom-run-switch-window-or-frame-hooks-h (&optional _) (let ((gc-cons-threshold most-positive-fixnum) (inhibit-redisplay t)) diff --git a/lisp/doom.el b/lisp/doom.el index 9545c215a..70873316d 100644 --- a/lisp/doom.el +++ b/lisp/doom.el @@ -201,7 +201,7 @@ "Current version of Doom Emacs core.") ;; DEPRECATED: Remove these when the modules are moved out of core. -(defconst doom-modules-version "24.03.0-pre" +(defconst doom-modules-version "24.04.0-pre" "Current version of Doom Emacs.") (defvar doom-init-time nil @@ -352,12 +352,12 @@ users).") ;;; Startup optimizations ;; Here are Doom's hackiest (and least offensive) startup optimizations. They -;; exploit implementation details and unintended side-effects, and will change -;; often between major Emacs releases. However, I disable them if this is a -;; daemon session (where startup time matters less). +;; exploit implementation details and unintended side-effects in Emacs' startup +;; process, and will change often between major Emacs releases. However, I +;; disable them if this is a daemon session (where startup time matters less). ;; ;; Most of these have been tested on Linux and on fairly fast machines (with -;; SSDs), so your mileage may vary depending on your hardware. +;; SSDs), so your mileage may vary depending on hardware and `window-system'. (unless (daemonp) ;; PERF: `file-name-handler-alist' is consulted on each call to `require', ;; `load', or various file/io functions (like `expand-file-name' or @@ -366,14 +366,13 @@ users).") (let ((old-value (default-toplevel-value 'file-name-handler-alist))) (set-default-toplevel-value 'file-name-handler-alist - ;; HACK: If the bundled elisp for this Emacs install isn't byte-compiled - ;; (but is compressed), then leave the gzip file handler there so Emacs - ;; won't forget how to read read them. - ;; - ;; calc-loaddefs.el is our heuristic for this because it is built-in to - ;; all supported versions of Emacs, and calc.el explicitly loads it - ;; uncompiled. This ensures that the only other, possible fallback would - ;; be calc-loaddefs.el.gz. + ;; HACK: The libraries bundled with Emacs can either be compiled, + ;; compressed, or neither. We use calc-loaddefs.el as a heuristic to + ;; guess what state all these libraries are in. If they're compressed, we + ;; need to leave the gzip file handler in `file-name-handler-alist' so + ;; Emacs knows how to load them. If they're compiled or neither, we can + ;; omit the gzip handler altogether (at least during startup) for a boost + ;; in startup and package load time. (if (eval-when-compile (locate-file-internal "calc-loaddefs.el" load-path)) nil @@ -395,55 +394,46 @@ users).") (unless noninteractive ;; PERF: Resizing the Emacs frame (to accommodate fonts that are smaller or ;; larger than the system font) appears to impact startup time - ;; dramatically. The larger the delta in font size, the greater the delay. - ;; Even trivial deltas can yield a ~1000ms loss, though it varies wildly - ;; depending on font size. + ;; dramatically. The larger the delta, the greater the delay. Even trivial + ;; deltas can yield up to a ~1000ms loss, depending on font size and + ;; `window-system'. PGTK seems least affected and NS/MAC the most. (setq frame-inhibit-implied-resize t) - ;; PERF,UX: Reduce *Message* noise at startup. An empty scratch buffer (or - ;; the dashboard) is more than enough, and faster to display. + ;; PERF: A fair bit of startup time goes into initializing the splash and + ;; scratch buffers in the typical Emacs session (b/c they activate a + ;; non-trivial major mode, generate the splash buffer, and trigger + ;; premature frame redraws by writing to *Messages*). These hacks prevent + ;; most of this work from happening for some decent savings in startup + ;; time. Our dashboard and `doom/open-scratch-buffer' provide a faster + ;; (and more useful) alternative anyway. (setq inhibit-startup-screen t - inhibit-startup-echo-area-message user-login-name) - ;; PERF,UX: Remove "For information about GNU Emacs..." message at startup. - ;; It's redundant with our dashboard and incurs a premature redraw. + inhibit-startup-echo-area-message user-login-name + initial-major-mode 'fundamental-mode + initial-scratch-message nil) + ;; PERF,UX: Prevent "For information about GNU Emacs..." line in *Messages*. (advice-add #'display-startup-echo-area-message :override #'ignore) ;; PERF: Suppress the vanilla startup screen completely. We've disabled it ;; with `inhibit-startup-screen', but it would still initialize anyway. - ;; This involves some file IO and/or bitmap work (depending on the frame - ;; type) that we can no-op for a free 50-100ms boost in startup time. + ;; This involves file IO and/or bitmap work (depending on the frame type) + ;; that we can no-op for a free 50-100ms saving in startup time. (advice-add #'display-startup-screen :override #'ignore) - ;; PERF: Shave seconds off startup time by starting the scratch buffer in - ;; `fundamental-mode', rather than, say, `org-mode' or `text-mode', which - ;; pull in a ton of packages. This buffer is created whether or not we're - ;; in an interactive session. Plus, `doom/open-scratch-buffer' provides a - ;; better scratch buffer, so keep the initial one blank. - (setq initial-major-mode 'fundamental-mode - initial-scratch-message nil) - (unless initial-window-system - ;; PERF: Inexplicably, `tty-run-terminal-initialization' can sometimes - ;; take 2-3s when starting up Emacs in the terminal. Whatever slows it - ;; down at startup doesn't appear to affect it if it's called a little - ;; later in the startup process, so that's what I do. - ;; REVIEW: This optimization is not well understood. Investigate it! + ;; PERF: `tty-run-terminal-initialization' can take 2-3s when starting up + ;; TTY Emacs (non-daemon sessions), depending on your TERM, TERMINFO, + ;; and TERMCAP, but this work isn't very useful on modern systems (the + ;; type I expect Doom's users to be using). The function seems less + ;; expensive if run later in the startup process, so I defer it. + ;; REVIEW: This may no longer be needed in 29+. Needs testing! (define-advice tty-run-terminal-initialization (:override (&rest _) defer) (advice-remove #'tty-run-terminal-initialization #'tty-run-terminal-initialization@defer) (add-hook 'window-setup-hook (doom-partial #'tty-run-terminal-initialization (selected-frame) nil t)))) - ;; PERF,UX: Site files tend to use `load-file', which emits "Loading X..." - ;; messages in the echo area. Writing to the echo-area triggers a - ;; redisplay, which can be expensive during startup. This may also cause - ;; an flash of white when creating the first frame. Needs to be undo - ;; later, though. - (define-advice load-file (:override (file) silence) - (load file nil 'nomessage)) - - ;; PERF: `load-suffixes' and `load-file-rep-suffixes' are consulted on - ;; each `require' and `load'. Doom won't load any modules this early, so - ;; omit .so for a tiny startup boost. Is later restored in doom-start. + ;; PERF: `load-suffixes' and `load-file-rep-suffixes' are consulted on each + ;; `require' and `load'. Doom won't load any modules this early, so omit + ;; .so for a tiny startup boost. Is later restored in doom-start. (put 'load-suffixes 'initial-value (default-toplevel-value 'load-suffixes)) (put 'load-file-rep-suffixes 'initial-value (default-toplevel-value 'load-file-rep-suffixes)) (set-default-toplevel-value 'load-suffixes '(".elc" ".el")) @@ -455,35 +445,34 @@ users).") (setq load-suffixes (get 'load-suffixes 'initial-value) load-file-rep-suffixes (get 'load-file-rep-suffixes 'initial-value)))) - ;; PERF: Doom uses `defcustom' to indicate variables that users are - ;; expected to reconfigure. Trouble is it fires off initializers meant - ;; to accommodate any user attempts to configure them before they were - ;; defined. This is unnecessary work before $DOOMDIR/init.el is loaded, - ;; so I disable them until it is. + ;; PERF: Doom uses `defcustom' merely to announce variables that users may + ;; reconfigure. Trouble is it fires off initializers meant to accommodate + ;; any user attempts to configure them *before* they are defined, which + ;; isn't possible since the user's first opportunity to modify them comes + ;; long after they're defined (in $DOOMDIR/init.el), so this is + ;; unnecessary work. To spare Emacs the startup time, I disable this + ;; behavior until $DOOMDIR is loaded. (setq custom-dont-initialize t) (add-hook! 'doom-before-init-hook (defun doom--reset-custom-dont-initialize-h () (setq custom-dont-initialize nil))) - ;; PERF: Doom disables the UI elements by default, so that there's less - ;; for the frame to initialize. However, the toolbar is still populated - ;; regardless, so I lazy load it until tool-bar-mode is actually used. - (advice-add #'tool-bar-setup :override #'ignore) - - ;; PERF: The mode-line procs a couple dozen times during startup. This is - ;; normally quite fast, but disabling the default mode-line and reducing - ;; the update delay timer seems to stave off ~30-50ms. + ;; PERF: The mode-line procs a couple dozen times during startup, before the + ;; user can even see the first mode-line. This is normally fast, but we + ;; can't predict what the user (or packages) will put into the mode-line. + ;; Also, mode-line packages have a bad habit of throwing performance to + ;; the wind, so best we just disable the mode-line until we can see one. (put 'mode-line-format 'initial-value (default-toplevel-value 'mode-line-format)) (setq-default mode-line-format nil) (dolist (buf (buffer-list)) (with-current-buffer buf (setq mode-line-format nil))) - ;; PERF,UX: Premature redisplays can substantially affect startup times - ;; and/or produce ugly flashes of unstyled Emacs. + ;; PERF,UX: Premature redisplays/redraws can substantially affect startup + ;; times and/or flash a white/unstyled Emacs frame during startup, so I + ;; try real hard to suppress them until we're sure the session is ready. (setq-default inhibit-redisplay t inhibit-message t) - ;; COMPAT: Then reset with advice, because `startup--load-user-init-file' - ;; will never be interrupted by errors. And if these settings are left - ;; set, Emacs could appear frozen or garbled. + ;; COMPAT: If the above vars aren't reset, Emacs could appear frozen or + ;; garbled after startup (or in case of an startup error). (defun doom--reset-inhibited-vars-h () (setq-default inhibit-redisplay nil ;; Inhibiting `message' only prevents redraws and @@ -491,35 +480,43 @@ users).") (redraw-frame)) (add-hook 'after-init-hook #'doom--reset-inhibited-vars-h) - ;; PERF,UX: An annoying aspect of site-lisp files is that they're often - ;; noisy (they emit load messages or other output to stdout). These - ;; queue unnecessary redraws at startup, cost startup time, and pollute - ;; the logs. I get around it by suppressing it until we can load it - ;; manually, later (in the `startup--load-user-init-file' advice below). + ;; PERF: Doom disables the UI elements by default, so that there's less for + ;; the frame to initialize. However, `tool-bar-setup' is still called and + ;; it does some non-trivial work to set up the toolbar before we can + ;; disable it. To side-step this work, I disable the function and call it + ;; later (see `startup--load-user-init-file@undo-hacks'). + (advice-add #'tool-bar-setup :override #'ignore) + + ;; PERF,UX: site-lisp files are often obnoxiously noisy (emitting load + ;; messages or other output to *Messages* or stdout). These queue + ;; unnecessary redraws at startup which impact startup time depending on + ;; window system. It also pollutes the logs. By suppressing it now, I can + ;; load it myself, later, in a more controlled way (see + ;; `startup--load-user-init-file@undo-hacks'). (put 'site-run-file 'initial-value site-run-file) (setq site-run-file nil) - (define-advice startup--load-user-init-file (:around (fn &rest args) undo-inhibit-vars) - (let (--init--) + (define-advice startup--load-user-init-file (:around (fn &rest args) undo-hacks) + "Undo Doom's startup optimizations to prep for the user's session." + (let (init) (unwind-protect (progn - ;; COMPAT: Onces startup is sufficiently complete, undo some - ;; optimizations to reduce the scope of potential edge cases. - (advice-remove #'load-file #'load-file@silence) - (advice-remove #'tool-bar-setup #'ignore) - (add-transient-hook! 'tool-bar-mode (tool-bar-setup)) (when (setq site-run-file (get 'site-run-file 'initial-value)) (let ((inhibit-startup-screen inhibit-startup-screen)) - (letf! (defun load (file &optional noerror _nomessage &rest args) - (apply load file noerror t args)) + (letf! ((defun load-file (file) (load file nil 'nomessage)) + (defun load (file &optional noerror _nomessage &rest args) + (apply load file noerror t args))) (load site-run-file t t)))) - ;; Then startup as normal. - (apply fn args) - (setq --init-- t)) - (when (or (not --init--) init-file-had-error) + (apply fn args) ; start up as normal + (setq init t)) + (when (or (not init) init-file-had-error) ;; If we don't undo our inhibit-{message,redisplay} and there's an ;; error, we'll see nothing but a blank Emacs frame. (doom--reset-inhibited-vars-h)) + ;; COMPAT: Once startup is sufficiently complete, undo our earlier + ;; optimizations to reduce the scope of potential edge cases. + (advice-remove #'tool-bar-setup #'ignore) + (add-transient-hook! 'tool-bar-mode (tool-bar-setup)) (unless (default-toplevel-value 'mode-line-format) (setq-default mode-line-format (get 'mode-line-format 'initial-value)))))) diff --git a/lisp/lib/files.el b/lisp/lib/files.el index 088463293..8f03b4abe 100644 --- a/lisp/lib/files.el +++ b/lisp/lib/files.el @@ -487,24 +487,31 @@ If FORCE-P, overwrite the destination file if it exists, without confirmation." (defun doom/sudo-find-file (file) "Open FILE as root." (interactive "FOpen file as root: ") - (find-file (doom--sudo-file-path (expand-file-name file)))) + ;; HACK: Disable auto-save in temporary tramp buffers because it could trigger + ;; processes that hang silently in the background, making those buffers + ;; inoperable for the rest of that session (Tramp caches them). + (let ((auto-save-default nil) + ;; REVIEW: use only these when we drop 28 support + (remote-file-name-inhibit-auto-save t) + (remote-file-name-inhibit-auto-save-visited t)) + (find-file (doom--sudo-file-path (expand-file-name file))))) ;;;###autoload (defun doom/sudo-this-file () "Open the current file as root." (interactive) - (find-file - (doom--sudo-file-path - (or buffer-file-name - (when (or (derived-mode-p 'dired-mode) - (derived-mode-p 'wdired-mode)) - default-directory))))) + (doom/sudo-find-file + (or (buffer-file-name (buffer-base-buffer)) + (when (or (derived-mode-p 'dired-mode) + (derived-mode-p 'wdired-mode)) + default-directory) + (user-error "Cannot determine the file path of the current buffer")))) ;;;###autoload (defun doom/sudo-save-buffer () "Save this file as root." (interactive) - (let ((file (doom--sudo-file-path buffer-file-name))) + (let ((file (doom--sudo-file-path (buffer-file-name (buffer-base-buffer))))) (if-let (buffer (find-file-noselect file)) (let ((origin (current-buffer))) (copy-to-buffer buffer (point-min) (point-max)) @@ -593,7 +600,12 @@ see), and if nil, defaults to `find-sibling-rules'." (nconc results (mapcar #'expand-file-name - (file-expand-wildcards expansion nil t))))))))) + ;; `file-expand-wildcards' has a new REGEXP + ;; argument in 29+ that is needed here. This swap + ;; makes it behave as if REGEXP == t. + (letf! (defun wildcard-to-regexp (wildcard) + (concat "\\`" wildcard "\\'")) + (file-expand-wildcards expansion nil)))))))))) ;; Delete the file itself (in case it matched), and remove ;; duplicates, in case we have several expansions and some match ;; the same subsets of files. diff --git a/modules/completion/company/packages.el b/modules/completion/company/packages.el index 43c389ea7..c4718a4aa 100644 --- a/modules/completion/company/packages.el +++ b/modules/completion/company/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/company/packages.el -(package! company :pin "02903bd7088d65a87df0ae0f0d0a7118de147b69") +(package! company :pin "b0a522ac5bf8ba3d2f4f22e3aa846a4f82978a16") (package! company-dict :pin "cd7b8394f6014c57897f65d335d6b2bd65dab1f4") (when (modulep! +childframe) - (package! company-box :pin "b6f53e26adf948aca55c3ff6c22c21a6a6614253")) + (package! company-box :pin "c4f2e243fba03c11e46b1600b124e036f2be7691")) diff --git a/modules/completion/corfu/README.org b/modules/completion/corfu/README.org index acde0b13a..68539e0c3 100644 --- a/modules/completion/corfu/README.org +++ b/modules/completion/corfu/README.org @@ -212,6 +212,14 @@ A few variables may be set to change behavior of this module: Whether to prefer navigating org tables over cycling candidates when pressing [[kbd:][TAB]] and [[kbd:][S-TAB]]. +** Turning off auto-completion +To disable idle (as-you-type) completion, unset ~corfu-auto~: +#+begin_src emacs-lisp +;;; in $DOOMDIR/config.el +(after! corfu + (setq corfu-auto nil)) +#+end_src + ** Adding CAPFs to a mode To add other CAPFs on a mode-per-mode basis, put either of the following in your ~config.el~: diff --git a/modules/completion/corfu/packages.el b/modules/completion/corfu/packages.el index 3c0e58714..2dee62c70 100644 --- a/modules/completion/corfu/packages.el +++ b/modules/completion/corfu/packages.el @@ -1,8 +1,8 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/corfu/packages.el -(package! corfu :pin "c1e7b6190b00158e67347b4db0a8f7964e5d2f8b") -(package! cape :pin "a397a0c92de38277b7f835fa999fac400a764908") +(package! corfu :pin "35cd5a0f3cba89766072e3e933d1fe2ee02f2289") +(package! cape :pin "e01e4430234850263d326ad4521849cd46e64059") (when (modulep! +icons) (package! nerd-icons-corfu :pin "7077bb76fefc15aed967476406a19dc5c2500b3c")) (when (and (not (modulep! :completion vertico)) diff --git a/modules/completion/helm/packages.el b/modules/completion/helm/packages.el index d348d6437..d7a7ae7de 100644 --- a/modules/completion/helm/packages.el +++ b/modules/completion/helm/packages.el @@ -1,10 +1,10 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/helm/packages.el -(package! helm :pin "f34ea6b702648e5c7535a704bdb6c4d7afb4b3b8") +(package! helm :pin "28f62344fed0d8be0bcef5aa8a018ba58198ba0c") (package! helm-company :pin "4622b82353220ee6cc33468f710fa5b6b253b7f1") (package! helm-c-yasnippet :pin "c5880e740da101fde7a995e94a7b16c330e57583") -(package! helm-descbinds :pin "b72515982396b6e336ad7beb6767e95a80fca192") +(package! helm-descbinds :pin "ca03f02da4e54a1d0a2d5498b86e1639aa808d8c") (package! helm-describe-modes :pin "11fb36af119b784539d31c6160002de1957408aa") (package! helm-projectile :pin "e2e38825c975269a4971df25e79b2ae98929624e") (package! helm-rg :pin "ee0a3c09da0c843715344919400ab0a0190cc9dc") diff --git a/modules/completion/ivy/packages.el b/modules/completion/ivy/packages.el index a5dce1fb1..beafb3133 100644 --- a/modules/completion/ivy/packages.el +++ b/modules/completion/ivy/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/ivy/packages.el -(package! swiper :pin "8c30f4cab5948aa8d942a3b2bbf5fb6a94d9441d") +(package! swiper :pin "1f88e5499046d166d22bf733a3877aec3b424947") (package! ivy) (package! ivy-hydra) (package! ivy-avy) @@ -13,7 +13,7 @@ (package! wgrep :pin "208b9d01cfffa71037527e3a324684b3ce45ddc4") (if (modulep! +prescient) - (package! ivy-prescient :pin "4b875be52e75f7b81e68a16b62cfbb2f2584042c") + (package! ivy-prescient :pin "c39bf07c56b427bf41aafd7d20eaef5cf3c312b5") (when (modulep! +fuzzy) (package! flx :pin "4b1346eb9a8a76ee9c9dede69738c63ad97ac5b6"))) diff --git a/modules/completion/vertico/config.el b/modules/completion/vertico/config.el index 2e4dc5bf5..a33944a38 100644 --- a/modules/completion/vertico/config.el +++ b/modules/completion/vertico/config.el @@ -207,6 +207,9 @@ orderless." "C-x C-d" #'consult-dir "C-x C-j" #'consult-dir-jump-file)) :config + ;; DEPRECATED: Remove when Doom core replaces projectile with project.el + (setq consult-dir-project-list-function #'consult-dir-projectile-dirs) + (when (modulep! :tools docker) ;; TODO: Replace with `tramp-container--completion-function' when we drop ;; support for <29 diff --git a/modules/completion/vertico/packages.el b/modules/completion/vertico/packages.el index 8d1f9c75f..e93edda1b 100644 --- a/modules/completion/vertico/packages.el +++ b/modules/completion/vertico/packages.el @@ -1,19 +1,19 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/vertico/packages.el -(package! vertico :pin "68cbd47589446e9674921bae0b98ff8fbe28be23") +(package! vertico :pin "68e51fda552a2f91caab69e83564bc91275b09b1") -(package! orderless :pin "dc7a781acf2e58ac7d20d1b522be0cde5213e057") +(package! orderless :pin "ac4aeb66f331f4c4a430d5556071e33177304c37") -(package! consult :pin "b48ff6bf0527baeb6bfd07c6da9d303ff0b79c3d") +(package! consult :pin "c87b0bf06de0c3cb60bc8d257c770cb981ddcd19") (package! consult-dir :pin "3f5f4b71ebe819392cb090cda71bd39a93bd830a") (when (and (modulep! :checkers syntax) (not (modulep! :checkers syntax +flymake))) (package! consult-flycheck :pin "754f5497d827f7d58009256a21af614cc44378a3")) -(package! embark :pin "c93abadc8220c0caa6fea805f7a736c346d47e7e") -(package! embark-consult :pin "c93abadc8220c0caa6fea805f7a736c346d47e7e") +(package! embark :pin "d3c9d1b4c890cf365846cc2b418f37341999e79f") +(package! embark-consult :pin "d3c9d1b4c890cf365846cc2b418f37341999e79f") -(package! marginalia :pin "f6fe86b989a177355ab3ff7e97a384e10a7b0bb1") +(package! marginalia :pin "3275d1f85cb020280979a050054b843f7563aea2") (package! wgrep :pin "208b9d01cfffa71037527e3a324684b3ce45ddc4") diff --git a/modules/editor/evil/packages.el b/modules/editor/evil/packages.el index b38f6ebe4..d4afb505e 100644 --- a/modules/editor/evil/packages.el +++ b/modules/editor/evil/packages.el @@ -1,8 +1,8 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/evil/packages.el -(package! evil :pin "5995f6f21f662484440ed67a28ce59e365feb9ad") -(package! evil-args :pin "2671071a4a57eaee7cc8c27b9e4b6fc60fd2ccd3") +(package! evil :pin "88d073c9d03ca223564e7e8589f44ecc87c98153") +(package! evil-args :pin "a8151556f63c9d45d0c44c8a7ef9e5a542f3cdc7") (package! evil-easymotion :pin "f96c2ed38ddc07908db7c3c11bcd6285a3e8c2e9") (package! evil-embrace :pin "3081d37811b6a3dfaaf01d578c7ab7a746c6064d") (package! evil-escape @@ -11,10 +11,10 @@ (package! evil-exchange :pin "5f0a2d41434c17c6fb02e4f744043775de1c63a2") (package! evil-indent-plus :pin "f392696e4813f1d3a92c7eeed333248914ba6dae") (package! evil-lion :pin "1e838a53b8f18a3c8bdf3e952186abc2ee9cb98e") -(package! evil-nerd-commenter :pin "3b197a2b559b06a7cf39978704b196f53dac802a") +(package! evil-nerd-commenter :pin "ae52c5070a48793e2c24474c9c8dbf20175d18a0") (package! evil-numbers :pin "7a1b62afc12da2b582bf84d722e7b10ca8b97065") (package! evil-snipe :pin "c2108d3932fcd2f75ac3e48250d6badd668f5b4f") -(package! evil-surround :pin "c7116cdc774b1e259eaf3e9e7a318a6c99c2da17") +(package! evil-surround :pin "da05c60b0621cf33161bb4335153f75ff5c29d91") (package! evil-textobj-anyblock :recipe (:host github :repo "willghatch/evil-textobj-anyblock" @@ -35,4 +35,4 @@ (package! neotree) (autoload 'neotree-make-executor "neotree" nil nil 'macro)) - (package! evil-collection :pin "8c84f9bc89fe56e71b56519f886085ddcbc671cf")) + (package! evil-collection :pin "e0982fcbb6f1694b27074565553fac0e736a30b4")) diff --git a/modules/editor/fold/autoload/fold.el b/modules/editor/fold/autoload/fold.el index 1052374bb..8e3e8cf34 100644 --- a/modules/editor/fold/autoload/fold.el +++ b/modules/editor/fold/autoload/fold.el @@ -78,6 +78,18 @@ Targets `vimmish-fold', `hideshow', `ts-fold' and `outline' folds." ((+fold--hideshow-fold-p) (+fold-from-eol (hs-toggle-hiding))) ((+fold--ts-fold-p) (ts-fold-toggle))))) +;;;###autoload +(defun +fold/open-rec () + "Recursively open the folded region at point. + +Targets `vimmish-fold', `hideshow', `ts-fold' and `outline' folds." + (interactive) + (save-excursion + (cond ((+fold--vimish-fold-p) (vimish-fold-unfold)) + ((+fold--outline-fold-p) (outline-show-subtree)) + ((+fold--hideshow-fold-p) (+fold-from-eol (hs-show-block))) + ((+fold--ts-fold-p) (ts-fold-open))))) + ;;;###autoload (defun +fold/open () "Open the folded region at point. @@ -87,7 +99,7 @@ Targets `vimmish-fold', `hideshow', `ts-fold' and `outline' folds." (save-excursion (cond ((+fold--vimish-fold-p) (vimish-fold-unfold)) ((+fold--outline-fold-p) - (outline-show-children) + (outline-show-branches) (outline-show-entry)) ((+fold--hideshow-fold-p) (+fold-from-eol (hs-show-block))) ((+fold--ts-fold-p) (ts-fold-open))))) @@ -111,7 +123,7 @@ Targets `vimmish-fold', `hideshow', `ts-fold' and `outline' folds." (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg)))) (cond ((+fold--ts-fold-p) (ts-fold-open-all)) - ((featurep 'vimish-fold) + ((and (featurep 'vimish-fold) (+fold--vimish-fold-p)) (vimish-fold-unfold-all)) ((save-excursion (+fold--ensure-hideshow-mode) @@ -138,8 +150,12 @@ Targets `vimmish-fold', `hideshow', `ts-fold' and `outline' folds." (+fold--ensure-hideshow-mode) (hs-life-goes-on (if (integerp level) - (hs-hide-level-recursive (1- level) (point-min) (point-max)) - (hs-hide-all))))))) + (progn + (outline--show-headings-up-to-level (1+ level)) + (hs-hide-level-recursive (1- level) (point-min) (point-max))) + (hs-hide-all) + (when (fboundp 'outline-hide-sublevels) + (outline-show-only-headings)))))))) ;;;###autoload (defun +fold/next (count) diff --git a/modules/editor/fold/config.el b/modules/editor/fold/config.el index c30b5a80e..e1f7dc21c 100644 --- a/modules/editor/fold/config.el +++ b/modules/editor/fold/config.el @@ -6,7 +6,7 @@ [remap evil-toggle-fold] #'+fold/toggle [remap evil-close-fold] #'+fold/close [remap evil-open-fold] #'+fold/open - [remap evil-open-fold-rec] #'+fold/open + [remap evil-open-fold-rec] #'+fold/open-rec [remap evil-close-folds] #'+fold/close-all [remap evil-open-folds] #'+fold/open-all) (after! evil diff --git a/modules/editor/snippets/packages.el b/modules/editor/snippets/packages.el index 3b3b46387..6af0e2787 100644 --- a/modules/editor/snippets/packages.el +++ b/modules/editor/snippets/packages.el @@ -1,10 +1,10 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/snippets/packages.el -(package! yasnippet :pin "297546f0853a6a51f5b05e954d0c6aea8caa5ec2") +(package! yasnippet :pin "33587a8551b8f6991b607d3532062a384c010ce1") (package! auto-yasnippet :pin "6a9e406d0d7f9dfd6dff7647f358cb05a0b1637e") (package! doom-snippets :recipe (:host github :repo "doomemacs/snippets" :files (:defaults "*")) - :pin "f022984ee1318a4015d5d081b3c3dab5a60dc6ff") + :pin "07b3bdaf60b74080f899b12c3d46594c7fa75e04") diff --git a/modules/emacs/vc/packages.el b/modules/emacs/vc/packages.el index 7b1f30628..4602753ae 100644 --- a/modules/emacs/vc/packages.el +++ b/modules/emacs/vc/packages.el @@ -6,9 +6,9 @@ (package! smerge-mode :built-in t) (package! browse-at-remote :pin "76aa27dfd469fcae75ed7031bb73830831aaccbf") -(package! git-commit :pin "b68e0a3c3388af8daac662f25ccfd3e980590e12") +(package! git-commit :pin "b5637d665c1e5bd5b76ffb072dbac387f37a5f63") (package! git-timemachine ;; The original lives on codeberg.org; which has uptime issues. :recipe (:host github :repo "emacsmirror/git-timemachine") - :pin "ac933e5cd29583c131401f3bd991d98129c316df") + :pin "5ed73c3831cf6da10ba941e6abba708a86853e8f") (package! git-modes :pin "3cc94974c09c43462dfbfbe20396a414352dbb92") diff --git a/modules/email/mu4e/config.el b/modules/email/mu4e/config.el index f4f6d9c5b..072309620 100644 --- a/modules/email/mu4e/config.el +++ b/modules/email/mu4e/config.el @@ -75,6 +75,7 @@ is non-nil." (setq mu4e-get-mail-command "offlineimap -o -q"))) (setq mu4e-update-interval nil + mu4e-notification-support t mu4e-sent-messages-behavior 'sent mu4e-hide-index-messages t ;; configuration for sending mail @@ -671,77 +672,3 @@ See `+mu4e-msg-gmail-p' and `mu4e-sent-messages-behavior'.") (`refile (mu4e-action-retag-message msg "-\\Inbox")) (`flag (mu4e-action-retag-message msg "+\\Starred")) (`unflag (mu4e-action-retag-message msg "-\\Starred")))))))) - -;; -;;; Alerts - -(use-package! mu4e-alert - :after mu4e - :config - (setq doom-modeline-mu4e t) - - (mu4e-alert-enable-mode-line-display) - (mu4e-alert-enable-notifications) - - (when (version<= "1.6" mu4e-mu-version) - (defadvice! +mu4e-alert-filter-repeated-mails-fixed-a (mails) - "Filters the MAILS that have been seen already\nUses :message-id not :docid." - :override #'mu4e-alert-filter-repeated-mails - (cl-remove-if (lambda (mail) - (prog1 (and (not mu4e-alert-notify-repeated-mails) - (ht-get mu4e-alert-repeated-mails - (plist-get mail :message-id))) - (ht-set! mu4e-alert-repeated-mails - (plist-get mail :message-id) - t))) - mails))) - - (when (featurep :system 'linux) - (mu4e-alert-set-default-style 'libnotify) - - (defvar +mu4e-alert-bell-cmd '("paplay" . "/usr/share/sounds/freedesktop/stereo/message.oga") - "Cons list with command to play a sound, and the sound file to play. -Disabled when set to nil.") - - (setq mu4e-alert-email-notification-types '(subjects)) - (defun +mu4e-alert-grouped-mail-notification-formatter-with-bell (mail-group _all-mails) - "Default function to format MAIL-GROUP for notification. -ALL-MAILS are the all the unread emails" - (when +mu4e-alert-bell-cmd - (start-process "mu4e-alert-bell" nil (car +mu4e-alert-bell-cmd) (cdr +mu4e-alert-bell-cmd))) - (if (> (length mail-group) 1) - (let* ((mail-count (length mail-group)) - (first-mail (car mail-group)) - (title-prefix (format "You have %d unread emails" - mail-count)) - (field-value (mu4e-alert--get-group first-mail)) - (title-suffix (format (pcase mu4e-alert-group-by - (`:from "from %s:") - (`:to "to %s:") - (`:maildir "in %s:") - (`:priority "with %s priority:") - (`:flags "with %s flags:")) - field-value)) - (title (format "%s %s" title-prefix title-suffix))) - (list :title title - :body (s-join "\n" - (mapcar (lambda (mail) - (format "%s%s • %s" - (cond - ((plist-get mail :in-reply-to) "⮩ ") - ((string-match-p "\\`Fwd:" - (plist-get mail :subject)) " ⮯ ") - (t "  ")) - (truncate-string-to-width (or (caar (plist-get mail :from)) - (cdar (plist-get mail :from))) - 20 nil nil t) - (truncate-string-to-width - (replace-regexp-in-string "\\`Re: \\|\\`Fwd: " "" - (plist-get mail :subject)) - 40 nil nil t))) - mail-group)))) - (let* ((new-mail (car mail-group)) - (subject (plist-get new-mail :subject)) - (sender (caar (plist-get new-mail :from)))) - (list :title sender :body subject)))) - (setq mu4e-alert-grouped-mail-notification-formatter #'+mu4e-alert-grouped-mail-notification-formatter-with-bell))) diff --git a/modules/email/mu4e/packages.el b/modules/email/mu4e/packages.el index 6e0aa3fda..1d2642782 100644 --- a/modules/email/mu4e/packages.el +++ b/modules/email/mu4e/packages.el @@ -3,5 +3,3 @@ (when (modulep! +org) (package! org-msg :pin "0b65f0f77a7a71881ddfce19a8cdc60465bda057")) - -(package! mu4e-alert :pin "6beda20fc69771f2778f507c4a9e069dbaf1b628") diff --git a/modules/lang/cc/config.el b/modules/lang/cc/config.el index 9b1c2acc3..c4b0ce5ad 100644 --- a/modules/lang/cc/config.el +++ b/modules/lang/cc/config.el @@ -78,7 +78,8 @@ This is ignored by ccls.") :return "return" :yield "#require") - (add-to-list 'find-sibling-rules '("/\\([^/]+\\)\\.c\\(c\\|pp\\)\\'" "\\1.\\(h\\|hh\\|hpp\\)")) + (add-to-list 'find-sibling-rules '("/\\([^/]+\\)\\.c\\(c\\|pp\\)?\\'" "\\1.h\\(h\\|pp\\)?\\'")) + (add-to-list 'find-sibling-rules '("/\\([^/]+\\)\\.h\\(h\\|pp\\)?\\'" "\\1.c\\(c\\|pp\\)?\\'")) (when (modulep! +tree-sitter) (add-hook! '(c-mode-local-vars-hook diff --git a/modules/lang/common-lisp/config.el b/modules/lang/common-lisp/config.el index e24ffcbb5..8f866be0c 100644 --- a/modules/lang/common-lisp/config.el +++ b/modules/lang/common-lisp/config.el @@ -174,3 +174,8 @@ :defer t :init (add-to-list 'sly-contribs 'sly-asdf 'append)) + +(use-package! sly-stepper + :defer t + :init + (add-to-list 'sly-contribs 'sly-stepper)) diff --git a/modules/lang/common-lisp/packages.el b/modules/lang/common-lisp/packages.el index 07c972ca4..00d0923d5 100644 --- a/modules/lang/common-lisp/packages.el +++ b/modules/lang/common-lisp/packages.el @@ -3,6 +3,9 @@ (when (package! sly :pin "ed17d2c2bd7aead0fbb09c3d22861c80a522a097") (package! sly-asdf :pin "6f9d751469bb82530db1673c22e7437ca6c95f45") + (package! sly-quicklisp :pin "34c73d43dd9066262387c626c17a9b486db07b2d") + (package! sly-stepper :recipe (:host github :repo "joaotavora/sly-stepper" + :files (:defaults "*.lisp" "*.asd"))) (package! sly-macrostep :pin "5113e4e926cd752b1d0bcc1508b3ebad5def5fad") (package! sly-repl-ansi-color :pin "b9cd52d1cf927bf7e08582d46ab0bcf1d4fb5048") (package! sly-overlay :pin "916b50297a1f3bb110f840b89b8717d194623e5f")) diff --git a/modules/lang/graphql/README.org b/modules/lang/graphql/README.org index 7a6952545..e09e32f00 100644 --- a/modules/lang/graphql/README.org +++ b/modules/lang/graphql/README.org @@ -91,7 +91,7 @@ query GetContinents($continentCode: String!) { With this module, there are 3 ways to view schemas: + =+graphql-doc-open-config= which uses a local [[https://github.com/jimkyndemeyer/graphql-config-examples][=.graphqlconfig=]] file to seed endpoints to query + =graphql-doc= which prompts you to select an endpoint based on ones added manually by =graphql-doc-add-api= -+ =graphql-doc-open-url= which prompts to to manually enter an endpoint url ++ =graphql-doc-open-url= which prompts to manually enter an endpoint url When using the doc viewer, there are a few bindings for navigating around. diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index ffbfbb19b..bc2b720b8 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -1188,7 +1188,7 @@ between the two." :hook (org-mode . org-eldoc-load) :init (setq org-eldoc-breadcrumb-separator " → ") :config - ;; HACK Fix #2972: infinite recursion when eldoc kicks in in 'org' or 'python' + ;; HACK Fix #2972: infinite recursion when eldoc kicks in 'org' or 'python' ;; src blocks. ;; TODO Should be reported upstream! (puthash "org" #'ignore org-eldoc-local-functions-cache) diff --git a/modules/lang/org/contrib/dragndrop.el b/modules/lang/org/contrib/dragndrop.el index fb3dcae11..cd132cae0 100644 --- a/modules/lang/org/contrib/dragndrop.el +++ b/modules/lang/org/contrib/dragndrop.el @@ -54,35 +54,4 @@ (lambda (path) (if (file-in-directory-p path org-download-image-dir) (file-relative-name path org-download-image-dir) - path))) - - (defadvice! +org--fix-org-download-delete-a (fn beg end &optional times) - "Fix `org-download-delete' for a non-standard `org-download-link-format'." - :around #'org-download--delete - (save-excursion - (save-match-data - (goto-char beg) - (let ((times (or times most-positive-fixnum)) - (linkname - (or (and (string-match "\\[\\[\\(\\w+\\):" org-download-link-format) - (match-string 1 org-download-link-format)) - "file"))) - (while (and (>= (cl-decf times) 0) - (re-search-forward (format "\\[\\[%s:\\([^]]*\\)\\]\\]" - (regexp-quote linkname)) - end t)) - (let ((str (match-string-no-properties 2))) - (delete-region beg (match-end 0)) - (when (file-exists-p str) - (delete-file str)))))))) - - (defadvice! +org--dragndrop-then-display-inline-images-a (_link filename) - :after #'org-download-insert-link - (when (image-type-from-file-name filename) - (save-excursion - (org-display-inline-images - t t - (progn (org-back-to-heading-or-point-min t) (point)) - (progn (org-end-of-subtree t t) - (when (and (org-at-heading-p) (not (eobp))) (backward-char 1)) - (point))))))) + path)))) diff --git a/modules/lang/scala/packages.el b/modules/lang/scala/packages.el index ac9483e98..38429ea89 100644 --- a/modules/lang/scala/packages.el +++ b/modules/lang/scala/packages.el @@ -1,9 +1,9 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/scala/packages.el -(package! sbt-mode :pin "9fe1e8807c22cc1dc56a6233e000969518907f4d") +(package! sbt-mode :pin "bcf8d6040021013430b39d6f6766ce1aab0b691a") (package! scala-mode :pin "4c6d636b86e3bb1d95de819dc48dda92abdfbcf4") (when (and (modulep! +lsp) (not (modulep! :tools lsp +eglot))) - (package! lsp-metals :pin "da7e54ed65f4e153c94b9c54689908dce142ef37")) + (package! lsp-metals :pin "e55d544996f7321622e1eeafdc3dd128f8e72ce5")) diff --git a/modules/lang/web/+css.el b/modules/lang/web/+css.el index 144670d42..2211abc50 100644 --- a/modules/lang/web/+css.el +++ b/modules/lang/web/+css.el @@ -8,7 +8,8 @@ be aligned. If set to `nil', disable all the above behaviors.") -(add-to-list 'find-sibling-rules '("/\\([^/]+\\)\\.\\(\\(s[ac]\\|le\\)ss\\|styl\\)\\'" "\\1\\.css")) +(add-to-list 'find-sibling-rules '("/\\([^/]+\\)\\.\\(\\(s[ac]\\|le\\)ss\\|styl\\)\\'" "\\1\\.css\\'")) +(add-to-list 'find-sibling-rules '("/\\([^/]+\\)\\.css\\'" "\\1\\.\\(\\(s[ac]\\|le\\)ss\\|styl\\)\\'")) ;; diff --git a/modules/term/eshell/packages.el b/modules/term/eshell/packages.el index 21cf6e767..2c4adcd8e 100644 --- a/modules/term/eshell/packages.el +++ b/modules/term/eshell/packages.el @@ -1,13 +1,13 @@ ;; -*- no-byte-compile: t; -*- ;;; term/eshell/packages.el -(package! eshell-up :pin "ff84e6069b98f2ed00857a0f78bff19d96e4955c") +(package! eshell-up :pin "1999afaa509204b780db44e99ac9648fe7d92d32") (package! eshell-z :pin "337cb241e17bd472bd3677ff166a0800f684213c") (package! shrink-path :pin "c14882c8599aec79a6e8ef2d06454254bb3e1e41") (package! esh-help :pin "417673ed18a983930a66a6692dbfb288a995cb80") (package! eshell-did-you-mean :pin "80cd8c4b186a2fb29621cf634bcf2bcd914f1e3d") -(package! eshell-syntax-highlighting :pin "4ac27eec6595ba116a6151dfaf0b0e0440101e10") +(package! eshell-syntax-highlighting :pin "1d25386bf7d1a97e083d33750a98fbd1c6598138") (unless (featurep :system 'windows) - (package! fish-completion :pin "d34d0b96fde63feedf13c4288183d8d4d4d748cf") + (package! fish-completion :pin "006c613ff7f846b7d0a14422f2bdcc28b21205b8") (package! bash-completion :pin "f1daac0386c24cbe8a244a62c7588cc6847b07ae")) diff --git a/modules/tools/ansible/packages.el b/modules/tools/ansible/packages.el index a9f9837b7..b8f23f34e 100644 --- a/modules/tools/ansible/packages.el +++ b/modules/tools/ansible/packages.el @@ -1,10 +1,10 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/ansible/packages.el -(package! ansible :recipe (:nonrecursive t) :pin "d89ac0ee57742cca0f0e0a3453d9dcc521575690") +(package! ansible :recipe (:nonrecursive t) :pin "1d7de8d3ddac980715eebd87ee66859f8665b101") (package! ansible-doc :pin "86083a7bb2ed0468ca64e52076b06441a2f8e9e0") (package! jinja2-mode :pin "03e5430a7efe1d163a16beaf3c82c5fd2c2caee1") -(package! yaml-mode :pin "5b58248ab255dff6cfa4c4057a191bc4446ee5b6") +(package! yaml-mode :pin "7b5ce294fb15c2c8926fa476d7218aa415550a2a") (when (modulep! :completion company) - (package! company-ansible :pin "79dd421b161efa49fbdffad57fa40edb41f484a3")) + (package! company-ansible :pin "338922601cf9e8ada863fe6f2dd9d5145d9983b0")) diff --git a/modules/tools/biblio/packages.el b/modules/tools/biblio/packages.el index d53e8a994..110386f33 100644 --- a/modules/tools/biblio/packages.el +++ b/modules/tools/biblio/packages.el @@ -2,16 +2,16 @@ ;;; tools/biblio/packages.el (when (modulep! :completion ivy) - (package! bibtex-completion :pin "bf184cc311c9e1724f8b2eaf75b9e202c3aedd16") - (package! ivy-bibtex :pin "bf184cc311c9e1724f8b2eaf75b9e202c3aedd16")) + (package! bibtex-completion :pin "8b71b4f5ce62eeaf18067f57faaddc06449fbe1c") + (package! ivy-bibtex :pin "8b71b4f5ce62eeaf18067f57faaddc06449fbe1c")) (when (modulep! :completion helm) - (package! bibtex-completion :pin "bf184cc311c9e1724f8b2eaf75b9e202c3aedd16") - (package! helm-bibtex :pin "bf184cc311c9e1724f8b2eaf75b9e202c3aedd16")) + (package! bibtex-completion :pin "8b71b4f5ce62eeaf18067f57faaddc06449fbe1c") + (package! helm-bibtex :pin "8b71b4f5ce62eeaf18067f57faaddc06449fbe1c")) (when (modulep! :completion vertico) (package! citar :pin "885b86f6733fd70f42c32dd7791d3447f93db990") (package! citar-embark :pin "885b86f6733fd70f42c32dd7791d3447f93db990") (when (modulep! :lang org +roam2) - (package! citar-org-roam :pin "7d67dccf80065a88cb86ce9a8274383a9e8269c1"))) + (package! citar-org-roam :pin "82d47b5df1926627f56a09055c69b49b31cbbb9f"))) (package! parsebib :pin "ace9df707108b17759c004c7387655277122d4c1") -(package! citeproc :pin "c61c98b9d230ea28b2ca49498134803e1f8ea526") +(package! citeproc :pin "44f90cb296766e03fffc28b7892521ab0e8709f1") diff --git a/modules/tools/debugger/packages.el b/modules/tools/debugger/packages.el index bde6bede8..646b3cbc6 100644 --- a/modules/tools/debugger/packages.el +++ b/modules/tools/debugger/packages.el @@ -6,5 +6,5 @@ (package! realgud-trepan-ni :pin "0ec088ea343835e24ae73da09bea96bfb02a3130"))) (when (modulep! +lsp) - (package! dap-mode :pin "2f0c5b28578ce65ec746e4084ba72ba5c652ea79") + (package! dap-mode :pin "c95537c58e8f3ceac9c827ddf89e4928b24a1cc7") (package! posframe :pin "017deece88360c7297265680d78a0bb316470716")) diff --git a/modules/tools/direnv/packages.el b/modules/tools/direnv/packages.el index 4f474b5ee..5c0bbc572 100644 --- a/modules/tools/direnv/packages.el +++ b/modules/tools/direnv/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/direnv/packages.el -(package! envrc :pin "1385e72a730924664697a0961d43516a47a977d7") +(package! envrc :pin "8eb7401700b0080902ce200ad610ff8d2f2dcc27") diff --git a/modules/tools/docker/packages.el b/modules/tools/docker/packages.el index 77f353589..ccb929619 100644 --- a/modules/tools/docker/packages.el +++ b/modules/tools/docker/packages.el @@ -5,4 +5,4 @@ ;; tramp-container (included with Emacs 29+) replaces docker-tramp (when (< emacs-major-version 29) (package! docker-tramp :pin "19d0771db4e6b89e19c00af5806438e315779c15")) -(package! dockerfile-mode :pin "52c6c00da1d31c0b6c29c74335b3af63ed6bf06c") +(package! dockerfile-mode :pin "39a012a27fcf6fb629c447d13b6974baf906714c") diff --git a/modules/tools/editorconfig/packages.el b/modules/tools/editorconfig/packages.el index db1f0ecf0..baf0a8ed1 100644 --- a/modules/tools/editorconfig/packages.el +++ b/modules/tools/editorconfig/packages.el @@ -3,4 +3,4 @@ (package! editorconfig :recipe (:nonrecursive t) - :pin "c3666c093f3a2a80fb42e513bf0a10d597497c18") + :pin "d73b6392ded0476af93ec7ba75cca2909aa8d2dc") diff --git a/modules/tools/eval/packages.el b/modules/tools/eval/packages.el index 560920a2d..a7b5f6eb5 100644 --- a/modules/tools/eval/packages.el +++ b/modules/tools/eval/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/eval/packages.el -(package! quickrun :pin "248149b0261051bd9eec8bdbc21c22d18d7b1b11") +(package! quickrun :pin "373634cf5143f9680164e27fa844d3b02408e917") (when (modulep! +overlay) (package! eros :pin "a9a92bdc6be0521a6a06eb464be55ed61946639c")) diff --git a/modules/tools/lookup/packages.el b/modules/tools/lookup/packages.el index d1abb858a..95dcdb6a6 100644 --- a/modules/tools/lookup/packages.el +++ b/modules/tools/lookup/packages.el @@ -26,7 +26,7 @@ (when (modulep! +dictionary) (if (featurep :system 'macos) - (package! osx-dictionary :pin "1f5a74f3e5d7f3c443f07433951512cd99e820a6") + (package! osx-dictionary :pin "6abfd6908b0dc773020466225c908000870b383b") (package! define-word :pin "31a8c67405afa99d0e25e7c86a4ee7ef84a808fe") ;; REVIEW: This fork fixes SavchenkoValeriy/emacs-powerthesaurus#40. (package! powerthesaurus diff --git a/modules/tools/lsp/packages.el b/modules/tools/lsp/packages.el index c8c0f44b0..c493ec335 100644 --- a/modules/tools/lsp/packages.el +++ b/modules/tools/lsp/packages.el @@ -3,14 +3,14 @@ (if (modulep! +eglot) (progn - (package! eglot :pin "24f2bf7b28c33e1d677b547956ade5560d27f55f") + (package! eglot :pin "678610fdc544f10ac757ab7acf88ac7c5815ed5a") (when (modulep! :completion vertico) - (package! consult-eglot :pin "049c6319b8a48ff66189d49592c7759f0b356596")) + (package! consult-eglot :pin "64262e72452f8fe6dd49d31bcdd4bd577b7d682d")) (when (and (modulep! :checkers syntax) (not (modulep! :checkers syntax +flymake))) (package! flycheck-eglot :pin "114e1315aaf0dc3196da67da426bbe2b46384fe2"))) - (package! lsp-mode :pin "a5f5ca9a8a4b2ceaf236457bf2524f94c183c2f2") - (package! lsp-ui :pin "bc58c6664577d1d79060c6b32b7ad20e70ee19d0") + (package! lsp-mode :pin "8861252880f6c2f6374a7bca2b945e6447eebd5a") + (package! lsp-ui :pin "942eeecc3d9a23ad006a3476885dfa7cbb5e207e") (when (modulep! :completion ivy) (package! lsp-ivy :pin "9ecf4dd9b1207109802bd1882aa621eb1c385106")) (when (modulep! :completion helm) diff --git a/modules/tools/magit/packages.el b/modules/tools/magit/packages.el index c48e55650..2f046d9b7 100644 --- a/modules/tools/magit/packages.el +++ b/modules/tools/magit/packages.el @@ -1,9 +1,9 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/magit/packages.el -(when (package! magit :pin "0e8f25a8d8011328f2bf082232c720b24c2a12c2") +(when (package! magit :pin "b5637d665c1e5bd5b76ffb072dbac387f37a5f63") (when (modulep! +forge) - (package! forge :pin "2a3b41eb6235b3f39c017c1f86b3928a45c5a64d") + (package! forge :pin "ad94b5665de357347bfc52910eef46a79f74988d") (package! code-review :recipe (:host github :repo "doomelpa/code-review" diff --git a/modules/tools/pdf/packages.el b/modules/tools/pdf/packages.el index 4bca3a0e1..2b0f7d81e 100644 --- a/modules/tools/pdf/packages.el +++ b/modules/tools/pdf/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/pdf/packages.el -(package! pdf-tools :pin "c69e7656a4678fe25afbd29f3503dd19ee7f9896") -(package! saveplace-pdf-view :pin "abfb5e1f463cffc18218a0f7f2fa141a271b1813") +(package! pdf-tools :pin "93e74924517d39483b432d6c3c9b8f8b8f0eb50c") +(package! saveplace-pdf-view :pin "ee95460cd934080338f03a16f95b549577425216") diff --git a/modules/tools/terraform/packages.el b/modules/tools/terraform/packages.el index 8409d4229..e598fd0c4 100644 --- a/modules/tools/terraform/packages.el +++ b/modules/tools/terraform/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/terraform/packages.el -(package! terraform-mode :pin "e8b57df8c2a3d3171f3768f60eb84067f553289c") +(package! terraform-mode :pin "a645c32a8f0f0d04034262ae5fea330d5c7a33c6") (when (modulep! :completion company) (package! company-terraform :pin "8d5a16d1bbeeb18ca49a8fd57b5d8cd30c8b8dc7")) diff --git a/modules/tools/tree-sitter/packages.el b/modules/tools/tree-sitter/packages.el index fbd858c50..71f92c463 100644 --- a/modules/tools/tree-sitter/packages.el +++ b/modules/tools/tree-sitter/packages.el @@ -2,7 +2,7 @@ ;;; tools/tree-sitter/packages.el (package! tree-sitter :pin "3cfab8a0e945db9b3df84437f27945746a43cc71") -(package! tree-sitter-langs :pin "c56cb511045d50e30f78508c54494e025d6af2cb") +(package! tree-sitter-langs :pin "b7895ca759563f3c7c3b928eb4f816bb4099d866") (package! tree-sitter-indent :pin "4ef246db3e4ff99f672fe5e4b416c890f885c09e") (when (modulep! :editor evil +everywhere) diff --git a/modules/ui/neotree/config.el b/modules/ui/neotree/config.el index 4f46167b9..37148773b 100644 --- a/modules/ui/neotree/config.el +++ b/modules/ui/neotree/config.el @@ -15,7 +15,7 @@ neo-mode-line-type 'none neo-window-width 30 neo-show-updir-line nil - neo-theme 'icons + neo-theme 'nerd neo-banner-message nil neo-confirm-create-file #'off-p neo-confirm-create-directory #'off-p diff --git a/modules/ui/popup/autoload/popup.el b/modules/ui/popup/autoload/popup.el index aa31fac2a..3a8a9e61e 100644 --- a/modules/ui/popup/autoload/popup.el +++ b/modules/ui/popup/autoload/popup.el @@ -106,7 +106,7 @@ the buffer is visible, then set another timer and try again later." (param (if (memq side '(left right)) 'window-width 'window-height))) - (setq list (assq-delete-all 'size alist)) + (setq alist (assq-delete-all 'size alist)) (setf (alist-get param alist) size)) (setf (alist-get 'window-parameters alist) parameters)