diff --git a/core/core-editor.el b/core/core-editor.el index a5989a581..00f86f215 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -431,19 +431,21 @@ files, so we replace calls to `pp' with the much faster `prin1'." (setq sp-highlight-pair-overlay nil sp-highlight-wrap-overlay nil sp-highlight-wrap-tag-overlay nil) - ;; But if someone does want overlays enabled, evil users will be stricken with - ;; an off-by-one issue where smartparens assumes you're outside the pair when - ;; you're really at the last character in insert mode. We must correct this - ;; vile injustice. - (setq sp-show-pair-from-inside t) - ;; ...and stay highlighted until we've truly escaped the pair! - (setq sp-cancel-autoskip-on-backward-movement nil) + (with-eval-after-load 'evil + ;; But if someone does want overlays enabled, evil users will be stricken + ;; with an off-by-one issue where smartparens assumes you're outside the + ;; pair when you're really at the last character in insert mode. We must + ;; correct this vile injustice. + (setq sp-show-pair-from-inside t) + ;; ...and stay highlighted until we've truly escaped the pair! + (setq sp-cancel-autoskip-on-backward-movement nil)) + ;; The default is 100, because smartparen's scans are relatively expensive ;; (especially with large pair lists for somoe modes), we halve it, as a ;; better compromise between performance and accuracy. (setq sp-max-prefix-length 50) ;; This speeds up smartparens. No pair has any business being longer than 4 - ;; characters; if they must, the modes that need it set it buffer-locally. + ;; characters; if they must, set it buffer-locally. (setq sp-max-pair-length 4) ;; This isn't always smart enough to determine when we're in a string or not. ;; See https://github.com/Fuco1/smartparens/issues/783. diff --git a/modules/config/default/config.el b/modules/config/default/config.el index f2e36c5b5..b5547a83a 100644 --- a/modules/config/default/config.el +++ b/modules/config/default/config.el @@ -24,7 +24,7 @@ (setq avy-all-windows nil avy-all-windows-alt t avy-background t - ;; the unpredictability of this makes it a poor default + ;; the unpredictability of this (when enabled) makes it a poor default avy-single-candidate-jump nil) @@ -78,7 +78,7 @@ sp-navigate-consider-sgml-tags nil))) ;; Autopair quotes more conservatively; if I'm next to a word/before another - ;; quote, I likely don't want to open a new pair. + ;; quote, I don't want to open a new pair or it would unbalance them. (let ((unless-list '(sp-point-before-word-p sp-point-after-word-p sp-point-before-same-p))) @@ -353,7 +353,7 @@ "t" #'load-theme ;; replaces `finder-by-keyword' b/c not useful "p" #'doom/help-packages - ;; replaces `describe-package' b/c redundant w/ `doom/describe-package' + ;; replaces `describe-package' b/c redundant w/ `doom/help-packages' "P" #'find-library) (after! which-key diff --git a/modules/editor/evil/+everywhere.el b/modules/editor/evil/+everywhere.el index 8ed0a7acd..369c26cea 100644 --- a/modules/editor/evil/+everywhere.el +++ b/modules/editor/evil/+everywhere.el @@ -238,7 +238,10 @@ and complains if a module is loaded too early (during startup)." (list doom-leader-key doom-localleader-key doom-leader-alt-key doom-localleader-alt-key)) -;; Load the rest +;; HACK Do this ourselves because evil-collection break's `eval-after-load' load +;; order by loading their target plugin before applying keys. It'd be too +;; much work to accommodate this eveywhere we want to bind our own evil +;; keybinds. (dolist (mode evil-collection-mode-list) (dolist (req (or (cdr-safe mode) (list mode))) (with-eval-after-load req diff --git a/modules/ui/neotree/autoload.el b/modules/ui/neotree/autoload.el index 783c57f20..2b26442f6 100644 --- a/modules/ui/neotree/autoload.el +++ b/modules/ui/neotree/autoload.el @@ -39,10 +39,9 @@ "Collapse an expanded directory node or go to the parent node." (interactive) (when-let (node (neo-buffer--get-filename-current-line)) - (if (file-directory-p node) - (if (neo-buffer--expanded-node-p node) - (+neotree/collapse) - (neotree-select-up-node)) + (if (and (file-directory-p node) + (neo-buffer--expanded-node-p node)) + (+neotree/collapse) (neotree-select-up-node)))) ;;;###autoload