General minor refactor
This commit is contained in:
parent
39cb30d635
commit
f8e8dbad8f
12 changed files with 40 additions and 50 deletions
|
@ -47,13 +47,10 @@ modes are active and the buffer is read-only.")
|
||||||
(newline-mark ?\n [?¬ ?\n])
|
(newline-mark ?\n [?¬ ?\n])
|
||||||
(space-mark ?\ [?·] [?.])))
|
(space-mark ?\ [?·] [?.])))
|
||||||
|
|
||||||
(defun doom|ediff-use-existing-frame ()
|
;; ediff
|
||||||
"Use existing frame instead of creating a new one."
|
(setq ediff-diff-options "-w"
|
||||||
(setq ediff-diff-options "-w"
|
ediff-split-window-function #'split-window-horizontally
|
||||||
ediff-split-window-function #'split-window-horizontally
|
ediff-window-setup-function #'ediff-setup-windows-plain)
|
||||||
;; no extra frames
|
|
||||||
ediff-window-setup-function #'ediff-setup-windows-plain))
|
|
||||||
(add-hook 'ediff-load-hook #'doom|ediff-use-existing-frame)
|
|
||||||
|
|
||||||
(defun doom|dont-kill-scratch-buffer ()
|
(defun doom|dont-kill-scratch-buffer ()
|
||||||
"Don't kill the scratch buffer."
|
"Don't kill the scratch buffer."
|
||||||
|
@ -275,15 +272,15 @@ extension, try to guess one."
|
||||||
:commands (describe-buffer describe-command describe-file
|
:commands (describe-buffer describe-command describe-file
|
||||||
describe-keymap describe-option describe-option-of-type))
|
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
|
(def-package! smart-forward
|
||||||
:commands (smart-up smart-down smart-backward smart-forward))
|
:commands (smart-up smart-down smart-backward smart-forward))
|
||||||
|
|
||||||
(def-package! wgrep
|
(def-package! wgrep
|
||||||
:commands (wgrep-setup wgrep-change-to-wgrep-mode)
|
:commands (wgrep-setup wgrep-change-to-wgrep-mode)
|
||||||
:config
|
:config (setq wgrep-auto-save-buffer t))
|
||||||
(setq wgrep-auto-save-buffer t))
|
|
||||||
|
|
||||||
(provide 'core-editor)
|
(provide 'core-editor)
|
||||||
;;; core-editor.el ends here
|
;;; core-editor.el ends here
|
||||||
|
|
|
@ -211,10 +211,10 @@ recognized by DOOM's popup system. They are:
|
||||||
(defun doom|popup-close-maybe ()
|
(defun doom|popup-close-maybe ()
|
||||||
"If current window is a popup, close it. If minibuffer is open, close it. If
|
"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."
|
not in a popup, close all popups with an :autoclose property."
|
||||||
(cond ((doom-popup-p)
|
(if (doom-popup-p)
|
||||||
(unless (doom-popup-property :noesc)
|
(unless (doom-popup-property :noesc)
|
||||||
(delete-window)))
|
(delete-window))
|
||||||
(t (doom/popup-close-all))))
|
(doom/popup-close-all)))
|
||||||
(add-hook '+evil-esc-hook #'doom|popup-close-maybe t)
|
(add-hook '+evil-esc-hook #'doom|popup-close-maybe t)
|
||||||
|
|
||||||
;; Make evil-mode cooperate with popups
|
;; Make evil-mode cooperate with popups
|
||||||
|
|
|
@ -159,7 +159,7 @@ after prompt marker."
|
||||||
(add-hook! 'lui-mode-hook
|
(add-hook! 'lui-mode-hook
|
||||||
(add-hook 'evil-insert-state-entry-hook #'+irc|evil-insert nil t))
|
(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)))
|
'(evil-paste-after evil-paste-before evil-open-above evil-open-below)))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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 #'+ivy-buffer-transformer)
|
||||||
(ivy-set-display-transformer #'ivy-switch-buffer-other-window #'+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 #'+ivy/switch-workspace-buffer #'+ivy-buffer-transformer)
|
||||||
(ivy-set-display-transformer #'counsel-recentf #'abbreviate-file-name)
|
(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)))))
|
|
||||||
|
|
||||||
|
|
||||||
(def-package! swiper :commands (swiper swiper-all))
|
(def-package! swiper :commands (swiper swiper-all))
|
||||||
|
|
|
@ -93,5 +93,17 @@ Allows a perspective-specific buffer list via `+workspaces-buffer-list'."
|
||||||
(persp-add-buffer buffer (get-current-persp) nil)
|
(persp-add-buffer buffer (get-current-persp) nil)
|
||||||
(redisplay)))
|
(redisplay)))
|
||||||
(advice-add #'switch-to-buffer :after #'+workspaces*auto-add-buffer)
|
(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)))))
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,6 @@ is loaded.")
|
||||||
(setq python-environment-directory doom-cache-dir
|
(setq python-environment-directory doom-cache-dir
|
||||||
python-indent-guess-indent-offset-verbose nil
|
python-indent-guess-indent-offset-verbose nil
|
||||||
python-shell-interpreter "python")
|
python-shell-interpreter "python")
|
||||||
|
|
||||||
:config
|
:config
|
||||||
(add-hook! 'python-mode-hook #'(flycheck-mode highlight-numbers-mode))
|
(add-hook! 'python-mode-hook #'(flycheck-mode highlight-numbers-mode))
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,6 @@
|
||||||
:commands (gist-list gist-region-or-buffer-private gist-region-or-buffer)
|
:commands (gist-list gist-region-or-buffer-private gist-region-or-buffer)
|
||||||
:config
|
:config
|
||||||
(set! :popup "*github:gists*" :size 15 :select t :autokill t)
|
(set! :popup "*github:gists*" :size 15 :select t :autokill t)
|
||||||
|
|
||||||
;; evil-ify gist listing
|
|
||||||
(set! :evil-state 'gist-list-mode 'normal)
|
(set! :evil-state 'gist-list-mode 'normal)
|
||||||
|
|
||||||
(defun +gist*list-render (orig-fn &rest args)
|
(defun +gist*list-render (orig-fn &rest args)
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
(when ssh-deploy-automatically-detect-remote-changes
|
(when ssh-deploy-automatically-detect-remote-changes
|
||||||
(ssh-deploy-remote-changes-handler))))
|
(ssh-deploy-remote-changes-handler))))
|
||||||
(add-hook 'find-file-hook #'+upload|init-find-file)
|
(add-hook 'find-file-hook #'+upload|init-find-file)
|
||||||
|
|
||||||
:config
|
:config
|
||||||
(setq ssh-deploy-revision-folder (concat doom-cache-dir "ssh-revisions/")
|
(setq ssh-deploy-revision-folder (concat doom-cache-dir "ssh-revisions/")
|
||||||
ssh-deploy-on-explicit-save t
|
ssh-deploy-on-explicit-save t
|
||||||
|
|
|
@ -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 'window-setup-hook #'+doom-dashboard|init)
|
||||||
(add-hook 'after-make-frame-functions #'+doom-dashboard|make-frame)
|
(add-hook 'after-make-frame-functions #'+doom-dashboard|make-frame)
|
||||||
(add-hook 'server-visit-hook #'+doom-dashboard|server-visit)
|
(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))
|
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -20,8 +20,8 @@
|
||||||
mode-line-in-non-selected-windows)
|
mode-line-in-non-selected-windows)
|
||||||
(force-mode-line-update)
|
(force-mode-line-update)
|
||||||
(sit-for eldoc-show-in-mode-line-delay))))
|
(sit-for eldoc-show-in-mode-line-delay))))
|
||||||
|
|
||||||
(setq eldoc-in-minibuffer-show-fn #'+doom-modeline--show-eldoc)
|
(setq eldoc-in-minibuffer-show-fn #'+doom-modeline--show-eldoc)
|
||||||
|
|
||||||
(eldoc-in-minibuffer-mode +1))
|
(eldoc-in-minibuffer-mode +1))
|
||||||
|
|
||||||
;; anzu and evil-anzu expose current/total state that can be displayed in the
|
;; 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
|
(setq anzu-cons-mode-line-p nil
|
||||||
anzu-minimum-input-length 1
|
anzu-minimum-input-length 1
|
||||||
anzu-search-threshold 250)
|
anzu-search-threshold 250)
|
||||||
|
|
||||||
;; Avoid anzu conflicts across buffers
|
;; Avoid anzu conflicts across buffers
|
||||||
(mapc #'make-variable-buffer-local
|
(mapc #'make-variable-buffer-local
|
||||||
'(anzu--total-matched anzu--current-position anzu--state
|
'(anzu--total-matched anzu--current-position anzu--state
|
||||||
anzu--cached-count anzu--cached-positions anzu--last-command
|
anzu--cached-count anzu--cached-positions anzu--last-command
|
||||||
anzu--last-isearch-string anzu--overflow-p))
|
anzu--last-isearch-string anzu--overflow-p))
|
||||||
|
|
||||||
;; Ensure anzu state is cleared when searches & iedit are done
|
;; Ensure anzu state is cleared when searches & iedit are done
|
||||||
(add-hook 'isearch-mode-end-hook #'anzu--reset-status t)
|
(add-hook 'isearch-mode-end-hook #'anzu--reset-status t)
|
||||||
(add-hook '+evil-esc-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))
|
(defvar +doom-modeline-current-window (frame-selected-window))
|
||||||
(defun +doom-modeline|set-selected-window (&rest _)
|
(defun +doom-modeline|set-selected-window (&rest _)
|
||||||
"Sets `+doom-modeline-current-window' appropriately"
|
"Sets `+doom-modeline-current-window' appropriately"
|
||||||
(let ((win (frame-selected-window)))
|
(when-let (win (frame-selected-window))
|
||||||
(unless (minibuffer-window-active-p win)
|
(unless (minibuffer-window-active-p win)
|
||||||
(setq +doom-modeline-current-window 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-scratch-buffer-hook #'+doom-modeline|set-special-modeline)
|
||||||
(add-hook '+doom-dashboard-mode-hook #'+doom-modeline|set-project-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 '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)
|
(add-hook 'circe-mode-hook #'+doom-modeline|set-special-modeline)
|
||||||
|
|
|
@ -6,22 +6,22 @@
|
||||||
(unless doom-theme (setq doom-theme 'doom-one))
|
(unless doom-theme (setq doom-theme 'doom-one))
|
||||||
|
|
||||||
;; Ensure `doom/reload-load-path' reloads common faces
|
;; Ensure `doom/reload-load-path' reloads common faces
|
||||||
(defun +doom|reload-theme ()
|
(defun +doom|reload-theme () (load "doom-themes-common.el" nil t))
|
||||||
(load "doom-themes-common.el" nil t))
|
|
||||||
(add-hook 'doom-pre-reload-theme-hook #'+doom|reload-theme)
|
(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)
|
(add-hook 'doom-init-ui-hook #'doom-themes-org-config)
|
||||||
|
|
||||||
;; blink mode-line on errors
|
;; more Atom-esque file icons for neotree
|
||||||
;; (add-hook 'doom-init-ui-hook #'doom-themes-visual-bell-config)
|
|
||||||
|
|
||||||
;; Add file icons to doom-neotree
|
|
||||||
(add-hook 'doom-init-ui-hook #'doom-themes-neotree-config)
|
(add-hook 'doom-init-ui-hook #'doom-themes-neotree-config)
|
||||||
(setq doom-neotree-enable-variable-pitch t
|
(setq doom-neotree-enable-variable-pitch t
|
||||||
doom-neotree-file-icons 'simple
|
doom-neotree-file-icons 'simple
|
||||||
doom-neotree-line-spacing 2)
|
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
|
(after! neotree
|
||||||
(defun +doom|neotree-fix-popup ()
|
(defun +doom|neotree-fix-popup ()
|
||||||
"Ensure the fringe settings are maintained on popup restore."
|
"Ensure the fringe settings are maintained on popup restore."
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
;; indicators for empty lines past EOF
|
;; indicators for empty lines past EOF
|
||||||
(def-package! vi-tilde-fringe
|
(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)
|
:hook (doom-init-ui . global-vi-tilde-fringe-mode)
|
||||||
:init
|
|
||||||
:config
|
:config
|
||||||
(defun +vi-tilde-fringe|disable ()
|
(add-hook! +doom-dashboard-mode
|
||||||
(vi-tilde-fringe-mode -1)))
|
(when (bound-and-true-p vi-tilde-fringe-mode)
|
||||||
|
(vi-tilde-fringe-mode -1))))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue