PRAISE BE TO THE BYTE COMPILER FOR THY SHARP QUOTES

This commit is contained in:
Henrik Lissner 2017-04-17 02:17:10 -04:00
parent ef88d30b73
commit 5ae94b765c
79 changed files with 798 additions and 795 deletions

View file

@ -3,23 +3,23 @@
(after! debug
;; For elisp debugging
(map! :map debugger-mode-map
:n "RET" 'debug-help-follow
:n "n" 'debugger-step-through
:n "c" 'debugger-continue))
:n "RET" #'debug-help-follow
:n "n" #'debugger-step-through
:n "c" #'debugger-continue))
(def-package! realgud
:commands (realgud:gdb realgud:trepanjs realgud:bashdb realgud:zshdb)
:config
(map! :map realgud:shortkey-mode-map
:n "j" 'evil-next-line
:n "k" 'evil-previous-line
:n "h" 'evil-backward-char
:n "l" 'evil-forward-char
:m "n" 'realgud:cmd-next
:m "b" 'realgud:cmd-break
:m "B" 'realgud:cmd-clear
:n "c" 'realgud:cmd-continue)
:n "j" #'evil-next-line
:n "k" #'evil-previous-line
:n "h" #'evil-backward-char
:n "l" #'evil-forward-char
:m "n" #'realgud:cmd-next
:m "b" #'realgud:cmd-break
:m "B" #'realgud:cmd-clear
:n "c" #'realgud:cmd-continue)
;; Popup rules
(set! :popup
@ -32,8 +32,8 @@
;; ("s[tep]" . realgud:cmd-step)
;; ("b[reak]" . doom:debug-toggle-breakpoint)
;; ("c[ontinue]" . realgud:cmd-continue))
;; (advice-add 'realgud-cmdbuf-init :after 'doom:def-debug-on)
;; (advice-add 'realgud:cmd-quit :after 'doom:def-debug-off)
;; (advice-add #'realgud-cmdbuf-init :after #'doom:def-debug-on)
;; (advice-add #'realgud:cmd-quit :after #'doom:def-debug-off)
;; Monkey-patch `realgud:run-process' to run in a popup.
;; TODO Find a more elegant solution
@ -42,13 +42,13 @@
(debugger-name script-filename cmd-args minibuffer-history &optional no-reset)
(let ((cmd-buf))
(setq cmd-buf
(apply 'realgud-exec-shell debugger-name script-filename
(apply #'realgud-exec-shell debugger-name script-filename
(car cmd-args) no-reset (cdr cmd-args)))
(let ((process (get-buffer-process cmd-buf)))
(if (and process (eq 'run (process-status process)))
(progn
(pop-to-buffer cmd-buf)
(define-key evil-emacs-state-local-map (kbd "ESC ESC") '+debug/quit)
(define-key evil-emacs-state-local-map (kbd "ESC ESC") #'+debug/quit)
(realgud:track-set-debugger debugger-name)
(realgud-cmdbuf-info-in-debugger?= 't)
(realgud-cmdbuf-info-cmd-args= cmd-args)
@ -57,11 +57,11 @@
(when realgud-cmdbuf-info
(let* ((info realgud-cmdbuf-info)
(cmd-args (realgud-cmdbuf-info-cmd-args info))
(cmd-str (mapconcat 'identity cmd-args " ")))
(cmd-str (mapconcat #'identity cmd-args " ")))
(set minibuffer-history
(list-utils-uniq (cons cmd-str (eval minibuffer-history))))))))
(if cmd-buf (switch-to-buffer cmd-buf))
(message "Error running command: %s" (mapconcat 'identity cmd-args " "))))
(message "Error running command: %s" (mapconcat #'identity cmd-args " "))))
cmd-buf))
(advice-add 'realgud:run-process :override '+debug*realgud-run-process))
(advice-add #'realgud:run-process :override #'+debug*realgud-run-process))

View file

@ -23,7 +23,7 @@ functions.")
(if (= (length builders) 1)
(car builders)
(when-let (builder (completing-read "Build: "
(mapcar 'car builders)
(mapcar #'car builders)
nil t))
(assq (intern builder) builders)))))

View file

@ -87,7 +87,7 @@ invokes the repl. Takes the same arguements as `rtog/add-repl'."
:init
;; Use standard linum-mode for quickrun eval windows; so we can have different
;; rules for it.
(add-hook 'quickrun/mode-hook 'linum-mode)
(add-hook 'quickrun/mode-hook #'linum-mode)
:config
(set! :popup "*quickrun*" :size 10)
@ -102,12 +102,12 @@ invokes the repl. Takes the same arguements as `rtog/add-repl'."
(quickrun--kill-running-process)
(message ""))
(delete-window win)))
(advice-add 'quickrun :before '+eval*quickrun-auto-close)
(advice-add 'quickrun-region :before '+eval*quickrun-auto-close)
(advice-add #'quickrun :before #'+eval*quickrun-auto-close)
(advice-add #'quickrun-region :before #'+eval*quickrun-auto-close)
(defun +eval|quickrun-scroll-to-bof ()
"Ensures window is scrolled to BOF on invocation."
(with-selected-window (get-buffer-window quickrun--buffer-name)
(goto-char (point-min))))
(add-hook 'quickrun-after-run-hook '+eval|quickrun-scroll-to-bof))
(add-hook 'quickrun-after-run-hook #'+eval|quickrun-scroll-to-bof))

View file

@ -5,7 +5,7 @@
(def-setting! :evil-state (&rest mode-state-list)
"Set the initialize STATE of MODE using `evil-set-initial-state'."
(if (cl-every 'listp mode-state-list)
(if (cl-every #'listp mode-state-list)
`(progn
,@(let (forms)
(dolist (it mode-state-list (nreverse forms))
@ -57,13 +57,13 @@
;; highlight matching delimiters where it's important
(defun +evil|show-paren-mode-off () (show-paren-mode -1))
(add-hook 'evil-insert-state-entry-hook 'show-paren-mode)
(add-hook 'evil-insert-state-exit-hook '+evil|show-paren-mode-off)
(add-hook 'evil-visual-state-entry-hook 'show-paren-mode)
(add-hook 'evil-visual-state-exit-hook '+evil|show-paren-mode-off)
(add-hook 'evil-operator-state-entry-hook 'show-paren-mode)
(add-hook 'evil-operator-state-exit-hook '+evil|show-paren-mode-off)
(add-hook 'evil-normal-state-entry-hook '+evil|show-paren-mode-off)
(add-hook 'evil-insert-state-entry-hook #'show-paren-mode)
(add-hook 'evil-insert-state-exit-hook #'+evil|show-paren-mode-off)
(add-hook 'evil-visual-state-entry-hook #'show-paren-mode)
(add-hook 'evil-visual-state-exit-hook #'+evil|show-paren-mode-off)
(add-hook 'evil-operator-state-entry-hook #'show-paren-mode)
(add-hook 'evil-operator-state-exit-hook #'+evil|show-paren-mode-off)
(add-hook 'evil-normal-state-entry-hook #'+evil|show-paren-mode-off)
(dolist (mode '(tabulated-list-mode view-mode comint-mode term-mode calendar-mode Man-mode grep-mode))
(evil-set-initial-state mode 'emacs))
@ -74,7 +74,7 @@
(set-syntax-table (let* ((table (make-syntax-table)))
(modify-syntax-entry ?/ "." table)
table)))
(add-hook 'minibuffer-inactive-mode-hook 'minibuffer-inactive-mode-hook-setup))
(add-hook 'minibuffer-inactive-mode-hook #'minibuffer-inactive-mode-hook-setup))
(defsubst +evil--textobj (key inner-fn &optional outer-fn)
"Define a text object."
@ -92,23 +92,23 @@
(abort-recursive-edit))
(when (evil-ex-hl-active-p 'evil-ex-search)
(evil-ex-nohighlight)))
(advice-add 'evil-force-normal-state :after '+evil*esc)
(advice-add #'evil-force-normal-state :after #'+evil*esc)
(defun +evil*static-reindent (orig-fn &rest args)
"Don't move cursor on indent."
(save-excursion (apply orig-fn args)))
(advice-add 'evil-indent :around '+evil*static-reindent)
(advice-add #'evil-indent :around #'+evil*static-reindent)
;; Move to new split
(defun +evil*window-follow (&rest _) (evil-window-down 1))
(defun +evil*window-vfollow (&rest _) (evil-window-right 1))
(advice-add 'evil-window-split :after '+evil*window-follow)
(advice-add 'evil-window-vsplit :after '+evil*window-vfollow)
(advice-add #'evil-window-split :after #'+evil*window-follow)
(advice-add #'evil-window-vsplit :after #'+evil*window-vfollow)
;; monkey patch `evil-ex-replace-special-filenames' to add more ex
;; substitution flags to evil-mode
(advice-add 'evil-ex-replace-special-filenames
:override '+evil*ex-replace-special-filenames)
(advice-add #'evil-ex-replace-special-filenames
:override #'+evil*ex-replace-special-filenames)
;; Add extra argument types that highlight matches in the current buffer.
;; TODO Must be simpler way to do this
@ -137,8 +137,8 @@
(evil-transform-vim-style-regexp pattern)))
1 1))
(evil-ex-define-cmd "g[lobal]" '+evil:global)
(evil-ex-define-cmd "al[ign]" '+evil:align)
(evil-ex-define-cmd "g[lobal]" #'+evil:global)
(evil-ex-define-cmd "al[ign]" #'+evil:align)
;;
@ -149,7 +149,7 @@
:commands (evil-inner-arg evil-outer-arg
evil-forward-arg evil-backward-arg
evil-jump-out-args)
:init (+evil--textobj "a" 'evil-inner-arg 'evil-outer-arg))
:init (+evil--textobj "a" #'evil-inner-arg #'evil-outer-arg))
(def-package! evil-commentary
@ -164,21 +164,21 @@
(defvar +evil--snipe-repeat-fn)
(evilem-default-keybindings "g SPC")
(evilem-define (kbd "g SPC n") 'evil-ex-search-next)
(evilem-define (kbd "g SPC N") 'evil-ex-search-previous)
(evilem-define "gs" 'evil-snipe-repeat
(evilem-define (kbd "g SPC n") #'evil-ex-search-next)
(evilem-define (kbd "g SPC N") #'evil-ex-search-previous)
(evilem-define "gs" #'evil-snipe-repeat
:pre-hook (save-excursion (call-interactively #'evil-snipe-s))
:bind ((evil-snipe-scope 'buffer)
(evil-snipe-enable-highlight)
(evil-snipe-enable-incremental-highlight)))
(evilem-define "gS" 'evil-snipe-repeat-reverse
(evilem-define "gS" #'evil-snipe-repeat-reverse
:pre-hook (save-excursion (call-interactively #'evil-snipe-s))
:bind ((evil-snipe-scope 'buffer)
(evil-snipe-enable-highlight)
(evil-snipe-enable-incremental-highlight)))
(setq +evil--snipe-repeat-fn
(evilem-create 'evil-snipe-repeat
(evilem-create #'evil-snipe-repeat
:bind ((evil-snipe-scope 'whole-buffer)
(evil-snipe-enable-highlight)
(evil-snipe-enable-incremental-highlight)))))
@ -222,20 +222,20 @@
;; Add escaped-sequence support to embrace
(push (cons ?\\ (make-embrace-pair-struct
:key ?\\
:read-function '+evil--embrace-escaped
:read-function #'+evil--embrace-escaped
:left-regexp "\\[[{(]"
:right-regexp "\\[]})]"))
(default-value 'embrace--pairs-list))
;; Add extra pairs
(add-hook 'LaTeX-mode-hook 'embrace-LaTeX-mode-hook)
(add-hook 'org-mode-hook 'embrace-org-mode-hook)
(add-hook 'LaTeX-mode-hook #'embrace-LaTeX-mode-hook)
(add-hook 'org-mode-hook #'embrace-org-mode-hook)
(add-hook! emacs-lisp-mode
(embrace-add-pair ?\` "`" "'"))
(add-hook! (emacs-lisp-mode lisp-mode)
(embrace-add-pair-regexp ?f "([^ ]+ " ")" '+evil--embrace-elisp-fn))
(embrace-add-pair-regexp ?f "([^ ]+ " ")" #'+evil--embrace-elisp-fn))
(add-hook! (org-mode LaTeX-mode)
(embrace-add-pair-regexp ?l "\\[a-z]+{" "}" '+evil--embrace-latex)))
(embrace-add-pair-regexp ?l "\\[a-z]+{" "}" #'+evil--embrace-latex)))
(def-package! evil-escape
@ -244,10 +244,10 @@
(defun +evil|escape-disable () (evil-escape-mode -1))
(defun +evil|escape-enable () (evil-escape-mode +1))
;; I only need evil-escape in insert and replace modes.
(add-hook 'evil-insert-state-entry-hook '+evil|escape-enable)
(add-hook 'evil-insert-state-exit-hook '+evil|escape-disable)
(add-hook 'evil-replace-state-entry-hook '+evil|escape-enable)
(add-hook 'evil-replace-state-exit-hook '+evil|escape-disable)
(add-hook 'evil-insert-state-entry-hook #'+evil|escape-enable)
(add-hook 'evil-insert-state-exit-hook #'+evil|escape-disable)
(add-hook 'evil-replace-state-entry-hook #'+evil|escape-enable)
(add-hook 'evil-replace-state-exit-hook #'+evil|escape-disable)
:config
(setq evil-escape-key-sequence "jk"
evil-escape-delay 0.25))
@ -258,7 +258,7 @@
:config
(defun +evil*exchange-off ()
(if evil-exchange--overlays (evil-exchange-cancel)))
(advice-add 'evil-force-normal-state :after '+evil*exchange-off))
(advice-add #'evil-force-normal-state :after #'+evil*exchange-off))
(def-package! evil-indent-plus
@ -269,15 +269,15 @@
evil-indent-plus-i-indent-up-down
evil-indent-plus-a-indent-up-down)
:init
(+evil--textobj "i" 'evil-indent-plus-i-indent 'evil-indent-plus-a-indent)
(+evil--textobj "I" 'evil-indent-plus-i-indent-up 'evil-indent-plus-a-indent-up)
(+evil--textobj "J" 'evil-indent-plus-i-indent-up-down 'evil-indent-plus-a-indent-up-down))
(+evil--textobj "i" #'evil-indent-plus-i-indent #'evil-indent-plus-a-indent)
(+evil--textobj "I" #'evil-indent-plus-i-indent-up #'evil-indent-plus-a-indent-up)
(+evil--textobj "J" #'evil-indent-plus-i-indent-up-down #'evil-indent-plus-a-indent-up-down))
(def-package! evil-matchit
:commands (evilmi-jump-items evilmi-text-object global-evil-matchit-mode)
:config (global-evil-matchit-mode 1)
:init (+evil--textobj "%" 'evilmi-text-object))
:init (+evil--textobj "%" #'evilmi-text-object))
(def-package! evil-multiedit
@ -297,14 +297,14 @@
(def-package! evil-textobj-anyblock
:commands (evil-numbers/inc-at-pt evil-numbers/dec-at-pt)
:init
(+evil--textobj "B" 'evil-textobj-anyblock-inner-block 'evil-textobj-anyblock-a-block))
(+evil--textobj "B" #'evil-textobj-anyblock-inner-block #'evil-textobj-anyblock-a-block))
(def-package! evil-search-highlight-persist :demand t
:commands (evil-textobj-anyblock-inner-block evil-textobj-anyblock-a-block)
:config
(global-evil-search-highlight-persist t)
(advice-add 'evil-force-normal-state :after 'evil-search-highlight-persist-remove-all))
(advice-add #'evil-force-normal-state :after #'evil-search-highlight-persist-remove-all))
(def-package! evil-snipe :demand t
@ -382,11 +382,11 @@
"Don't ask for confirmation when creating files"
(cl-letf (((symbol-function 'yes-or-no-p) (lambda (&rest _) t)))
(apply orig-fun args)))
(advice-add 'neotree-create-node :around '+evil*neotree-create-node)
(advice-add #'neotree-create-node :around #'+evil*neotree-create-node)
;; Adding keybindings to `neotree-mode-map' wouldn't work for me (they get
;; overridden when the neotree buffer is spawned). So we bind them in a hook.
(add-hook 'neo-after-create-hook '+evil|neotree-init-keymap)
(add-hook 'neo-after-create-hook #'+evil|neotree-init-keymap)
(defun +evil|neotree-init-keymap (&rest _)
(map! :Lm "\\\\" 'evil-window-prev
:Lm "RET" 'neotree-enter

View file

@ -36,7 +36,7 @@
regexp
(vector `(lambda () (+file-templates--expand ,trigger ',mode ,project-only-p)))))
(mapc (lambda (args) (apply '+file-templates|add args))
(mapc (lambda (args) (apply #'+file-templates|add args))
;; General
'(("/\\.gitignore$" "__" gitignore-mode)
("/Dockerfile$" "__" dockerfile-mode)

View file

@ -41,7 +41,7 @@
"TODO"
(interactive
(list (completing-read "Search on: "
(mapcar 'car +lookup-search-url-alist)
(mapcar #'car +lookup-search-url-alist)
nil t)))
(let ((url (cdr (assoc where +lookup-search-url-alist)))
(search (or search (read-input "Query: "))))

View file

@ -31,7 +31,7 @@
(def-setting! :xref-backend (mode function)
"TODO"
`(add-hook! ,mode
(add-hook 'xref-backend-functions ',function nil t)))
(add-hook 'xref-backend-functions #',function nil t)))
;; Recenter after certain jumps
(add-hook!

View file

@ -16,7 +16,7 @@
(add-transient-hook! yas-minor-mode-hook (yas-reload-all))
(add-hook! (text-mode prog-mode snippet-mode)
'yas-minor-mode-on)
#'yas-minor-mode-on)
:config
(setq yas-verbosity 0
@ -34,30 +34,30 @@
(if (symbol-value mode)
(yas-activate-extra-mode mode)
(yas-deactivate-extra-mode mode)))
(add-hook 'doom-project-hook '+snippets|enable-project-modes)
(add-hook 'doom-project-hook #'+snippets|enable-project-modes)
;; fix an error caused by smartparens interfering with yasnippet bindings
(advice-add 'yas-expand :before 'sp-remove-active-pair-overlay)
(advice-add #'yas-expand :before #'sp-remove-active-pair-overlay)
(after! evil
(map! (:map yas-keymap
"C-e" '+snippets/goto-end-of-field
"C-a" '+snippets/goto-start-of-field
"<M-right>" '+snippets/goto-end-of-field
"<M-left>" '+snippets/goto-start-of-field
"<M-backspace>" '+snippets/delete-to-start-of-field
[escape] 'evil-normal-state
[backspace] '+snippets/delete-backward-char
[delete] '+snippets/delete-forward-char-or-field)
"C-e" #'+snippets/goto-end-of-field
"C-a" #'+snippets/goto-start-of-field
"<M-right>" #'+snippets/goto-end-of-field
"<M-left>" #'+snippets/goto-start-of-field
"<M-backspace>" #'+snippets/delete-to-start-of-field
[escape] #'evil-normal-state
[backspace] #'+snippets/delete-backward-char
[delete] #'+snippets/delete-forward-char-or-field)
(:map yas-minor-mode-map
:i "<tab>" yas-maybe-expand
:v "<tab>" '+snippets/expand-on-region))
:v "<tab>" #'+snippets/expand-on-region))
;; Exit snippets on ESC in normal mode
(advice-add 'evil-force-normal-state :before 'yas-exit-all-snippets)
(advice-add #'evil-force-normal-state :before #'yas-exit-all-snippets)
;; Once you're in normal mode, you're out
(add-hook 'evil-normal-state-entry-hook 'yas-abort-snippet)
(add-hook 'evil-normal-state-entry-hook #'yas-abort-snippet)
;; Strip out whitespace before a line selection
(defun +snippets|yas-before-expand ()
"Strip out the shitespace before a line selection."
@ -68,19 +68,19 @@
"\\(^\\s-*\\|\n? $\\)" ""
(buffer-substring-no-properties evil-visual-beginning
evil-visual-end)))))
(add-hook 'yas-before-expand-snippet-hook '+snippets|yas-before-expand)
(add-hook 'yas-before-expand-snippet-hook #'+snippets|yas-before-expand)
(defun +snippets|yas-after-expand ()
"Fix previous hook persisting yas-selected-text between expansions."
(setq yas-selected-text nil))
(add-hook 'yas-after-exit-snippet-hook '+snippets|yas-after-expand)))
(add-hook 'yas-after-exit-snippet-hook #'+snippets|yas-after-expand)))
(def-package! auto-yasnippet
:commands (aya-create aya-expand aya-open-line aya-persist-snippet)
:init
(map! :i [C-tab] 'aya-expand
:nv [C-tab] 'aya-create)
(map! :i [C-tab] #'aya-expand
:nv [C-tab] #'aya-create)
:config
(setq aya-persist-snippets-dir (concat doom-local-dir "auto-snippets/")))

View file

@ -9,8 +9,8 @@
(map! :map flyspell-mode-map
:localleader
:n "s" 'flyspell-correct-word-generic
:n "S" 'flyspell-correct-previous-word-generic))
:n "s" #'flyspell-correct-word-generic
:n "S" #'flyspell-correct-previous-word-generic))
(def-package! flyspell-correct
@ -24,5 +24,5 @@
(t
(require 'flyspell-correct-popup)
(setq flyspell-popup-correct-delay 0.8)
(define-key popup-menu-keymap [escape] 'keyboard-quit))))
(define-key popup-menu-keymap [escape] #'keyboard-quit))))

View file

@ -16,19 +16,20 @@
(set! :popup " ?\\*Flycheck.+\\*" :size 14 :noselect t :regexp t)
(map! :map flycheck-error-list-mode-map
:n "C-n" 'flycheck-error-list-next-error
:n "C-p" 'flycheck-error-list-previous-error
:n "j" 'flycheck-error-list-next-error
:n "k" 'flycheck-error-list-previous-error
:n "RET" 'flycheck-error-list-goto-error)
:n "C-n" #'flycheck-error-list-next-error
:n "C-p" #'flycheck-error-list-previous-error
:n "j" #'flycheck-error-list-next-error
:n "k" #'flycheck-error-list-previous-error
:n "RET" #'flycheck-error-list-goto-error)
(define-fringe-bitmap 'flycheck-fringe-bitmap-double-arrow
[0 0 0 0 0 4 12 28 60 124 252 124 60 28 12 4 0 0 0 0])
;; Flycheck buffer on ESC in normal mode.
(defun +syntax-checkers|flycheck-buffer ()
(if flycheck-mode (flycheck-buffer)))
(advice-add 'evil-force-normal-state :after '+syntax-checkers|flycheck-buffer))
(after! evil
;; Flycheck buffer on ESC in normal mode.
(defun +syntax-checkers|flycheck-buffer ()
(if flycheck-mode (flycheck-buffer)))
(advice-add #'evil-force-normal-state :after #'+syntax-checkers|flycheck-buffer)))
(def-package! flycheck-pos-tip

View file

@ -16,16 +16,16 @@
(when (and (buffer-file-name)
(not (file-remote-p (buffer-file-name))))
(git-gutter-mode +1)))
(add-hook! (text-mode prog-mode conf-mode) '+version-control|git-gutter-maybe)
(add-hook! (text-mode prog-mode conf-mode) #'+version-control|git-gutter-maybe)
:config
(set! :popup "^\\*git-gutter.+\\*$" :regexp t :size 15 :noselect t)
;; Update git-gutter on focus (in case I was using git externally)
(add-hook 'focus-in-hook 'git-gutter:update-all-windows)
(add-hook 'focus-in-hook #'git-gutter:update-all-windows)
(after! evil
;; Refreshing git-gutter on ESC
(advice-add 'evil-force-normal-state :after 'git-gutter)))
(advice-add #'evil-force-normal-state :after #'git-gutter)))
(def-package! browse-at-remote

View file

@ -16,12 +16,12 @@
'(vc-git-log-view-mode . normal))
(map! :map vc-annotate-mode-map
:n "q" 'kill-this-buffer
:n "d" 'vc-annotate-show-diff-revision-at-line
:n "D" 'vc-annotate-show-changeset-diff-revision-at-line
:n "SPC" 'vc-annotate-show-log-revision-at-line
:n "]]" 'vc-annotate-next-revision
:n "[[" 'vc-annotate-prev-revision
:n [tab] 'vc-annotate-toggle-annotation-visibility
:n "RET" 'vc-annotate-find-revision-at-line))
:n "q" #'kill-this-buffer
:n "d" #'vc-annotate-show-diff-revision-at-line
:n "D" #'vc-annotate-show-changeset-diff-revision-at-line
:n "SPC" #'vc-annotate-show-log-revision-at-line
:n "]]" #'vc-annotate-next-revision
:n "[[" #'vc-annotate-prev-revision
:n [tab] #'vc-annotate-toggle-annotation-visibility
:n "RET" #'vc-annotate-find-revision-at-line))

View file

@ -374,7 +374,7 @@ the workspace and move to the next."
(current-name (+workspace-current-name))
(i 0))
(mapconcat
'identity
#'identity
(mapcar (lambda (it)
(cl-incf i)
(propertize (format " [%d] %s " i it)
@ -402,7 +402,7 @@ the workspace and move to the next."
;;;###autoload
(defun +workspace-error (message &optional noerror)
"Show an 'elegant' error in the echo area next to a listing of workspaces."
(funcall (if noerror 'message 'error) "%s" (+workspace--message-body message 'error)))
(funcall (if noerror #'message #'error) "%s" (+workspace--message-body message 'error)))
;;;###autoload
(defun +workspace/display ()

View file

@ -53,7 +53,7 @@ renamed.")
(when (= persp-auto-resume-time -1)
(persp-frame-switch +workspaces-main)))
(define-key persp-mode-map [remap delete-window] '+workspace/close-window-or-workspace)
(define-key persp-mode-map [remap delete-window] #'+workspace/close-window-or-workspace)
;; Per-frame perspectives
(setq persp-init-new-frame-behaviour-override nil
@ -68,7 +68,7 @@ renamed.")
(when (and (string= (or (frame-parameter frame 'assoc-persp) "") (+workspace-current-name))
(not (delq (doom-fallback-buffer) (doom-real-buffers-list))))
(+workspace/delete persp-name)))
(add-hook 'delete-frame-functions '+workspaces*delete-frame-and-persp)
(add-hook 'delete-frame-functions #'+workspaces*delete-frame-and-persp)
(defun +workspaces*auto-add-buffer (buffer &rest _)
"Auto-associate buffers with perspectives upon opening them. Allows a
@ -78,18 +78,18 @@ perspective-specific buffer list via `doom-buffer-list'."
(doom-real-buffer-p buffer))
(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 #'switch-to-buffer :after #'+workspaces*auto-add-buffer)
(advice-add #'display-buffer :after #'+workspaces*auto-add-buffer)
(defun doom|new-workspace-on-project-change ()
"Create a new workspace when switching project with projectile."
(+workspace-switch (projectile-project-name) t))
(add-hook 'projectile-before-switch-project-hook 'doom|new-workspace-on-project-change)
(add-hook 'projectile-before-switch-project-hook #'doom|new-workspace-on-project-change)
(defun +workspaces*reinit-popups (&rest _)
"Runs `+workspaces-load-session-hook'."
(run-hook-with-args '+workspaces-load-session-hook (window-list)))
(advice-add 'persp-load-state-from-file :after '+workspaces*reinit-popups)
(advice-add #'persp-load-state-from-file :after #'+workspaces*reinit-popups)
(defun +workspaces|restore-popups (windows)
"Restore popup windows when loading a perspective from file."
@ -99,5 +99,5 @@ perspective-specific buffer list via `doom-buffer-list'."
(unless doom-popup-mode
(setq-local doom-popup-rules plist)
(doom-popup-mode +1))))))
(add-hook '+workspaces-load-session-hook '+workspaces|restore-popups))
(add-hook '+workspaces-load-session-hook #'+workspaces|restore-popups))