diff --git a/core/core-editor.el b/core/core-editor.el index aa8130320..0bbaa4b21 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -47,13 +47,10 @@ modes are active and the buffer is read-only.") (newline-mark ?\n [?¬ ?\n]) (space-mark ?\ [?·] [?.]))) -(defun doom|ediff-use-existing-frame () - "Use existing frame instead of creating a new one." - (setq ediff-diff-options "-w" - ediff-split-window-function #'split-window-horizontally - ;; no extra frames - ediff-window-setup-function #'ediff-setup-windows-plain)) -(add-hook 'ediff-load-hook #'doom|ediff-use-existing-frame) +;; ediff +(setq ediff-diff-options "-w" + ediff-split-window-function #'split-window-horizontally + ediff-window-setup-function #'ediff-setup-windows-plain) (defun doom|dont-kill-scratch-buffer () "Don't kill the scratch buffer." @@ -275,15 +272,15 @@ extension, try to guess one." :commands (describe-buffer describe-command describe-file describe-keymap describe-option describe-option-of-type)) -(def-package! pcre2el :commands rxt-quote-pcre) +(def-package! pcre2el + :commands rxt-quote-pcre) (def-package! smart-forward :commands (smart-up smart-down smart-backward smart-forward)) (def-package! wgrep :commands (wgrep-setup wgrep-change-to-wgrep-mode) - :config - (setq wgrep-auto-save-buffer t)) + :config (setq wgrep-auto-save-buffer t)) (provide 'core-editor) ;;; core-editor.el ends here diff --git a/core/core-popups.el b/core/core-popups.el index ff243595c..b723ef476 100644 --- a/core/core-popups.el +++ b/core/core-popups.el @@ -211,10 +211,10 @@ recognized by DOOM's popup system. They are: (defun doom|popup-close-maybe () "If current window is a popup, close it. If minibuffer is open, close it. If not in a popup, close all popups with an :autoclose property." - (cond ((doom-popup-p) - (unless (doom-popup-property :noesc) - (delete-window))) - (t (doom/popup-close-all)))) + (if (doom-popup-p) + (unless (doom-popup-property :noesc) + (delete-window)) + (doom/popup-close-all))) (add-hook '+evil-esc-hook #'doom|popup-close-maybe t) ;; Make evil-mode cooperate with popups diff --git a/modules/app/irc/config.el b/modules/app/irc/config.el index c142507b8..def4428dc 100644 --- a/modules/app/irc/config.el +++ b/modules/app/irc/config.el @@ -159,7 +159,7 @@ after prompt marker." (add-hook! 'lui-mode-hook (add-hook 'evil-insert-state-entry-hook #'+irc|evil-insert nil t)) - (mapc (lambda (cmd) (cl-pushnew cmd +irc-scroll-to-bottom-on-commands)) + (mapc (lambda (cmd) (push cmd +irc-scroll-to-bottom-on-commands)) '(evil-paste-after evil-paste-before evil-open-above evil-open-below))) diff --git a/modules/completion/ivy/config.el b/modules/completion/ivy/config.el index d9381a98d..82a53a8ab 100644 --- a/modules/completion/ivy/config.el +++ b/modules/completion/ivy/config.el @@ -64,18 +64,7 @@ immediately runs it on the current candidate (ending the ivy session)." (ivy-set-display-transformer #'ivy-switch-buffer #'+ivy-buffer-transformer) (ivy-set-display-transformer #'ivy-switch-buffer-other-window #'+ivy-buffer-transformer) (ivy-set-display-transformer #'+ivy/switch-workspace-buffer #'+ivy-buffer-transformer) - (ivy-set-display-transformer #'counsel-recentf #'abbreviate-file-name) - - (when (featurep! :feature workspaces) - (nconc ivy-sort-functions-alist - '((persp-kill-buffer . nil) - (persp-remove-buffer . nil) - (persp-add-buffer . nil) - (persp-switch . nil) - (persp-window-switch . nil) - (persp-frame-switch . nil) - (+workspace/switch-to . nil) - (+workspace/delete . nil))))) + (ivy-set-display-transformer #'counsel-recentf #'abbreviate-file-name)) (def-package! swiper :commands (swiper swiper-all)) diff --git a/modules/feature/workspaces/config.el b/modules/feature/workspaces/config.el index 1eb1840de..eb23bb96a 100644 --- a/modules/feature/workspaces/config.el +++ b/modules/feature/workspaces/config.el @@ -93,5 +93,17 @@ Allows a perspective-specific buffer list via `+workspaces-buffer-list'." (persp-add-buffer buffer (get-current-persp) nil) (redisplay))) (advice-add #'switch-to-buffer :after #'+workspaces*auto-add-buffer) - (advice-add #'display-buffer :after #'+workspaces*auto-add-buffer)) + (advice-add #'display-buffer :after #'+workspaces*auto-add-buffer) + + ;; + (after! ivy + (nconc ivy-sort-functions-alist + '((persp-kill-buffer . nil) + (persp-remove-buffer . nil) + (persp-add-buffer . nil) + (persp-switch . nil) + (persp-window-switch . nil) + (persp-frame-switch . nil) + (+workspace/switch-to . nil) + (+workspace/delete . nil))))) diff --git a/modules/lang/python/config.el b/modules/lang/python/config.el index c931d5a03..445a5e587 100644 --- a/modules/lang/python/config.el +++ b/modules/lang/python/config.el @@ -21,7 +21,6 @@ is loaded.") (setq python-environment-directory doom-cache-dir python-indent-guess-indent-offset-verbose nil python-shell-interpreter "python") - :config (add-hook! 'python-mode-hook #'(flycheck-mode highlight-numbers-mode)) diff --git a/modules/tools/gist/config.el b/modules/tools/gist/config.el index 4554d5a92..cc7837de3 100644 --- a/modules/tools/gist/config.el +++ b/modules/tools/gist/config.el @@ -8,8 +8,6 @@ :commands (gist-list gist-region-or-buffer-private gist-region-or-buffer) :config (set! :popup "*github:gists*" :size 15 :select t :autokill t) - - ;; evil-ify gist listing (set! :evil-state 'gist-list-mode 'normal) (defun +gist*list-render (orig-fn &rest args) diff --git a/modules/tools/upload/config.el b/modules/tools/upload/config.el index c6ea97524..a82cdf325 100644 --- a/modules/tools/upload/config.el +++ b/modules/tools/upload/config.el @@ -37,7 +37,6 @@ (when ssh-deploy-automatically-detect-remote-changes (ssh-deploy-remote-changes-handler)))) (add-hook 'find-file-hook #'+upload|init-find-file) - :config (setq ssh-deploy-revision-folder (concat doom-cache-dir "ssh-revisions/") ssh-deploy-on-explicit-save t diff --git a/modules/ui/doom-dashboard/config.el b/modules/ui/doom-dashboard/config.el index 6ce0ff134..1929f5438 100644 --- a/modules/ui/doom-dashboard/config.el +++ b/modules/ui/doom-dashboard/config.el @@ -73,8 +73,6 @@ whose dimensions may not be fully initialized by the time this is run." (add-hook 'window-setup-hook #'+doom-dashboard|init) (add-hook 'after-make-frame-functions #'+doom-dashboard|make-frame) (add-hook 'server-visit-hook #'+doom-dashboard|server-visit) -(when (featurep! :ui vi-tilde-fringe) - (add-hook '+doom-dashboard-mode-hook #'+vi-tilde-fringe|disable)) ;; diff --git a/modules/ui/doom-modeline/config.el b/modules/ui/doom-modeline/config.el index 584918fe9..630a60899 100644 --- a/modules/ui/doom-modeline/config.el +++ b/modules/ui/doom-modeline/config.el @@ -20,8 +20,8 @@ mode-line-in-non-selected-windows) (force-mode-line-update) (sit-for eldoc-show-in-mode-line-delay)))) - (setq eldoc-in-minibuffer-show-fn #'+doom-modeline--show-eldoc) + (eldoc-in-minibuffer-mode +1)) ;; anzu and evil-anzu expose current/total state that can be displayed in the @@ -35,13 +35,11 @@ (setq anzu-cons-mode-line-p nil anzu-minimum-input-length 1 anzu-search-threshold 250) - ;; Avoid anzu conflicts across buffers (mapc #'make-variable-buffer-local '(anzu--total-matched anzu--current-position anzu--state anzu--cached-count anzu--cached-positions anzu--last-command anzu--last-isearch-string anzu--overflow-p)) - ;; Ensure anzu state is cleared when searches & iedit are done (add-hook 'isearch-mode-end-hook #'anzu--reset-status t) (add-hook '+evil-esc-hook #'anzu--reset-status t) @@ -52,7 +50,7 @@ (defvar +doom-modeline-current-window (frame-selected-window)) (defun +doom-modeline|set-selected-window (&rest _) "Sets `+doom-modeline-current-window' appropriately" - (let ((win (frame-selected-window))) + (when-let (win (frame-selected-window)) (unless (minibuffer-window-active-p win) (setq +doom-modeline-current-window win)))) @@ -633,6 +631,6 @@ Returns \"\" to not break --no-window-system." (add-hook 'doom-scratch-buffer-hook #'+doom-modeline|set-special-modeline) (add-hook '+doom-dashboard-mode-hook #'+doom-modeline|set-project-modeline) -(add-hook 'org-src-mode-hook #'+doom-modeline|set-special-modeline) (add-hook 'image-mode-hook #'+doom-modeline|set-media-modeline) +(add-hook 'org-src-mode-hook #'+doom-modeline|set-special-modeline) (add-hook 'circe-mode-hook #'+doom-modeline|set-special-modeline) diff --git a/modules/ui/doom/config.el b/modules/ui/doom/config.el index 0d8aa8858..83d32e752 100644 --- a/modules/ui/doom/config.el +++ b/modules/ui/doom/config.el @@ -6,22 +6,22 @@ (unless doom-theme (setq doom-theme 'doom-one)) ;; Ensure `doom/reload-load-path' reloads common faces - (defun +doom|reload-theme () - (load "doom-themes-common.el" nil t)) + (defun +doom|reload-theme () (load "doom-themes-common.el" nil t)) (add-hook 'doom-pre-reload-theme-hook #'+doom|reload-theme) - ;; improve integration with org-mode + ;; improve integration w/ org-mode (add-hook 'doom-init-ui-hook #'doom-themes-org-config) - ;; blink mode-line on errors - ;; (add-hook 'doom-init-ui-hook #'doom-themes-visual-bell-config) - - ;; Add file icons to doom-neotree + ;; more Atom-esque file icons for neotree (add-hook 'doom-init-ui-hook #'doom-themes-neotree-config) (setq doom-neotree-enable-variable-pitch t doom-neotree-file-icons 'simple doom-neotree-line-spacing 2) + ;; blink mode-line on errors + ;; FIXME Breaks modeline + ;; (add-hook 'doom-init-ui-hook #'doom-themes-visual-bell-config) + (after! neotree (defun +doom|neotree-fix-popup () "Ensure the fringe settings are maintained on popup restore." diff --git a/modules/ui/vi-tilde-fringe/config.el b/modules/ui/vi-tilde-fringe/config.el index 170fa0099..25ec00771 100644 --- a/modules/ui/vi-tilde-fringe/config.el +++ b/modules/ui/vi-tilde-fringe/config.el @@ -2,10 +2,10 @@ ;; indicators for empty lines past EOF (def-package! vi-tilde-fringe - :commands (global-vi-tilde-fringe-mode vi-tilde-fringe-mode) + :commands vi-tilde-fringe-mode :hook (doom-init-ui . global-vi-tilde-fringe-mode) - :init :config - (defun +vi-tilde-fringe|disable () - (vi-tilde-fringe-mode -1))) + (add-hook! +doom-dashboard-mode + (when (bound-and-true-p vi-tilde-fringe-mode) + (vi-tilde-fringe-mode -1))))