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

@ -53,7 +53,7 @@ the current workspace."
(buffer-list)))
(project-root (and project-p (doom-project-root t))))
(if project-root
(funcall (if (eq project-p 'not) 'cl-remove-if 'cl-remove-if-not)
(funcall (if (eq project-p 'not) #'cl-remove-if #'cl-remove-if-not)
(lambda (b) (projectile-project-buffer-p b project-root))
buffers)
buffers)))
@ -62,7 +62,7 @@ the current workspace."
(defun doom-real-buffers-list (&optional buffer-list)
"Get a list of all buffers (in the current workspace OR in BUFFER-LIST) that
`doom-real-buffer-p' returns non-nil for."
(cl-remove-if-not 'doom-real-buffer-p (or buffer-list (doom-buffer-list))))
(cl-remove-if-not #'doom-real-buffer-p (or buffer-list (doom-buffer-list))))
;;;###autoload
(defun doom-buffers-in-mode (modes &optional buffer-list)
@ -76,19 +76,19 @@ the current workspace."
(defun doom-visible-windows (&optional window-list)
"Get a list of the visible windows in the current frame (that aren't popups),
OR return only the visible windows in WINDOW-LIST."
(cl-remove-if 'doom-popup-p (or window-list (window-list))))
(cl-remove-if #'doom-popup-p (or window-list (window-list))))
;;;###autoload
(defun doom-visible-buffers (&optional buffer-list)
"Get a list of unburied buffers in the current project and workspace, OR
return only the unburied buffers in BUFFER-LIST (a list of BUFFER-OR-NAMEs)."
(cl-remove-if-not 'get-buffer-window (or buffer-list (doom-buffer-list))))
(cl-remove-if-not #'get-buffer-window (or buffer-list (doom-buffer-list))))
;;;###autoload
(defun doom-buried-buffers (&optional buffer-list)
"Get a list of buried buffers in the current project and workspace, OR return
only the buried buffers in BUFFER-LIST (a list of BUFFER-OR-NAMEs)."
(cl-remove-if 'get-buffer-window (or buffer-list (doom-buffer-list))))
(cl-remove-if #'get-buffer-window (or buffer-list (doom-buffer-list))))
;;;###autoload
(defun doom-matching-buffers (pattern &optional buffer-list)
@ -109,7 +109,7 @@ buffers. If there's nothing left, switch to `doom-fallback-buffer'. See
((= (length buffers) 1)
(set-window-buffer nil (car buffers)))
(t
(let ((move-func (if (> n 0) 'switch-to-next-buffer 'switch-to-prev-buffer)))
(let ((move-func (if (> n 0) #'switch-to-next-buffer #'switch-to-prev-buffer)))
;; Why this instead of switching straight to the Nth buffer in
;; BUFFERS? Because `switch-to-next-buffer' and
;; `switch-to-prev-buffer' properly update buffer list order.
@ -202,7 +202,7 @@ See `doom-real-buffer-p' for what 'real' means."
"Kill all buffers (in current workspace OR in BUFFER-LIST) that match the
regex PATTERN. Returns the number of killed buffers."
(let ((buffers (doom-matching-buffers pattern buffer-list)))
(mapc 'doom-kill-buffer buffers)
(mapc #'doom-kill-buffer buffers)
(length buffers)))
;;;###autoload
@ -218,7 +218,7 @@ regex PATTERN. Returns the number of killed buffers."
belong to the current project in this workspace."
(interactive "P")
(let ((buffers (doom-buffer-list project-p)))
(mapc 'doom-kill-buffer-and-windows buffers)
(mapc #'doom-kill-buffer-and-windows buffers)
(when (called-interactively-p 'interactive)
(message "Killed %s buffers" (length buffers)))))
@ -250,7 +250,7 @@ exclude buffers that aren't part of the current project."
"Clean up buried and process buffers in the current workspace."
(interactive "P")
(let ((buffers (doom-buried-buffers (if all-p (buffer-list)))))
(mapc 'kill-buffer buffers)
(mapc #'kill-buffer buffers)
(setq n (+ (doom-kill-process-buffers) (length buffers)))
(when (called-interactively-p 'interactive)
(message "Cleaned up %s buffers" n))))

View file

@ -37,7 +37,7 @@ If already there, do nothing."
(skip-chars-backward " " bol)
(point))))
eol))
(goto-char-fn (if (featurep 'evil) 'evil-goto-char 'goto-char)))
(goto-char-fn (if (featurep 'evil) #'evil-goto-char #'goto-char)))
(if (= eoc point)
(funcall goto-char-fn eol)
(unless (= eol point)
@ -64,7 +64,7 @@ If already there, do nothing."
"Dedents the current line."
(interactive)
(if indent-tabs-mode
(call-interactively 'backward-delete-char)
(call-interactively #'backward-delete-char)
(save-excursion
(unless (looking-back "^[\s\t]*" (line-beginning-position))
(doom--goto-first-non-blank))
@ -78,7 +78,7 @@ If already there, do nothing."
afterwards, kill line to column 1."
(interactive)
(let ((empty-line (save-excursion (beginning-of-line) (looking-at-p "[ \t]*$"))))
(funcall (if (featurep 'evil) 'evil-delete 'delete-region)
(funcall (if (featurep 'evil) #'evil-delete #'delete-region)
(point-at-bol) (point))
(unless empty-line
(indent-according-to-mode))))
@ -113,9 +113,9 @@ possible, or just one char if that's not possible."
(if (string-match "\\w*\\(\\s-+\\)$"
(buffer-substring-no-properties (max (point-min) (- p movement)) p))
(delete-char (- 0 (- (match-end 1) (match-beginning 1))))
(call-interactively 'delete-backward-char)))))
(call-interactively #'delete-backward-char)))))
;; Otherwise do a regular delete
(t (call-interactively 'delete-backward-char)))))
(t (call-interactively #'delete-backward-char)))))
;;;###autoload
(defun doom/inflate-space-maybe ()
@ -123,9 +123,9 @@ possible, or just one char if that's not possible."
space on either side of the point if so."
(interactive)
(if (doom--surrounded-p)
(progn (call-interactively 'self-insert-command)
(save-excursion (call-interactively 'self-insert-command)))
(call-interactively 'self-insert-command)))
(progn (call-interactively #'self-insert-command)
(save-excursion (call-interactively #'self-insert-command)))
(call-interactively #'self-insert-command)))
;;;###autoload
(defun doom/deflate-space-maybe ()
@ -137,12 +137,12 @@ spaces on either side of the point if so. Resorts to
(if (doom--surrounded-p)
(let ((whitespace-match (match-string 1)))
(cond ((not whitespace-match)
(call-interactively 'delete-backward-char))
(call-interactively #'delete-backward-char))
((string-match "\n" whitespace-match)
(funcall (if (featurep 'evil) 'evil-delete 'delete-region)
(funcall (if (featurep 'evil) #'evil-delete #'delete-region)
(point-at-bol) (point))
(call-interactively 'delete-backward-char)
(save-excursion (call-interactively 'delete-char)))
(call-interactively #'delete-backward-char)
(save-excursion (call-interactively #'delete-char)))
(t (just-one-space 0))))
(doom/backward-delete-whitespace-to-column))))
@ -155,7 +155,7 @@ from a commented line."
(newline))
((sp-point-in-comment)
(cond ((memq major-mode '(js2-mode rjsx-mode))
(call-interactively 'js2-line-break))
(call-interactively #'js2-line-break))
((memq major-mode '(java-mode php-mode))
(c-indent-new-comment-line))
((memq major-mode '(c-mode c++-mode objc-mode css-mode scss-mode js2-mode))

View file

@ -44,7 +44,7 @@ interactive session."
(lambda (rule)
`(,(car rule)
(lambda (message &rest args)
(apply 'doom-ansi-apply ',(car rule) message args))))
(apply #'doom-ansi-apply ',(car rule) message args))))
(append doom-message-fg doom-message-bg doom-message-fx))
(color (symbol-function 'doom-ansi-apply)))
(format ,message ,@args)))
@ -73,6 +73,6 @@ interactive session."
(assq code doom-message-fx))))
(format "\e[%dm%s\e[%dm"
(cdr rule)
(apply 'format format args)
(apply #'format format args)
0)))

View file

@ -76,14 +76,14 @@ Be careful not to use it in a loop."
(or (assq pkgsym doom-packages)
(list (car (assq pkgsym package-alist)))))
(cl-delete-duplicates
(append doom-core-packages (mapcar 'car doom-packages))))))
(append doom-core-packages (mapcar #'car doom-packages))))))
;;;###autoload
(defun doom-get-depending-on (name)
"Return a list of packages that depend on the package named NAME."
(doom-initialize)
(when-let (desc (cadr (assq name package-alist)))
(mapcar 'package-desc-name (package--used-elsewhere-p desc nil t))))
(mapcar #'package-desc-name (package--used-elsewhere-p desc nil t))))
;;;###autoload
(defun doom-get-dependencies-for (name &optional only)
@ -97,7 +97,7 @@ Be careful not to use it in a loop."
containing (PACKAGE-SYMBOL OLD-VERSION-LIST NEW-VERSION-LIST).
Used by `doom/packages-update'."
(delq nil (mapcar 'doom-package-outdated-p (mapcar 'car (doom-get-packages)))))
(delq nil (mapcar #'doom-package-outdated-p (mapcar #'car (doom-get-packages)))))
;;;###autoload
(defun doom-get-orphaned-packages ()
@ -107,7 +107,7 @@ depended on.
Used by `doom/packages-autoremove'."
(doom-initialize-packages t)
(let ((package-selected-packages
(append (mapcar 'car doom-packages) doom-core-packages)))
(append (mapcar #'car doom-packages) doom-core-packages)))
(cl-set-difference (package--removable-packages)
doom-protected-packages)))
@ -158,7 +158,7 @@ example; the package name can be omitted)."
(recipe (plist-get plist :recipe)))
(cond (recipe (quelpa recipe))
(t (package-install name))))
(cl-pushnew (cons name plist) doom-packages :test 'eq :key 'car)
(cl-pushnew (cons name plist) doom-packages :test #'eq :key #'car)
(package-installed-p name))
(defun doom-update-package (name)
@ -219,7 +219,7 @@ appropriate."
(if (plist-get (cdr pkg) :recipe)
"QUELPA"
"ELPA")))
(sort (cl-copy-list packages) 'doom--sort-alpha)
(sort (cl-copy-list packages) #'doom--sort-alpha)
"\n")))))
(message! (yellow "Aborted!")))
@ -249,7 +249,7 @@ appropriate."
(defun doom/packages-update ()
"Interactive command for updating packages."
(interactive)
(let ((packages (sort (doom-get-outdated-packages) 'doom--sort-alpha)))
(let ((packages (sort (doom-get-outdated-packages) #'doom--sort-alpha)))
(cond ((not packages)
(message! (green "Everything is up-to-date")))
@ -299,7 +299,7 @@ appropriate."
(format "%s packages will be deleted:\n\n%s\n\nProceed?"
(length packages)
(mapconcat (lambda (sym) (format "+ %s" (symbol-name sym)))
(sort (cl-copy-list packages) 'string-lessp)
(sort (cl-copy-list packages) #'string-lessp)
"\n")))))
(message! (yellow "Aborted!")))
@ -319,7 +319,7 @@ appropriate."
(doom/reload)))))
;;;###autoload
(defalias 'doom/install-package 'package-install)
(defalias 'doom/install-package #'package-install)
;;;###autoload
(defun doom/delete-package (package)
@ -332,7 +332,7 @@ Use this interactively. Use `doom-delete-package' for direct calls."
"Delete package: "
(delq nil
(mapcar (lambda (p) (unless (package-built-in-p p) p))
(mapcar 'car package-alist)))
(mapcar #'car package-alist)))
nil t))))
(if (package-installed-p package)
(if (y-or-n-p (format "%s will be deleted. Confirm?" package))
@ -352,7 +352,7 @@ calls."
(let ((packages (doom-get-outdated-packages)))
(list
(if packages
(completing-read "Update package: " (mapcar 'symbol-name (mapcar 'car packages)))
(completing-read "Update package: " (mapcar #'symbol-name (mapcar #'car packages)))
(user-error "All packages are up-to-date")))))
(if-let (desc (doom-package-outdated-p (intern package)))
(if (y-or-n-p (format "%s will be updated from %s to %s. Update?"

View file

@ -35,7 +35,7 @@ possible rules."
;;;###autoload
(defun doom-popup-windows ()
"Get a list of open poups."
(cl-remove-if-not 'doom-popup-p (window-list)))
(cl-remove-if-not #'doom-popup-p (window-list)))
;;;###autoload
(defun doom/popup-restore ()
@ -54,7 +54,7 @@ Returns t if popups were restored, nil otherwise."
(rules (plist-get (cdr spec) :rules)))
(when (and (not buffer) path)
(setq buffer (find-file-noselect path t)))
(when (and buffer (apply 'doom-popup-buffer buffer rules) (not any-p))
(when (and buffer (apply #'doom-popup-buffer buffer rules) (not any-p))
(setq any-p t))))
(when any-p
(setq doom-popup-history '()))
@ -90,7 +90,7 @@ only close popups that have an :autoclose property in their rule (see
(interactive)
(let ((orig-win (selected-window)))
(when-let (popups (doom-popup-windows))
(setq doom-popup-history (mapcar 'doom--popup-data popups))
(setq doom-popup-history (mapcar #'doom--popup-data popups))
(let (doom-popup-remember-history)
(dolist (window popups)
(let ((rules (window-parameter window 'popup)))
@ -107,8 +107,8 @@ only close popups that have an :autoclose property in their rule (see
(let ((window (selected-window)))
(if (window-parameter window :noesc)
(call-interactively (if (featurep 'evil)
'evil-force-normal-state
'keyboard-escape-quit))
#'evil-force-normal-state
#'keyboard-escape-quit))
(delete-window window))))
;;;###autoload

View file

@ -22,13 +22,13 @@
"Runs a shell command and prints any output to the DOOM buffer."
(let ((cmd-list (split-string command " ")))
(cond ((equal (car cmd-list) "sudo")
(apply 'doom-sudo (s-join " " (cdr cmd-list)) args))
(apply #'doom-sudo (string-join (cdr cmd-list) " ") args))
((let ((bin (executable-find "npm")))
(and (file-exists-p bin)
(not (file-writable-p bin))))
(apply 'doom-sudo (s-join " " cmd-list) args))
(apply #'doom-sudo (string-join cmd-list " ") args))
(t
(princ (shell-command-to-string (apply 'format command args)))))))
(princ (shell-command-to-string (apply #'format command args)))))))
;;;###autoload
(defun doom-sudo (command &rest args)
@ -37,7 +37,7 @@
(with-current-buffer (get-buffer-create "*doom-sudo*")
(unless (string-prefix-p "/sudo::/" default-directory)
(cd "/sudo::/"))
(princ (shell-command-to-string (apply 'format command args))))))
(princ (shell-command-to-string (apply #'format command args))))))
;;;###autoload
(defun doom-fetch (fetcher location dest)

View file

@ -21,7 +21,7 @@
(interactive)
(let ((theme (car-safe custom-enabled-themes)))
(when theme
(mapc 'disable-theme custom-enabled-themes))
(mapc #'disable-theme custom-enabled-themes))
(load-theme theme t)))
;;;###autoload

View file

@ -60,8 +60,8 @@
;; Ediff
(add-hook! ediff-load
(setq ediff-diff-options "-w"
ediff-split-window-function 'split-window-horizontally
ediff-window-setup-function 'ediff-setup-windows-plain)) ; no extra frames
ediff-split-window-function #'split-window-horizontally
ediff-window-setup-function #'ediff-setup-windows-plain)) ; no extra frames
;; revert buffers for changed files
(global-auto-revert-mode 1)
@ -71,7 +71,7 @@
(defun doom|dont-kill-scratch-buffer ()
(or (not (eq (buffer-name) "*scratch*"))
(ignore (bury-buffer))))
(add-hook 'kill-buffer-query-functions 'doom|dont-kill-scratch-buffer)
(add-hook 'kill-buffer-query-functions #'doom|dont-kill-scratch-buffer)
;; enabled by default in Emacs 25+. No thanks.
(electric-indent-mode -1)
@ -86,7 +86,7 @@
(when (and (if (featurep 'evil) (evil-insert-state-p) t)
(string-match-p "^[\s\t]*$" linestr))
(insert linestr))))
(advice-add 'delete-trailing-whitespace :around 'doom*delete-trailing-whitespace)
(advice-add #'delete-trailing-whitespace :around #'doom*delete-trailing-whitespace)
;;
@ -129,8 +129,8 @@
(smartparens-global-mode 1)
(require 'smartparens-config)
;; Smartparens interferes with Replace mode
(add-hook 'evil-replace-state-entry-hook 'turn-off-smartparens-mode)
(add-hook 'evil-replace-state-exit-hook 'turn-on-smartparens-mode)
(add-hook 'evil-replace-state-entry-hook #'turn-off-smartparens-mode)
(add-hook 'evil-replace-state-exit-hook #'turn-on-smartparens-mode)
;; Auto-close more conservatively
(sp-pair "'" nil :unless '(sp-point-before-word-p sp-point-after-word-p sp-point-before-same-p))
(sp-pair "\"" nil :unless '(sp-point-before-word-p sp-point-after-word-p sp-point-before-same-p))
@ -200,8 +200,8 @@
:commands (wgrep-setup wgrep-change-to-wgrep-mode)
:config
(setq wgrep-auto-save-buffer t)
(advice-add 'wgrep-abort-changes :after 'doom/popup-close)
(advice-add 'wgrep-finish-edit :after 'doom/popup-close))
(advice-add #'wgrep-abort-changes :after #'doom/popup-close)
(advice-add #'wgrep-finish-edit :after #'doom/popup-close))
(provide 'core-editor)
;;; core-editor.el ends here

View file

@ -15,7 +15,7 @@
(def-package! which-key
:defer 1
:config
(setq which-key-sort-order 'which-key-key-order-alpha
(setq which-key-sort-order #'which-key-key-order-alpha
which-key-sort-uppercase-first nil
which-key-add-column-padding 1
which-key-max-display-columns nil
@ -28,7 +28,7 @@
(which-key-setup-side-window-bottom)
(which-key-mode +1)
(when (cdr doom--which-key-defs)
(apply 'which-key-add-key-based-replacements (cdr doom--which-key-defs))))
(apply #'which-key-add-key-based-replacements (cdr doom--which-key-defs))))
(defun doom-keyword-to-states (keyword &optional ignore)

View file

@ -84,8 +84,8 @@ compilation."
(if (symbolp feature)
(require feature nil :no-error)
(load feature :no-message :no-error)))
'progn
'with-no-warnings)
#'progn
#'with-no-warnings)
(with-eval-after-load ',feature ,@forms)))
(defmacro quiet! (&rest forms)
@ -114,10 +114,10 @@ function/hook is first invoked, then it detaches itself."
`(progn
(defun ,fn (&rest _)
,@forms
,(cond ((functionp hook) `(advice-remove ',hook ',fn))
((symbolp hook) `(remove-hook ',hook ',fn))))
,(cond ((functionp hook) `(advice-add ',hook :before ',fn))
((symbolp hook) `(add-hook ',hook ',fn))))))
,(cond ((functionp hook) `(advice-remove #',hook #',fn))
((symbolp hook) `(remove-hook ',hook #',fn))))
,(cond ((functionp hook) `(advice-add #',hook :before #',fn))
((symbolp hook) `(add-hook ',hook #',fn))))))
(defmacro add-hook! (&rest args)
"A convenience macro for `add-hook'. Takes, in order:
@ -151,7 +151,7 @@ Body forms can access the hook's arguments through the let-bound variable
(let ((hooks (doom--resolve-hooks (pop args)))
(funcs
(let ((val (car args)))
(if (eq (car-safe val) 'quote)
(if (memq (car-safe val) '(quote function))
(if (cdr-safe (cadr val))
(cadr val)
(list (cadr val)))
@ -159,7 +159,7 @@ Body forms can access the hook's arguments through the let-bound variable
forms)
(dolist (fn funcs)
(setq fn (if (symbolp fn)
`(quote ,fn)
`(function ,fn)
`(lambda (&rest args) ,@args)))
(dolist (hook hooks)
(push (cond ((eq hook-fn 'remove-hook)
@ -249,11 +249,11 @@ executed when called with `set!'. FORMS are not evaluated until `set!' calls it.
(dotimes (i 2) (pop forms)))
`(push (cons ',name
(lambda ()
(cl-flet ((sh (lambda (&rest args) (apply 'doom-sh args)))
(sudo (lambda (&rest args) (apply 'doom-sudo args)))
(fetch (lambda (&rest args) (apply 'doom-fetch args)))
(cl-flet ((sh (lambda (&rest args) (apply #'doom-sh args)))
(sudo (lambda (&rest args) (apply #'doom-sudo args)))
(fetch (lambda (&rest args) (apply #'doom-fetch args)))
(message (lambda (&rest args)
(apply 'message (format "[%s] %s" ,(symbol-name name) (car args))
(apply #'message (format "[%s] %s" ,(symbol-name name) (car args))
(cdr args)))))
(if (not ,(if (not prereqs)
't
@ -281,7 +281,7 @@ recipes for setting up the external dependencies of a module by, for instance,
using the OS package manager to install them, or retrieving them from a repo
using `doom-fetch'."
(interactive
(list (list (completing-read "Bootstrap: " (mapcar 'car doom-bootstraps) nil t))))
(list (list (completing-read "Bootstrap: " (mapcar #'car doom-bootstraps) nil t))))
(let (noninteractive)
(load "core.el" nil t))
(doom-initialize-packages t)
@ -295,7 +295,7 @@ using `doom-fetch'."
(and err-not-func
(message "ERROR: These bootstraps were invalid: %s" err-not-func)))
(error "There were errors. Aborting."))
(mapc 'doom-bootstrap ids)))
(mapc #'doom-bootstrap ids)))
(provide 'core-lib)
;;; core-lib.el ends here

View file

@ -54,7 +54,7 @@
;; Most of this code grokked from:
;; http://stackoverflow.com/questions/15873346/elisp-rename-macro
(when (or (featurep 'mac) (featurep 'ns))
(advice-add 'evil-visual-update-x-selection :override 'ignore))))
(advice-add #'evil-visual-update-x-selection :override #'ignore))))
(IS-LINUX
;; nothing yet

View file

@ -139,7 +139,7 @@ to speed up startup."
load-path (append load-path doom--package-load-path))
;; Ensure core packages are installed
(let ((core-packages (cl-remove-if 'package-installed-p doom-core-packages)))
(let ((core-packages (cl-remove-if #'package-installed-p doom-core-packages)))
(when core-packages
(package-refresh-contents)
(dolist (pkg core-packages)
@ -191,7 +191,7 @@ files."
e.g '(:feature evil :lang emacs-lisp javascript java)"
(unless doom-modules
(setq doom-modules (make-hash-table :test 'equal :size (+ 5 (length modules)))))
(setq doom-modules (make-hash-table :test #'equal :size (+ 5 (length modules)))))
(let (mode)
(dolist (m modules)
(cond ((keywordp m)
@ -204,7 +204,7 @@ files."
(mapcar
(lambda (dir) (intern (file-name-nondirectory dir)))
(cl-remove-if-not
'file-directory-p
#'file-directory-p
(directory-files (expand-file-name
(substring (symbol-name mode) 1)
doom-modules-dir)
@ -289,7 +289,7 @@ byte-compilation."
(server-start)))
;; Benchmark
(add-hook 'after-init-hook 'doom--display-benchmark t))))
(add-hook 'after-init-hook #'doom--display-benchmark t))))
(defalias 'def-package! 'use-package
"An alias for `use-package'. Note that packages are deferred by default.")
@ -535,7 +535,7 @@ package files."
;;
;; Updates QUELPA after deleting a package
(advice-add 'package-delete :after 'doom*package-delete)
(advice-add #'package-delete :after #'doom*package-delete)
(provide 'core-packages)
;;; core-packages.el ends here

View file

@ -99,7 +99,7 @@ for :align t on every rule."
(plist-member plist :noselect))
(plist-put plist :select t)))
plist)
(advice-add 'shackle--match :filter-return 'doom*shackle-always-align))
(advice-add #'shackle--match :filter-return #'doom*shackle-always-align))
;;
@ -173,7 +173,7 @@ for :align t on every rule."
(set-window-parameter window param nil))))))
;; Hide modeline in completion popups
(add-hook 'completion-list-mode-hook 'doom-hide-modeline-mode)
(add-hook 'completion-list-mode-hook #'doom-hide-modeline-mode)
;;
(defun doom*popup-init (orig-fn &rest args)
@ -202,7 +202,7 @@ prevent the popup(s) from messing up the UI (or vice versa)."
(popups (doom-popup-windows))
(doom-popup-remember-history t))
(when popups
(mapc 'doom/popup-close popups))
(mapc #'doom/popup-close popups))
(unwind-protect (apply orig-fn args)
(when popups
(let ((origin (selected-window)))
@ -223,9 +223,9 @@ properties."
(when autokill-p
(kill-buffer (current-buffer))))))))
(advice-add 'shackle-display-buffer :around 'doom*popup-init)
(advice-add 'balance-windows :around 'doom*popups-save)
(advice-add 'delete-window :before 'doom*delete-popup-window)
(advice-add #'shackle-display-buffer :around #'doom*popup-init)
(advice-add #'balance-windows :around #'doom*popups-save)
(advice-add #'delete-window :before #'doom*delete-popup-window)
;;
@ -251,11 +251,11 @@ mode in any evil-mode buffer."
(and (bound-and-true-p evil-mode)
(evil-ex-hl-active-p 'evil-ex-search)))
(doom/popup-close-all)))
(advice-add 'evil-force-normal-state :after 'doom*popup-close-all-maybe)
(advice-add #'evil-force-normal-state :after #'doom*popup-close-all-maybe)
;; Make evil-mode cooperate with popups
(advice-add 'evil-command-window :override 'doom*popup-evil-command-window)
(advice-add 'evil-command-window-execute :override 'doom*popup-evil-command-window-execute)
(advice-add #'evil-command-window :override #'doom*popup-evil-command-window)
(advice-add #'evil-command-window-execute :override #'doom*popup-evil-command-window-execute)
(defun doom*popup-evil-command-window (hist cmd-key execute-fn)
"The evil command window has a mind of its own (uses `switch-to-buffer'). We
@ -292,11 +292,11 @@ the command buffer."
(setq evil-command-window-current-buffer nil)))
;; Don't mess with popups
(advice-add 'doom-evil-window-move :around 'doom*popups-save)
(advice-add 'evil-window-move-very-bottom :around 'doom*popups-save)
(advice-add 'evil-window-move-very-top :around 'doom*popups-save)
(advice-add 'evil-window-move-far-left :around 'doom*popups-save)
(advice-add 'evil-window-move-far-right :around 'doom*popups-save)
(advice-add #'doom-evil-window-move :around #'doom*popups-save)
(advice-add #'evil-window-move-very-bottom :around #'doom*popups-save)
(advice-add #'evil-window-move-very-top :around #'doom*popups-save)
(advice-add #'evil-window-move-far-left :around #'doom*popups-save)
(advice-add #'evil-window-move-far-right :around #'doom*popups-save)
;; Don't block moving to/from popup windows
(defun doom*ignore-window-parameters-in-popups (dir &optional arg window)
@ -304,7 +304,7 @@ the command buffer."
((eq dir 'down) 'below)
(t dir))
window t arg windmove-wrap-around t))
(advice-add 'windmove-find-other-window :override 'doom*ignore-window-parameters-in-popups))
(advice-add #'windmove-find-other-window :override #'doom*ignore-window-parameters-in-popups))
(after! help-mode
@ -347,7 +347,7 @@ the command buffer."
;; (after! magit
;; ;; Don't open files (from magit) within the magit popup
;; (advice-add 'magit-display-file-buffer-traditional :around 'doom*popups-save))
;; (advice-add #'magit-display-file-buffer-traditional :around #'doom*popups-save))
(after! neotree
@ -363,23 +363,23 @@ the command buffer."
(neotree-show))))))
;; Prevents messing up the neotree buffer on window changes
(advice-add '+evil-window-move :around 'doom*popups-save-neotree)
(advice-add #'+evil-window-move :around #'doom*popups-save-neotree)
;; Don't let neotree interfere with moving, splitting or rebalancing windows
(advice-add 'evil-window-move-very-bottom :around 'doom*popups-save-neotree)
(advice-add 'evil-window-move-very-top :around 'doom*popups-save-neotree)
(advice-add 'evil-window-move-far-left :around 'doom*popups-save-neotree)
(advice-add 'evil-window-move-far-right :around 'doom*popups-save-neotree))
(advice-add #'evil-window-move-very-bottom :around #'doom*popups-save-neotree)
(advice-add #'evil-window-move-very-top :around #'doom*popups-save-neotree)
(advice-add #'evil-window-move-far-left :around #'doom*popups-save-neotree)
(advice-add #'evil-window-move-far-right :around #'doom*popups-save-neotree))
(after! mu4e
(advice-add 'mu4e~temp-window :override 'doom*mu4e~temp-window)
(advice-add #'mu4e~temp-window :override #'doom*mu4e~temp-window)
(defun doom*mu4e~temp-window (buf height)
(doom-popup-buffer buf :size 10 :noselect t)
buf))
(after! twittering-mode
(setq twittering-pop-to-buffer-function 'pop-to-buffer))
(setq twittering-pop-to-buffer-function #'pop-to-buffer))
;; Ensure these settings are attached to org-load-hook as late as possible,
@ -407,14 +407,14 @@ the command buffer."
;; Suppress `delete-other-windows' in org functions:
(defun doom*suppress-delete-other-windows (orig-fn &rest args)
(cl-flet ((silence (&rest args) (ignore)))
(advice-add 'delete-other-windows :around #'silence)
(advice-add #'delete-other-windows :around #'silence)
(unwind-protect
(apply orig-fn args)
(advice-remove 'delete-other-windows #'silence))))
(advice-add 'org-capture-place-template :around #'doom*suppress-delete-other-windows)
(advice-add 'org-agenda :around #'doom*suppress-delete-other-windows)
(advice-add 'org-add-log-note :around #'doom*suppress-delete-other-windows)
(advice-add 'org-export--dispatch-ui :around #'doom*suppress-delete-other-windows)
(advice-remove #'delete-other-windows #'silence))))
(advice-add #'org-capture-place-template :around #'doom*suppress-delete-other-windows)
(advice-add #'org-agenda :around #'doom*suppress-delete-other-windows)
(advice-add #'org-add-log-note :around #'doom*suppress-delete-other-windows)
(advice-add #'org-export--dispatch-ui :around #'doom*suppress-delete-other-windows)
;; Tell `org-src-edit' to open another window, which shackle can intercept.
(setq org-src-window-setup 'other-window)
@ -426,11 +426,11 @@ the command buffer."
(let ((window (doom-popup-buffer (car args))))
(set-window-dedicated-p window nil)
(select-window window)))
(advice-add 'org-src-switch-to-buffer :override 'doom*org-src-switch-to-buffer)
(advice-add #'org-src-switch-to-buffer :override #'doom*org-src-switch-to-buffer)
(defun doom*org-src-exit (&rest _)
(when doom-popup-mode (doom-popup-mode -1)))
(advice-add 'org-edit-src-exit :after 'doom*org-src-exit)
(advice-add #'org-edit-src-exit :after #'doom*org-src-exit)
;; Ensure todo, agenda, and other popups are opened with shackle
(defun doom*org-switch-to-buffer-other-window (&rest args)
@ -439,10 +439,10 @@ the command buffer."
(cond ((stringp buf) (get-buffer-create buf))
((bufferp buf) buf)
(t (error "Invalid buffer %s" buf))))))
(advice-add 'org-switch-to-buffer-other-window :override 'doom*org-switch-to-buffer-other-window)
(advice-add #'org-switch-to-buffer-other-window :override #'doom*org-switch-to-buffer-other-window)
;; Hide modeline in org-agenda
(add-hook 'org-agenda-finalize-hook 'doom-hide-modeline-mode)
(add-hook 'org-agenda-finalize-hook #'doom-hide-modeline-mode)
(after! org-agenda
(setq org-agenda-window-setup 'other-window)

View file

@ -43,7 +43,7 @@ state are passed in.")
"Don't traverse the file system if a remote connection."
(unless (file-remote-p default-directory)
(apply orig-fn args)))
(advice-add 'projectile-locate-dominating-file :around 'doom*projectile-locate-dominating-file)
(advice-add #'projectile-locate-dominating-file :around #'doom*projectile-locate-dominating-file)
(defun doom*projectile-cache-current-file (orig-fun &rest args)
"Don't cache ignored files."
@ -52,7 +52,7 @@ state are passed in.")
(expand-file-name path)))
(projectile-ignored-directories))
(apply orig-fun args)))
(advice-add 'projectile-cache-current-file :around 'doom*projectile-cache-current-file))
(advice-add #'projectile-cache-current-file :around #'doom*projectile-cache-current-file))
;;
@ -88,7 +88,7 @@ unless the path begins with ./ or ../, in which case it's relative to
.dir-locals.el files."
(dolist (mode doom-project)
(funcall mode)))
(add-hook 'after-change-major-mode-hook 'doom|autoload-project-mode)
(add-hook 'after-change-major-mode-hook #'doom|autoload-project-mode)
(defmacro def-project-mode! (name &rest plist)
"Define a project minor-mode named NAME, and declare where and how it is

View file

@ -32,12 +32,12 @@
visible-cursor nil
x-stretch-cursor nil
;; no beeping or blinking please
ring-bell-function 'ignore
ring-bell-function #'ignore
visible-bell nil
;; Ask for confirmation on quit only if real buffers exist
confirm-kill-emacs (lambda (_) (if (doom-real-buffers-list) (y-or-n-p " Quit?") t)))
(fset 'yes-or-no-p 'y-or-n-p) ; y/n instead of yes/no
(fset #'yes-or-no-p #'y-or-n-p) ; y/n instead of yes/no
;; auto-enabled in Emacs 25+; I'd rather enable it manually
(global-eldoc-mode -1)
@ -72,7 +72,7 @@ disabled.")
;; undo/redo changes to Emacs' window layout
(defvar winner-dont-bind-my-keys t) ; I'll bind keys myself
(require 'winner)
(add-hook 'window-setup-hook 'winner-mode)
(add-hook 'window-setup-hook #'winner-mode)
;;
@ -107,7 +107,7 @@ disabled.")
(defun doom*autoload-hideshow ()
(unless (bound-and-true-p hs-minor-mode)
(hs-minor-mode 1)))
(advice-add 'evil-toggle-fold :before 'doom*autoload-hideshow)
(advice-add #'evil-toggle-fold :before #'doom*autoload-hideshow)
:config
(setq hs-hide-comments-when-hiding-all nil))
@ -156,10 +156,10 @@ file."
(if highlight-indentation-mode
(progn
(doom|inject-trailing-whitespace)
(add-hook 'before-save-hook 'delete-trailing-whitespace nil t)
(add-hook 'after-save-hook 'doom|inject-trailing-whitespace nil t))
(remove-hook 'before-save-hook 'delete-trailing-whitespace t)
(remove-hook 'after-save-hook 'doom|inject-trailing-whitespace t)
(add-hook 'before-save-hook #'delete-trailing-whitespace nil t)
(add-hook 'after-save-hook #'doom|inject-trailing-whitespace nil t))
(remove-hook 'before-save-hook #'delete-trailing-whitespace t)
(remove-hook 'after-save-hook #'doom|inject-trailing-whitespace t)
(delete-trailing-whitespace))))
;; For modes that don't adequately highlight numbers
@ -183,7 +183,7 @@ file."
(add-hook!
(markdown-mode prog-mode scss-mode web-mode conf-mode groovy-mode
nxml-mode snippet-mode php-mode)
'nlinum-mode)
#'nlinum-mode)
:config
(defun doom*nlinum-flush (&rest _)
@ -191,7 +191,7 @@ file."
(dolist (buffer (doom-visible-buffers))
(with-current-buffer buffer
(when nlinum-mode (nlinum--flush)))))
(advice-add 'set-frame-font :after 'doom*nlinum-flush)
(advice-add #'set-frame-font :after #'doom*nlinum-flush)
;; Optimization: calculate line number column width beforehand
(add-hook! nlinum-mode
@ -203,7 +203,7 @@ file."
(def-package! rainbow-delimiters
:commands rainbow-delimiters-mode
:config (setq rainbow-delimiters-max-face-count 3)
:init (add-hook 'lisp-mode-hook 'rainbow-delimiters-mode))
:init (add-hook 'lisp-mode-hook #'rainbow-delimiters-mode))
;; For a distractions-free-like UI, that dynamically resizes margets and can
;; center a buffer.
@ -226,7 +226,7 @@ file."
(defun ,sym () ,@forms)
,(unless (bound-and-true-p byte-compile-current-file)
`(let (byte-compile-warnings)
(byte-compile ',sym))))))
(byte-compile #',sym))))))
(defsubst doom--prepare-modeline-segments (segments)
(let (segs)
@ -261,7 +261,7 @@ Example:
rhs)))
,(unless (bound-and-true-p byte-compile-current-file)
`(let (byte-compile-warnings)
(byte-compile ',sym))))))
(byte-compile #',sym))))))
(defun doom-modeline (key)
"Returns a mode-line configuration associated with KEY (a symbol). Throws an

View file

@ -111,7 +111,7 @@ there are problems.")
undo-tree-history-directory-alist (list (cons "." (concat doom-cache-dir "undo-tree-hist/"))))
;; be quiet at startup
(advice-add 'display-startup-echo-area-message :override 'ignore)
(advice-add #'display-startup-echo-area-message :override #'ignore)
(setq inhibit-startup-message t
inhibit-startup-echo-area-message user-login-name
initial-major-mode 'fundamental-mode
@ -142,7 +142,7 @@ enable multiple minor modes for the same regexp.")
(funcall (cdar alist) 1))
(setq alist (cdr alist))))))
(add-hook 'find-file-hook 'doom|enable-minor-mode-maybe)
(add-hook 'find-file-hook #'doom|enable-minor-mode-maybe)
;;;

View file

@ -69,16 +69,16 @@
;; for offlineimap
;; mu4e-get-mail-command "offlineimap -o -q"
;; configuration for sending mail
message-send-mail-function 'smtpmail-send-it
message-send-mail-function #'smtpmail-send-it
smtpmail-stream-type 'starttls
;; start with the first (default) context;
mu4e-context-policy 'pick-first
;; compose with the current context, or ask
mu4e-compose-context-policy 'ask-if-none
;; use helm/ivy
mu4e-completing-read-function (cond ((featurep! :completion ivy) 'ivy-completing-read)
((featurep! :completion helm) 'completing-read)
(t 'ido-completing-read))
mu4e-completing-read-function (cond ((featurep! :completion ivy) #'ivy-completing-read)
((featurep! :completion helm) #'completing-read)
(t #'ido-completing-read))
;; close message after sending it
message-kill-buffer-on-exit t
;; no need to ask
@ -92,7 +92,7 @@
(:subject)))
(setq mu4e-bookmarks `((,(mapconcat (lambda (arg) (format " maildir:/%s/Inbox " arg))
(mapcar 'car +email--accounts) " OR ")
(mapcar #'car +email--accounts) " OR ")
"Inbox" ?i)
("flag:unread" "Unread messages" ?u)
("flag:flagged" "Starred messages" ?s)
@ -141,15 +141,15 @@
(cond ((memq mark '(trash refile)) (mu4e-action-retag-message msg "-\\Inbox"))
((eq mark 'flag) (mu4e-action-retag-message msg "+\\Starred"))
((eq mark 'unflag) (mu4e-action-retag-message msg "-\\Starred"))))
(add-hook 'mu4e-mark-execute-pre-hook '+email|gmail-fix-flags)
(add-hook 'mu4e-mark-execute-pre-hook #'+email|gmail-fix-flags)
(when (featurep! :feature spellcheck)
(add-hook 'mu4e-compose-mode-hook 'flyspell-mode))
(add-hook 'mu4e-compose-mode-hook #'flyspell-mode))
;; Brighter + no mode-line in message windows
(after! doom-themes
(add-hook! 'mu4e-view-mode-hook
'(doom-buffer-mode doom-hide-modeline-mode)))
#'(doom-buffer-mode doom-hide-modeline-mode)))
;; Wrap text in messages
(add-hook! 'mu4e-view-mode-hook
@ -165,27 +165,27 @@
:init (defvar evil-mu4e-state 'normal)
:config
(defun +email|headers-keybinds ()
(map! :Ln "-" 'mu4e-headers-mark-for-unflag
:Ln "+" 'mu4e-headers-mark-for-flag
:Ln "v" 'evil-visual-line
:Ln "q" 'mu4e~headers-quit-buffer
(map! :Ln "-" #'mu4e-headers-mark-for-unflag
:Ln "+" #'mu4e-headers-mark-for-flag
:Ln "v" #'evil-visual-line
:Ln "q" #'mu4e~headers-quit-buffer
;; Enable multiple markings via visual mode
:Lv "d" '+email/mark-multiple
:Lv "-" '+email/mark-multiple
:Lv "+" '+email/mark-multiple
:Lv "!" '+email/mark-multiple
:Lv "?" '+email/mark-multiple
:Lv "r" '+email/mark-multiple))
(add-hook 'mu4e-headers-mode-hook '+email|headers-keybinds)
:Lv "d" #'+email/mark-multiple
:Lv "-" #'+email/mark-multiple
:Lv "+" #'+email/mark-multiple
:Lv "!" #'+email/mark-multiple
:Lv "?" #'+email/mark-multiple
:Lv "r" #'+email/mark-multiple))
(add-hook 'mu4e-headers-mode-hook #'+email|headers-keybinds)
;; (defun +email|view-keybinds ())
;; (add-hook 'mu4e-view-mode-hook '+email|view-keybinds)
;; (add-hook 'mu4e-view-mode-hook #'+email|view-keybinds)
(defun +email|main-keybinds ()
(map! :Ln "q" 'mu4e-quit
:Ln "u" 'mu4e-update-index
:Ln "U" 'mu4e-update-mail-and-index))
(add-hook 'mu4e-main-mode-hook '+email|main-keybinds))
(map! :Ln "q" #'mu4e-quit
:Ln "u" #'mu4e-update-index
:Ln "U" #'mu4e-update-mail-and-index))
(add-hook 'mu4e-main-mode-hook #'+email|main-keybinds))
(def-package! mu4e-maildirs-extension
@ -195,7 +195,7 @@
(def-package! org-mu4e
:commands org-mu4e-compose-org-mode
:init (add-hook 'mu4e-compose-mode-hook 'org-mu4e-compose-org-mode)
:init (add-hook 'mu4e-compose-mode-hook #'org-mu4e-compose-org-mode)
:config
(setq org-mu4e-link-query-in-headers-mode nil
org-mu4e-convert-to-html t)

View file

@ -49,7 +49,7 @@
;;;###autoload
(defun +present|remove-overlays ()
(mapc 'delete-overlay +present--overlays-list)
(mapc #'delete-overlay +present--overlays-list)
(remove-from-invisibility-spec '(+present)))
;;;###autoload
@ -63,7 +63,7 @@
(unless (cl-remove-if-not (lambda (buf) (buffer-local-value 'org-tree-slide-mode buf))
(doom-buffers-in-mode 'org-mode))
(org-tree-slide-mode -1)
(remove-hook 'kill-buffer-hook '+present--cleanup-org-tree-slides-mode)))
(remove-hook 'kill-buffer-hook #'+present--cleanup-org-tree-slides-mode)))
(defun +present--make-invisible (beg end)
(let ((overlay (make-overlay beg end)))

View file

@ -52,8 +52,8 @@
:init
(after! org
(map! :map org-mode-map
"<f8>" '+present/org-tree-slides
"<f7>" '+present/next))
"<f8>" #'+present/org-tree-slides
"<f7>" #'+present/next))
:config
(setq org-tree-slide-skip-outline-level 2
org-tree-slide-activate-message " "
@ -62,11 +62,11 @@
(org-tree-slide-simple-profile)
(map! :map org-tree-slide-mode-map
[right] 'org-tree-slide-move-next-tree
[left] 'org-tree-slide-move-previous-tree)
[right] #'org-tree-slide-move-next-tree
[left] #'org-tree-slide-move-previous-tree)
(add-hook! 'org-tree-slide-mode-after-narrow-hook
'(+present|detect-slide +present|add-overlays org-display-inline-images))
#'(+present|detect-slide +present|add-overlays org-display-inline-images))
(add-hook! 'org-tree-slide-mode-hook
(doom/window-zoom)
@ -102,7 +102,6 @@
(when (and (org-at-heading-p) (not (eobp))) (backward-char 1))
(point)))))))))
(apply orig-fn args)))
(advice-add 'org-tree-slide--display-tree-with-narrow
:around '+present*org-tree-slide-narrow-exclude-header)))
(advice-add #'org-tree-slide--display-tree-with-narrow
:around #'+present*org-tree-slide-narrow-exclude-header)))

View file

@ -24,8 +24,8 @@
(setq-default elfeed-search-filter "@2-week-ago ")
(setq elfeed-db-directory (concat doom-local-dir "elfeed/db/")
elfeed-enclosure-default-dir (concat doom-local-dir "elfeed/enclosures/")
elfeed-show-entry-switch '+rss-popup-pane
elfeed-show-entry-delete '+rss/delete-pane
elfeed-show-entry-switch #'+rss-popup-pane
elfeed-show-entry-delete #'+rss/delete-pane
shr-max-image-proportion 0.6)
(make-directory elfeed-db-directory t)
@ -35,24 +35,24 @@
doom-real-buffer-functions)
(add-hook! 'elfeed-show-mode-hook
'(doom-hide-modeline-mode +rss|elfeed-wrap))
#'(doom-hide-modeline-mode +rss|elfeed-wrap))
(after! doom-themes
(add-hook 'elfeed-show-mode-hook 'doom-buffer-mode))
(add-hook 'elfeed-show-mode-hook #'doom-buffer-mode))
(map! :map elfeed-search-mode-map
:n "r" 'elfeed-update
:n "s" 'elfeed-search-live-filter
:n "RET" 'elfeed-search-show-entry
:n "q" '+rss/quit
:n "r" #'elfeed-update
:n "s" #'elfeed-search-live-filter
:n "RET" #'elfeed-search-show-entry
:n "q" #'+rss/quit
:map elfeed-show-mode-map
[remap doom/kill-this-buffer] 'elfeed-kill-buffer
:n "q" 'elfeed-kill-buffer
:m "j" 'evil-next-visual-line
:m "k" 'evil-previous-visual-line
:n "]b" '+rss/next
:n "[b" '+rss/previous))
[remap doom/kill-this-buffer] #'elfeed-kill-buffer
:n "q" #'elfeed-kill-buffer
:m "j" #'evil-next-visual-line
:m "k" #'evil-previous-visual-line
:n "]b" #'+rss/next
:n "[b" #'+rss/previous))
(def-package! elfeed-org
@ -60,5 +60,5 @@
:config
(setq rmh-elfeed-org-files
(let ((default-directory +rss-org-dir))
(mapcar 'expand-file-name +rss-elfeed-files)))
(mapcar #'expand-file-name +rss-elfeed-files)))
(elfeed-org))

View file

@ -18,22 +18,22 @@
(set! :popup "*twittering-edit*" :size 12 :select t :modeline nil)
(add-hook 'twittering-edit-mode-hook 'doom-hide-modeline-mode)
(add-hook 'twittering-edit-mode-hook #'doom-hide-modeline-mode)
(after! doom-themes
(add-hook 'twittering-mode-hook 'doom-buffer-mode))
(add-hook 'twittering-mode-hook #'doom-buffer-mode))
(add-hook! twittering-mode
(setq header-line-format (doom-modeline 'twitter)
mode-line-format nil))
(map! :map twittering-mode-map
[remap twittering-kill-buffer] '+twitter/quit
"Q" '+twitter/quit-all
"o" 'ace-link-addr
"j" 'evil-next-visual-line
"k" 'evil-previous-visual-line
"J" 'twittering-goto-next-status
"K" 'twittering-goto-previous-status)
[remap twittering-kill-buffer] #'+twitter/quit
"Q" #'+twitter/quit-all
"o" #'ace-link-addr
"j" #'evil-next-visual-line
"k" #'evil-previous-visual-line
"J" #'twittering-goto-next-status
"K" #'twittering-goto-previous-status)
(def-modeline! twitter
(bar matches " %b " selection-info)

View file

@ -5,7 +5,7 @@
(let* ((modes (if (listp modes) modes (list modes)))
(backends (if (listp backends) backends (list backends)))
(def-name (intern (format "doom--init-company-%s"
(mapconcat 'identity (mapcar 'symbol-name modes) "-"))))
(mapconcat #'identity (mapcar #'symbol-name modes) "-"))))
(quoted (eq (car-safe backends) 'quote)))
;; TODO more type checks
`(progn
@ -35,7 +35,7 @@
company-frontends '(company-pseudo-tooltip-frontend company-echo-metadata-frontend)
company-backends '(company-capf))
(push 'company-sort-by-occurrence company-transformers)
(push #'company-sort-by-occurrence company-transformers)
(after! yasnippet
(nconc company-backends '(company-yasnippet)))
@ -44,25 +44,25 @@
;; Don't interfere with `evil-delete-backward-word' in insert mode
"C-w" nil
"C-o" 'company-search-kill-others
"C-n" 'company-select-next
"C-p" 'company-select-previous
"C-h" 'company-quickhelp-manual-begin
"C-S-h" 'company-show-doc-buffer
"C-S-s" 'company-search-candidates
"C-s" 'company-filter-candidates
"C-SPC" 'company-complete-common
"C-h" 'company-quickhelp-manual-begin
[tab] 'company-complete-common-or-cycle
[backtab] 'company-select-previous
"C-o" #'company-search-kill-others
"C-n" #'company-select-next
"C-p" #'company-select-previous
"C-h" #'company-quickhelp-manual-begin
"C-S-h" #'company-show-doc-buffer
"C-S-s" #'company-search-candidates
"C-s" #'company-filter-candidates
"C-SPC" #'company-complete-common
"C-h" #'company-quickhelp-manual-begin
[tab] #'company-complete-common-or-cycle
[backtab] #'company-select-previous
[escape] (λ! (company-abort) (evil-normal-state 1)))
;; Automatically applies to `company-filter-map'
(:map company-search-map
"C-n" 'company-search-repeat-forward
"C-p" 'company-search-repeat-backward
"C-n" #'company-search-repeat-forward
"C-p" #'company-search-repeat-backward
"C-s" (λ! (company-search-abort) (company-filter-candidates))
[escape] 'company-search-abort))
[escape] #'company-search-abort))
(global-company-mode +1))
@ -90,7 +90,7 @@
(if (symbol-value mode)
(push mode company-dict-minor-mode-list)
(setq company-dict-minor-mode-list (delq mode company-dict-minor-mode-list))))
(add-hook 'doom-project-hook '+company|enable-project-dicts))
(add-hook 'doom-project-hook #'+company|enable-project-dicts))
;;

View file

@ -35,29 +35,29 @@
:config
(setq projectile-completion-system 'helm)
(map! "M-x" 'helm-M-x
"A-x" 'helm-M-x
"M-X" 'helm-apropos
"A-X" 'helm-apropos
"M-o" 'helm-find-files
(map! "M-x" #'helm-M-x
"A-x" #'helm-M-x
"M-X" #'helm-apropos
"A-X" #'helm-apropos
"M-o" #'helm-find-files
(:map helm-map
"C-S-n" 'helm-next-source
"C-S-p" 'helm-previous-source
"C-u" 'helm-delete-minibuffer-contents
"C-w" 'backward-kill-word
"M-v" 'clipboard-yank
"C-r" 'evil-paste-from-register ; Evil registers in helm! Glorious!
"C-b" 'backward-word
"<left>" 'backward-char
"<right>" 'forward-char
"<escape>" 'helm-keyboard-quit
"ESC" 'helm-keyboard-quit
[escape] 'helm-keyboard-quit
"<tab>" 'helm-execute-persistent-action)
"C-S-n" #'helm-next-source
"C-S-p" #'helm-previous-source
"C-u" #'helm-delete-minibuffer-contents
"C-w" #'backward-kill-word
"M-v" #'clipboard-yank
"C-r" #'evil-paste-from-register ; Evil registers in helm! Glorious!
"C-b" #'backward-word
"<left>" #'backward-char
"<right>" #'forward-char
"<escape>" #'helm-keyboard-quit
"ESC" #'helm-keyboard-quit
[escape] #'helm-keyboard-quit
"<tab>" #'helm-execute-persistent-action)
(:map* helm-generic-files-map
:e "ESC" 'helm-keyboard-quit))
:e "ESC" #'helm-keyboard-quit))
;;; Popup setup
(set! :popup "\\` ?\\*[hH]elm.*?\\*\\'" :size 14 :regexp t)
@ -65,29 +65,29 @@
;;; Helm hacks
(defconst doom-helm-header-fg (face-attribute 'helm-source-header :foreground))
;; Shrink source headers if there is only one source
(add-hook 'helm-after-initialize-hook 'doom*helm-hide-source-header-maybe)
(add-hook 'helm-after-initialize-hook #'doom*helm-hide-source-header-maybe)
;; A simpler prompt: see `+helm-global-prompt'
(advice-add 'helm :filter-args 'doom*helm-replace-prompt)
(advice-add #'helm :filter-args #'doom*helm-replace-prompt)
;; Hide mode-line in helm windows
(advice-add 'helm-display-mode-line :override 'doom*helm-hide-header)
(advice-add #'helm-display-mode-line :override #'doom*helm-hide-header)
(require 'helm-mode)
(helm-mode +1)
(map! :map helm-mode-map
[remap find-file] 'helm-find-files
[remap switch-to-buffer] 'doom/helm-buffers-dwim
[remap find-file] #'helm-find-files
[remap switch-to-buffer] #'doom/helm-buffers-dwim
[remap projectile-switch-to-buffer] (λ! (doom/helm-buffers-dwim t))
[remap recentf] 'helm-recentf
[remap projectile-recentf] 'helm-projectile-recentf
[remap projectile-find-file] 'helm-projectile-find-file
[remap imenu] 'helm-semantic-or-imenu
[remap bookmark-jump] 'helm-bookmarks
[remap noop-show-kill-ring] 'helm-show-kill-ring
[remap projectile-switch-project] 'helm-projectile-switch-project
[remap projectile-find-file] 'helm-projectile-find-file
[remap imenu-anywhere] 'helm-imenu-anywhere
[remap execute-extended-command] 'helm-M-x)
[remap recentf] #'helm-recentf
[remap projectile-recentf] #'helm-projectile-recentf
[remap projectile-find-file] #'helm-projectile-find-file
[remap imenu] #'helm-semantic-or-imenu
[remap bookmark-jump] #'helm-bookmarks
[remap noop-show-kill-ring] #'helm-show-kill-ring
[remap projectile-switch-project] #'helm-projectile-switch-project
[remap projectile-find-file] #'helm-projectile-find-file
[remap imenu-anywhere] #'helm-imenu-anywhere
[remap execute-extended-command] #'helm-M-x)
(defvar helm-projectile-find-file-map (make-sparse-keymap))
(require 'helm-projectile)
@ -103,7 +103,7 @@
(def-package! helm-buffers
:commands (helm-buffers-list helm-mini)
:config (advice-add 'helm-buffer-list :override 'helm*buffer-list))
:config (advice-add #'helm-buffer-list :override #'helm*buffer-list))
(def-package! helm-tags
@ -123,8 +123,8 @@
helm-boring-file-regexp-list))
(map! :map helm-find-files-map
"C-w" 'helm-find-files-up-one-level
"TAB" 'helm-execute-persistent-action))
"C-w" #'helm-find-files-up-one-level
"TAB" #'helm-execute-persistent-action))
(def-package! helm-ag
@ -140,11 +140,11 @@
helm-ag-clear-stack)
:config
(map! (:map helm-ag-map
"<backtab>" 'helm-ag-edit)
"<backtab>" #'helm-ag-edit)
(:map helm-ag-edit-map
"<escape>" 'helm-ag--edit-abort
"C-c C-c" 'helm-ag--edit-commit
:n "zx" 'helm-ag--edit-abort)))
"<escape>" #'helm-ag--edit-abort
"C-c C-c" #'helm-ag--edit-commit
:n "zx" #'helm-ag--edit-abort)))
(def-package! helm-css-scss ; https://github.com/ShingoFukuyama/helm-css-scss
@ -152,7 +152,7 @@
helm-css-scss-multi
helm-css-scss-insert-close-comment)
:config
(setq helm-css-scss-split-direction 'split-window-vertically
(setq helm-css-scss-split-direction #'split-window-vertically
helm-css-scss-split-with-multiple-windows t))
@ -187,19 +187,20 @@
(after! helm-swoop
(setq helm-swoop-split-window-function (lambda (b) (doom-popup-buffer b))))
(after! helm-ag
;; This prevents helm-ag from switching between windows and buffers.
(defadvice helm-ag--edit-abort (around helm-ag-edit-abort-popup-compat activate)
(cl-letf (((symbol-function 'select-window) 'ignore)) ad-do-it)
(cl-letf (((symbol-function 'select-window) #'ignore)) ad-do-it)
(doom/popup-close nil t))
(defadvice helm-ag--edit-commit (around helm-ag-edit-commit-popup-compat activate)
(cl-letf (((symbol-function 'select-window) 'ignore)) ad-do-it)
(cl-letf (((symbol-function 'select-window) #'ignore)) ad-do-it)
(doom/popup-close nil t))
(defadvice helm-ag--edit (around helm-ag-edit-popup-compat activate)
(cl-letf (((symbol-function 'other-window) 'ignore)
((symbol-function 'switch-to-buffer) 'doom-popup-buffer))
(cl-letf (((symbol-function 'other-window) #'ignore)
((symbol-function 'switch-to-buffer) #'doom-popup-buffer))
ad-do-it
(with-current-buffer (get-buffer "*helm-ag-edit*")
(use-local-map helm-ag-edit-map)))))

View file

@ -30,9 +30,9 @@
(require 'crm-custom)
(map! :map (ido-common-completion-map ido-completion-map ido-file-completion-map)
"C-n" 'ido-next-match
"C-p" 'ido-prev-match
"C-w" 'ido-delete-backward-word-updir))
"C-n" #'ido-next-match
"C-p" #'ido-prev-match
"C-w" #'ido-delete-backward-word-updir))
(defun +ido*sort-mtime ()
"Sort ido filelist by mtime instead of alphabetically."
@ -46,16 +46,16 @@
(delq nil (mapcar
(lambda (x) (and (char-equal (string-to-char x) ?.) x))
ido-temp-list))))
(advice-add 'ido-sort-mtime :override '+ido*sort-mtime)
(add-hook! (ido-make-file-list ido-make-dir-list) '+ido*sort-mtime)
(advice-add #'ido-sort-mtime :override #'+ido*sort-mtime)
(add-hook! (ido-make-file-list ido-make-dir-list) #'+ido*sort-mtime)
(defun +ido|setup-home-keybind ()
"Go to $HOME with ~"
(define-key ido-file-completion-map (kbd "~")
(λ! (if (looking-back "/")
(insert "~/")
(call-interactively 'self-insert-command)))))
(add-hook 'ido-setup-hook '+ido|setup-home-keybind))
(call-interactively #'self-insert-command)))))
(add-hook 'ido-setup-hook #'+ido|setup-home-keybind))
(def-package! ido-ubiquitous :config (ido-ubiquitous-mode 1))

View file

@ -33,33 +33,34 @@
;; Don't use ^ as initial input
ivy-initial-inputs-alist nil
;; highlight til EOL
ivy-format-function 'ivy-format-function-line)
ivy-format-function #'ivy-format-function-line)
(after! magit (setq magit-completing-read-function 'ivy-completing-read))
(after! yasnippet (push '+ivy-yas-prompt yas-prompt-functions))
(after! magit (setq magit-completing-read-function #'ivy-completing-read))
(after! yasnippet (push #'+ivy-yas-prompt yas-prompt-functions))
(ivy-mode +1)
(map! :map ivy-minibuffer-map
[escape] 'keyboard-escape-quit
"C-r" 'evil-paste-from-register
"M-v" 'clipboard-yank
"C-w" 'backward-kill-word
"C-u" 'backward-kill-sentence
"C-b" 'backward-word
"C-f" 'forward-word)
[escape] #'keyboard-escape-quit
"C-r" #'evil-paste-from-register
"M-v" #'clipboard-yank
"C-w" #'backward-kill-word
"C-u" #'backward-kill-sentence
"C-b" #'backward-word
"C-f" #'forward-word)
(map! :map ivy-mode-map
[remap find-file] 'counsel-find-file
[remap switch-to-buffer] '+ivy/switch-buffer
[remap persp-switch-to-buffer] '+ivy/switch-workspace-buffer
[remap recentf] 'counsel-recentf
[remap imenu] 'counsel-imenu
[remap bookmark-jump] 'counsel-bookmark
[remap projectile-switch-project] 'counsel-projectile-switch-project
[remap projectile-find-file] 'counsel-projectile-find-file
[remap imenu-anywhere] 'ivy-imenu-anywhere
[remap execute-extended-command] 'counsel-M-x)
[remap describe-face] #'counsel-describe-face
[remap find-file] #'counsel-find-file
[remap switch-to-buffer] #'+ivy/switch-buffer
[remap persp-switch-to-buffer] #'+ivy/switch-workspace-buffer
[remap recentf] #'counsel-recentf
[remap imenu] #'counsel-imenu
[remap bookmark-jump] #'counsel-bookmark
[remap projectile-switch-project] #'counsel-projectile-switch-project
[remap projectile-find-file] #'counsel-projectile-find-file
[remap imenu-anywhere] #'ivy-imenu-anywhere
[remap execute-extended-command] #'counsel-M-x)
(when (featurep! :feature workspaces)
(nconc ivy-sort-functions-alist
@ -110,11 +111,11 @@
(when (eq major-mode 'ivy-occur-grep-mode)
(ivy-wgrep-change-to-wgrep-mode)))
(advice-add 'counsel-ag-function :override '+ivy*counsel-ag-function)
(advice-add #'counsel-ag-function :override #'+ivy*counsel-ag-function)
(map! :map counsel-ag-map
[backtab] '+ivy/counsel-ag-occur ; search/replace on results
"C-SPC" 'counsel-git-grep-recenter ; preview
"M-RET" '+ivy/counsel-ag-open-in-other-window))
[backtab] #'+ivy/counsel-ag-occur ; search/replace on results
"C-SPC" #'counsel-git-grep-recenter ; preview
"M-RET" #'+ivy/counsel-ag-open-in-other-window))
;; Used by `counsel-M-x'

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])
(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))
(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))

View file

@ -30,18 +30,18 @@
(setq c-tab-always-indent nil
c-electric-flag nil)
(add-hook 'c-mode-common-hook 'rainbow-delimiters-mode)
(add-hook 'c-mode-common-hook #'rainbow-delimiters-mode)
;; extra highlights for numbers in C (`modern-cpp-font-lock' offers something better for C++)
(add-hook 'c-mode-hook 'highlight-numbers-mode)
(add-hook 'c-mode-hook #'highlight-numbers-mode)
;; Fontification of C++11 string literals
(add-hook 'c++-mode-hook '+cc|extra-fontify-c++)
(add-hook 'c++-mode-hook #'+cc|extra-fontify-c++)
(set! :electric '(c-mode c++-mode objc-mode java-mode)
:chars '(?\n ?\}))
(set! :company-backend
'(c-mode c++-mode objc-mode)
'(company-irony-c-headers company-irony))
#'(company-irony-c-headers company-irony))
(sp-with-modes '(c-mode c++-mode objc-mode java-mode)
(sp-local-pair "<" ">" :when '(+cc-sp-point-is-template-p +cc-sp-point-after-include-p))
@ -51,7 +51,7 @@
(sp-local-pair "/*!" "*/" :post-handlers '(("||\n[i]" "RET") ("[d-1]< | " "SPC"))))
;; Improve indentation of inline lambdas in C++11
(advice-add 'c-lineup-arglist :around '+c-lineup-arglist)
(advice-add #'c-lineup-arglist :around #'+c-lineup-arglist)
;; C/C++ style settings
(c-toggle-electric-state -1)
@ -73,23 +73,23 @@
(looking-at "typedef struct"))
'+
'++))))
(c-set-offset 'inclass '+cc--c-lineup-inclass)
(c-set-offset 'inclass #'+cc--c-lineup-inclass)
;; Certain mappings interfere with smartparens and custom bindings,
;; so unbind them
(map! :map c-mode-map
"DEL" nil
"#" 'self-insert-command
"{" 'self-insert-command
"}" 'self-insert-command
"/" 'self-insert-command
"*" 'self-insert-command
";" 'self-insert-command
"," 'self-insert-command
":" 'self-insert-command
"(" 'self-insert-command
")" 'self-insert-command
"#" #'self-insert-command
"{" #'self-insert-command
"}" #'self-insert-command
"/" #'self-insert-command
"*" #'self-insert-command
";" #'self-insert-command
"," #'self-insert-command
":" #'self-insert-command
"(" #'self-insert-command
")" #'self-insert-command
:map c++-mode-map
"}" nil
@ -100,27 +100,27 @@
;; ourselves.
"<" nil
:map (c-mode-base-map c++-mode-map)
:i ">" '+cc/autoclose->-maybe))
:i ">" #'+cc/autoclose->-maybe))
(def-package! modern-cpp-font-lock
:commands modern-c++-font-lock-mode
:init (add-hook 'c++-mode-hook 'modern-c++-font-lock-mode))
:init (add-hook 'c++-mode-hook #'modern-c++-font-lock-mode))
(def-package! irony
:after cc-mode
:init (add-hook 'c-mode-common-hook 'irony-mode)
:init (add-hook 'c-mode-common-hook #'irony-mode)
:config
(setq irony-server-install-prefix (concat doom-etc-dir "irony-server/"))
(add-hook! 'irony-mode-hook '(irony-eldoc flycheck-mode))
(add-hook! 'irony-mode-hook #'(irony-eldoc flycheck-mode))
(add-hook! 'c++-mode-hook
(make-local-variable 'irony-additional-clang-options)
(push "-std=c++11" irony-additional-clang-options))
(map! :map irony-mode-map
[remap completion-at-point] 'counsel-irony
[remap complete-symbol] 'counsel-irony))
[remap completion-at-point] #'counsel-irony
[remap complete-symbol] #'counsel-irony))
(def-package! irony-eldoc :after irony)
@ -166,4 +166,4 @@
(def-package! demangle-mode
:commands demangle-mode
:init (add-hook 'llvm-mode-hook 'demangle-mode))
:init (add-hook 'llvm-mode-hook #'demangle-mode))

View file

@ -2,7 +2,7 @@
(def-package! csharp-mode
:mode "\\.cs$"
:init (add-hook 'csharp-mode-hook 'flycheck-mode))
:init (add-hook 'csharp-mode-hook #'flycheck-mode))
(def-package! omnisharp
@ -12,34 +12,34 @@
omnisharp-server-executable-path (concat doom-local-dir "OmniSharp.exe"))
:when (file-exists-p omnisharp-server-executable-path)
:init
(add-hook! csharp-mode '(eldoc-mode omnisharp-mode))
(add-hook! csharp-mode #'(eldoc-mode omnisharp-mode))
:config
(set! :company-backend 'csharp-mode '(company-omnisharp))
;; Map all refactor commands (see emr)
(map! :map omnisharp-mode-map
:m "gd" 'omnisharp-go-to-definition
:m "gd" #'omnisharp-go-to-definition
(:localleader
:n "b" 'omnisharp-recompile
:n "b" #'omnisharp-recompile
(:prefix "r"
:n "i" 'omnisharp-fix-code-issue-at-point
:n "u" 'omnisharp-fix-usings
:n "r" 'omnisharp-rename
:n "a" 'omnisharp-show-last-auto-complete-result
:n "o" 'omnisharp-show-overloads-at-point)
:n "i" #'omnisharp-fix-code-issue-at-point
:n "u" #'omnisharp-fix-usings
:n "r" #'omnisharp-rename
:n "a" #'omnisharp-show-last-auto-complete-result
:n "o" #'omnisharp-show-overloads-at-point)
(:prefix "f"
:n "u" 'omnisharp-find-usages
:n "i" 'omnisharp-find-implementations
:n "f" 'omnisharp-navigate-to-current-file-member
:n "m" 'omnisharp-navigate-to-solution-member
:n "M" 'omnisharp-navigate-to-solution-file-then-file-member
:n "F" 'omnisharp-navigate-to-solution-file
:n "r" 'omnisharp-navigate-to-region
:n "ti" 'omnisharp-current-type-information
:n "td" 'omnisharp-current-type-documentation)
:n "u" #'omnisharp-find-usages
:n "i" #'omnisharp-find-implementations
:n "f" #'omnisharp-navigate-to-current-file-member
:n "m" #'omnisharp-navigate-to-solution-member
:n "M" #'omnisharp-navigate-to-solution-file-then-file-member
:n "F" #'omnisharp-navigate-to-solution-file
:n "r" #'omnisharp-navigate-to-region
:n "ti" #'omnisharp-current-type-information
:n "td" #'omnisharp-current-type-documentation)
(:prefix "t"
:n "r" (λ! (omnisharp-unit-test "fixture"))

View file

@ -3,10 +3,10 @@
(def-package! elisp-mode ; built-in
:mode ("/Cask$" . emacs-lisp-mode)
:init
(add-hook 'emacs-lisp-mode-hook '+emacs-lisp|hook)
(add-hook 'emacs-lisp-mode-hook #'+emacs-lisp|hook)
:config
(set! :repl 'emacs-lisp-mode '+emacs-lisp/repl)
(set! :repl 'emacs-lisp-mode #'+emacs-lisp/repl)
(set! :rotate 'emacs-lisp-mode
:symbols '(("t" "nil")
("let" "let*")
@ -21,7 +21,7 @@
(defun +emacs-lisp|hook ()
(setq mode-name "Elisp") ; [pedantry intensifies]
(add-hook 'before-save-hook 'delete-trailing-whitespace nil t)
(add-hook 'before-save-hook #'delete-trailing-whitespace nil t)
(eldoc-mode +1)
(highlight-quoted-mode +1)
@ -30,7 +30,7 @@
(font-lock-add-keywords
nil `(;; Display "lambda" as λ
("(\\(lambda\\)" (1 (ignore (compose-region (match-beginning 1) (match-end 1) 'decompose-region))))
("(\\(lambda\\)" (1 (ignore (compose-region (match-beginning 1) (match-end 1) #'decompose-region))))
;; Highlight doom/module functions
("\\(^\\|\\s-\\|,\\)(\\(\\(doom\\|\\+\\)[^) ]+\\)[) \n]" (2 font-lock-builtin-face))))
@ -67,7 +67,7 @@ version is loaded."
(let ((buffer-path (file-truename buffer-file-name)))
(when (assoc buffer-path load-history)
(load-file buffer-path)))))
(advice-add 'auto-compile-byte-compile :filter-return '+emacs-lisp*load-after-compile))
(advice-add #'auto-compile-byte-compile :filter-return #'+emacs-lisp*load-after-compile))
(def-package! highlight-quoted

View file

@ -4,40 +4,40 @@
:mode "\\.go$"
:interpreter "go"
:init
(add-hook 'go-mode-hook 'flycheck-mode)
(add-hook! go-mode (add-hook 'before-save-hook 'gofmt-before-save))
(add-hook 'go-mode-hook #'flycheck-mode)
(add-hook! go-mode (add-hook 'before-save-hook #'gofmt-before-save nil t))
:config
(set! :build 'go-build 'go-mode '+go/build)
(set! :repl 'go-mode 'gorepl-run)
(set! :build 'go-build 'go-mode #'+go/build)
(set! :repl 'go-mode #'gorepl-run)
(map! :map go-mode-map
:n "gd" 'go-guru-definition
:n "gD" 'go-guru-referrers
:n "gd" #'go-guru-definition
:n "gD" #'go-guru-referrers
(:localleader
:n "gr" 'go-play-buffer
:v "gr" 'go-play-region
:n "gr" #'go-play-buffer
:v "gr" #'go-play-region
(:prefix "f"
:n "i" 'go-goto-imports
:n "h" 'godoc-at-point
:n "d" 'go-guru-describe
:n "v" 'go-guru-freevars
:n "I" 'go-guru-implements
:n "p" 'go-guru-peers
:n "r" 'go-guru-referrers
:n "t" 'go-guru-pointsto
:n "s" 'go-guru-callstack
:n "e" 'go-guru-whicherrs
:n "c" 'go-guru-callers
:n "C" 'go-guru-callees)
:n "i" #'go-goto-imports
:n "h" #'godoc-at-point
:n "d" #'go-guru-describe
:n "v" #'go-guru-freevars
:n "I" #'go-guru-implements
:n "p" #'go-guru-peers
:n "r" #'go-guru-referrers
:n "t" #'go-guru-pointsto
:n "s" #'go-guru-callstack
:n "e" #'go-guru-whicherrs
:n "c" #'go-guru-callers
:n "C" #'go-guru-callees)
(:prefix "r"
:n "a" 'go-import-add
:n "i" 'go-remove-unused-imports
:nv "f" 'gofmt)
:n "a" #'go-import-add
:n "i" #'go-remove-unused-imports
:nv "f" #'gofmt)
(:prefix "t"
:n "r" '+go/test-rerun
:n "a" '+go/test-all
:n "s" '+go/test-single
:n "n" '+go/test-nested))))
:n "r" #'+go/test-rerun
:n "a" #'+go/test-all
:n "s" #'+go/test-single
:n "n" #'+go/test-nested))))
(def-package! go-guru
@ -55,7 +55,7 @@
(def-package! go-eldoc
:commands go-eldoc-setup
:init (add-hook 'go-mode-hook 'go-eldoc-setup))
:init (add-hook 'go-mode-hook #'go-eldoc-setup))
(def-package! gorepl-mode

View file

@ -12,12 +12,12 @@
(load "haskell-mode-autoloads" nil t)
(set! :popup "*debug:haskell*" :size 20)
(set! :repl 'haskell-mode 'switch-to-haskell)
(set! :repl 'haskell-mode #'switch-to-haskell)
(push ".hi" completion-ignored-extensions)
(autoload 'switch-to-haskell "inf-haskell" nil t)
(after! inf-haskell
(map! :map inf-haskell-mode-map "ESC ESC" 'doom/popup-close)))
(map! :map inf-haskell-mode-map "ESC ESC" #'doom/popup-close)))
(def-package! dante
@ -25,5 +25,5 @@
:config
(when (executable-find "cabal")
(add-hook! 'haskell-mode-hook
'(flycheck-mode dante-mode interactive-haskell-mode))))
#'(flycheck-mode dante-mode interactive-haskell-mode))))

View file

@ -3,23 +3,23 @@
(def-package! meghanada
:commands meghanada-mode
:init
(add-hook! java-mode '(meghanada-mode flycheck-mode))
(add-hook! 'java-mode-hook #'(meghanada-mode flycheck-mode))
:config
(set! :build 'compile-file 'java-mode 'meghanada-compile-file)
(set! :build 'compile-project 'java-mode 'meghanada-compile-project)
(set! :build 'compile-file 'java-mode #'meghanada-compile-file)
(set! :build 'compile-project 'java-mode #'meghanada-compile-project)
(setq meghanada-server-install-dir (concat doom-etc-dir "meghanada-server/")
meghanada-use-company t
meghanada-use-flycheck t
meghanada-use-auto-start t)
(map! :map meghanada-mode-map :m "gd" 'meghanada-jump-declaration))
(map! :map meghanada-mode-map :m "gd" #'meghanada-jump-declaration))
(def-package! android-mode
:commands android-mode
:init
(add-hook! (java-mode groovy-mode nxml-mode) '+java|android-mode-maybe)
(add-hook! (java-mode groovy-mode nxml-mode) #'+java|android-mode-maybe)
:config
(set! :yas-minor-mode 'android-mode)
(set! :company-dict-minor-mode 'android-mode))

View file

@ -11,7 +11,7 @@
js2-mode-show-parse-errors nil)
(add-hook! 'js2-mode-hook
'(flycheck-mode highlight-indentation-mode rainbow-delimiters-mode))
#'(flycheck-mode highlight-indentation-mode rainbow-delimiters-mode))
;; Conform switch-case indentation to editorconfig's config
(add-hook! 'js2-mode-hook (setq js-switch-indent-offset js-indent-level))
@ -86,11 +86,11 @@
(def-package! tern
:commands tern-mode
:init (add-hook 'js2-mode-hook 'tern-mode)
:init (add-hook 'js2-mode-hook #'tern-mode)
:config
;; Fix project detection
(defun +javascript*tern-project-dir (&rest _) (doom-project-root))
(advice-add 'tern-project-dir :override '+javascript*tern-project-dir))
(advice-add #'tern-project-dir :override #'+javascript*tern-project-dir))
(def-package! company-tern
@ -136,7 +136,7 @@
(def-package! web-beautify
:commands web-beautify-js
:init
(map! :map* (json-mode js2-mode-map) :n "gQ" 'web-beautify-js))
(map! :map* (json-mode js2-mode-map) :n "gQ" #'web-beautify-js))
;;
@ -148,26 +148,26 @@
:config
(map! :map skewer-mode-map
:localleader
:n "sE" 'skewer-eval-last-expression
:n "se" 'skewer-eval-defun
:n "sf" 'skewer-load-buffer))
:n "sE" #'skewer-eval-last-expression
:n "se" #'skewer-eval-defun
:n "sf" #'skewer-load-buffer))
(def-package! skewer-css-mode ; in skewer-mode
(def-package! skewer-css ; in skewer-mode
:commands skewer-css-mode
:config
(map! :map skewer-css-mode-map
:localleader
:n "se" 'skewer-css-eval-current-declaration
:n "sr" 'skewer-css-eval-current-rule
:n "sb" 'skewer-css-eval-buffer
:n "sc" 'skewer-css-clear-all))
:n "se" #'skewer-css-eval-current-declaration
:n "sr" #'skewer-css-eval-current-rule
:n "sb" #'skewer-css-eval-buffer
:n "sc" #'skewer-css-clear-all))
(def-package! skewer-html-mode ; in skewer-mode
(def-package! skewer-html ; in skewer-mode
:commands skewer-html-mode
:config
(map! :map skewer-html-mode-map
:localleader
:n "se" 'skewer-html-eval-tag))
:n "se" #'skewer-html-eval-tag))
;;

View file

@ -4,5 +4,5 @@
:mode "\\.jl$"
:interpreter "julia"
:config
(set! :repl 'julia-mode '+julia/repl))
(set! :repl 'julia-mode #'+julia/repl))

View file

@ -30,8 +30,8 @@
LaTeX-section-section
LaTeX-section-label))
(add-hook! (latex-mode LaTeX-mode) 'turn-on-auto-fill)
(add-hook! LaTeX-mode '(LaTeX-math-mode TeX-source-correlate-mode))
(add-hook! (latex-mode LaTeX-mode) #'turn-on-auto-fill)
(add-hook! 'LaTeX-mode-hook #'(LaTeX-math-mode TeX-source-correlate-mode))
(set! :popup " output\\*$" :regexp t :size 15 :noselect t :autoclose t :autokill t)
@ -50,7 +50,7 @@
reftex-default-bibliography (list +latex-bibtex-default-file)
reftex-toc-split-windows-fraction 0.2)
(add-hook! (latex-mode LaTeX-mode) 'turn-on-reftex)
(add-hook! (latex-mode LaTeX-mode) #'turn-on-reftex)
:config
(map! :map reftex-mode-map
@ -59,10 +59,10 @@
(add-hook! 'reftex-toc-mode-hook
(reftex-toc-rescan)
(doom-hide-modeline-mode +1)
(map! :Le "j" 'next-line
:Le "k" 'previous-line
:Le "q" 'kill-buffer-and-window
:Le "ESC" 'kill-buffer-and-window)))
(map! :Le "j" #'next-line
:Le "k" #'previous-line
:Le "q" #'kill-buffer-and-window
:Le "ESC" #'kill-buffer-and-window)))
(def-package! bibtex ; built-in
@ -72,7 +72,7 @@
bibtex-text-indentation 20
bibtex-completion-bibliography (list +latex-bibtex-default-file))
(map! :map bibtex-mode-map "C-c \\" 'bibtex-fill-entry))
(map! :map bibtex-mode-map "C-c \\" #'bibtex-fill-entry))
(def-package! ivy-bibtex
:when (featurep! :completion ivy)

View file

@ -4,10 +4,10 @@
:mode "\\.lua$"
:interpreter "lua"
:init
(add-hook 'lua-mode-hook 'flycheck-mode)
(add-hook 'lua-mode-hook #'flycheck-mode)
:config
(set! :electric 'lua-mode :words '("else" "end"))
(set! :repl 'lua-mode '+lua/repl)
(set! :repl 'lua-mode #'+lua/repl)
;; sp's lua-specific rules are obnoxious, so we disable them
(setq sp-pairs (delete (assq 'lua-mode sp-pairs) sp-pairs)))

View file

@ -21,35 +21,35 @@
"\`\`\`" "\`\`\`" :post-handlers '(("||\n" "RET")))
(map! :map gfm-mode-map
"`" 'self-insert-command
"`" #'self-insert-command
:map markdown-mode-map
"<backspace>" nil
"<M-left>" nil
"<M-right>" nil
"M-*" 'markdown-insert-list-item
"M-b" 'markdown-insert-bold
"M-i" 'markdown-insert-italic
"M-`" '+markdown/insert-del
:m "gj" 'markdown-next-visible-heading
:m "gk" 'markdown-previous-visible-heading
"M-*" #'markdown-insert-list-item
"M-b" #'markdown-insert-bold
"M-i" #'markdown-insert-italic
"M-`" #'+markdown/insert-del
:m "gj" #'markdown-next-visible-heading
:m "gk" #'markdown-previous-visible-heading
;; Assumes you have a markdown renderer plugin in chrome
:n "M-r" 'browse-url-of-file
:n "M-r" #'browse-url-of-file
;; TODO: Make context sensitive
:n "[p" 'markdown-promote
:n "]p" 'markdown-demote
:n "[l" 'markdown-next-link
:n "]l" 'markdown-previous-link
:n "gf" 'markdown-follow-thing-at-point
:i "M--" 'markdown-insert-hr
:n "[p" #'markdown-promote
:n "]p" #'markdown-demote
:n "[l" #'markdown-next-link
:n "]l" #'markdown-previous-link
:n "gf" #'markdown-follow-thing-at-point
:i "M--" #'markdown-insert-hr
(:localleader
:nv "o" 'markdown-open
:nv "b" 'markdown-preview
:nv "o" #'markdown-open
:nv "b" #'markdown-preview
(:prefix "i"
:nv "t" 'markdown-toc-generate-toc
:nv "i" 'markdown-insert-image
:nv "l" 'markdown-insert-link
:nv "L" 'markdown-insert-reference-link-dwim))))
:nv "t" #'markdown-toc-generate-toc
:nv "i" #'markdown-insert-image
:nv "l" #'markdown-insert-link
:nv "L" #'markdown-insert-reference-link-dwim))))
(def-package! markdown-toc

View file

@ -4,7 +4,7 @@
(def-package! octave
:mode (("\\.m$" . octave-mode))
:commands (octave-mode run-octave)
:config (set! :repl 'octave-mode 'run-octave))
:config (set! :repl 'octave-mode #'run-octave))
;; (use-package ac-octave
;; :config

View file

@ -30,10 +30,10 @@
(IS-LINUX "maim --opengl -s %s")))
;; Write download paths relative to current file
(advice-add 'org-download--dir-2 :override 'ignore)
(advice-add #'org-download--dir-2 :override #'ignore)
(defun +org*download-fullname (path)
(file-relative-name path (file-name-directory (buffer-file-name))))
(advice-add 'org-download--fullname :filter-return '+org*download-fullname)
(advice-add #'org-download--fullname :filter-return #'+org*download-fullname)
;; Add another drag-and-drop handler that will handle anything but image files
(setq dnd-protocol-alist `(("^\\(https?\\|ftp\\|file\\|nfs\\):\\(//\\)?" . doom/org-download-dnd)

View file

@ -56,7 +56,7 @@
(when (equal "org-capture" (frame-parameter nil 'name))
(setq mode-line-format nil)
(delete-other-windows)))
(advice-add 'org-capture :after '+org*capture-init)
(advice-add #'org-capture :after #'+org*capture-init)
(defun +org|capture-finalize ()
"Closes the frame once org-capture is done."

View file

@ -17,7 +17,7 @@
(unless (nth 2 args)
(setq args (append args (list org-export-directory))))
args)
(advice-add 'org-export-output-file-name :filter-args '+org*export-output-file-name)
(advice-add #'org-export-output-file-name :filter-args #'+org*export-output-file-name)
;; (require 'ox-pandoc)
;; (setq org-pandoc-options '((standalone . t) (mathjax . t) (parse-raw . t)))

View file

@ -15,8 +15,8 @@
(defvar +org-init-hook nil
"TODO")
(add-hook 'org-load-hook '+org|init)
(add-hook 'org-mode-hook '+org|hook)
(add-hook 'org-load-hook #'+org|init)
(add-hook 'org-mode-hook #'+org|hook)
;; Custom variables
(defvar +org-dir (expand-file-name "~/work/org/")
@ -58,15 +58,15 @@
(defun +org|realign-table-maybe ()
(when (org-at-table-p)
(org-table-align)))
(add-hook 'evil-insert-state-exit-hook '+org|realign-table-maybe nil t)
(add-hook 'evil-insert-state-exit-hook #'+org|realign-table-maybe nil t)
(defun +org|update-cookies ()
"Update counts on headlines (\"cookies\")."
(when (and buffer-file-name (file-exists-p buffer-file-name))
(org-update-statistics-cookies t)))
(add-hook 'before-save-hook '+org|update-cookies nil t)
(add-hook 'evil-insert-state-exit-hook '+org|update-cookies nil t))
(add-hook 'before-save-hook #'+org|update-cookies nil t)
(add-hook 'evil-insert-state-exit-hook #'+org|update-cookies nil t))
(defun +org|init ()
@ -199,44 +199,44 @@
"RET" nil
"C-j" nil
"C-k" nil
:i [remap doom/inflate-space-maybe] 'org-self-insert-command
:i "RET" 'org-return-indent)
:i [remap doom/inflate-space-maybe] #'org-self-insert-command
:i "RET" #'org-return-indent)
(:map evil-org-mode-map
:n "RET" '+org/dwim-at-point
:n "RET" #'+org/dwim-at-point
;;
:ni "A-L" 'org-shiftmetaright
:ni "A-H" 'org-shiftmetaleft
:ni "A-K" 'org-shiftmetaup
:ni "A-J" 'org-shiftmetadown
:ni "A-L" #'org-shiftmetaright
:ni "A-H" #'org-shiftmetaleft
:ni "A-K" #'org-shiftmetaup
:ni "A-J" #'org-shiftmetadown
;; Expand tables (or shiftmeta move)
:ni "C-S-l" '+org/table-append-field-or-shift-right
:ni "C-S-h" '+org/table-prepend-field-or-shift-left
:ni "C-S-k" '+org/table-prepend-row-or-shift-up
:ni "C-S-j" '+org/table-append-row-or-shift-down
:ni "C-S-l" #'+org/table-append-field-or-shift-right
:ni "C-S-h" #'+org/table-prepend-field-or-shift-left
:ni "C-S-k" #'+org/table-prepend-row-or-shift-up
:ni "C-S-j" #'+org/table-append-row-or-shift-down
;; Navigate table cells
:i "C-L" '+org/table-next-field
:i "C-H" '+org/table-previous-field
:i "C-K" '+org/table-previous-row
:i "C-J" '+org/table-next-row
:i "C-L" #'+org/table-next-field
:i "C-H" #'+org/table-previous-field
:i "C-K" #'+org/table-previous-row
:i "C-J" #'+org/table-next-row
:i "C-e" 'org-end-of-line
:i "C-a" 'org-beginning-of-line
:i "C-e" #'org-end-of-line
:i "C-a" #'org-beginning-of-line
:i "<tab>" '+org/indent-or-next-field-or-yas-expand
:i [S-iso-lefttab] '+org/dedent-or-prev-field ; for GNU Emacs
:i [(shift tab)] '+org/dedent-or-prev-field
:i [backtab] '+org/dedent-or-prev-field
:i "<tab>" #'+org/indent-or-next-field-or-yas-expand
:i [S-iso-lefttab] #'+org/dedent-or-prev-field ; for GNU Emacs
:i [(shift tab)] #'+org/dedent-or-prev-field
:i [backtab] #'+org/dedent-or-prev-field
:n "<tab>" '+org/toggle-fold
:n "<tab>" #'+org/toggle-fold
:nv "j" 'evil-next-visual-line
:nv "k" 'evil-previous-visual-line
:v "<S-tab>" '+snippets/expand-on-region
:nv "j" #'evil-next-visual-line
:nv "k" #'evil-previous-visual-line
:v "<S-tab>" #'+snippets/expand-on-region
:i "M-a" (λ! (evil-visual-state) (org-mark-element))
:n "M-a" 'org-mark-element
:v "M-a" 'mark-whole-buffer
:n "M-a" #'org-mark-element
:v "M-a" #'mark-whole-buffer
:ni "<M-return>" (λ! (+org/insert-item 'below))
:ni "<S-M-return>" (λ! (+org/insert-item 'above))
@ -253,75 +253,75 @@
:v "M-`" "S+"
(:localleader
:n "RET" 'org-archive-subtree
:n "SPC" '+org/toggle-checkbox
:n "/" 'org-sparse-tree
:n "=" 'org-align-all-tags
:n "?" 'org-tags-view
:n "a" 'org-agenda
:n "d" 'org-time-stamp
:n "D" 'org-deadline
:n "e" 'org-edit-special
:n "E" '+org/edit-special-same-window
:n "RET" #'org-archive-subtree
:n "SPC" #'+org/toggle-checkbox
:n "/" #'org-sparse-tree
:n "=" #'org-align-all-tags
:n "?" #'org-tags-view
:n "a" #'org-agenda
:n "d" #'org-time-stamp
:n "D" #'org-deadline
:n "e" #'org-edit-special
:n "E" #'+org/edit-special-same-window
:n "n" (λ! (if (buffer-narrowed-p) (widen) (org-narrow-to-subtree)))
:n "r" 'org-refile
:n "r" #'org-refile
:n "R" (λ! (org-metaleft) (org-archive-to-archive-sibling)) ; archive to parent sibling
:n "s" 'org-schedule
:n "s" #'org-schedule
:n "t" (λ! (org-todo (if (org-entry-is-todo-p) 'none 'todo)))
:v "t" (λ! (evil-ex-normal evil-visual-beginning evil-visual-end "\\t"))
:n "T" 'org-todo
:n "v" 'variable-pitch-mode
:nv "l" 'org-insert-link
:nv "L" 'org-store-link
:n "T" #'org-todo
:n "v" #'variable-pitch-mode
:nv "l" #'org-insert-link
:nv "L" #'org-store-link
;; :n "w" 'writing-mode
;; :n "x" '+org/remove-link
)
;; TODO Improve folding bindings
:n "za" '+org/toggle-fold
:n "zA" 'org-shifttab
:n "zc" 'outline-hide-subtree
:n "za" #'+org/toggle-fold
:n "zA" #'org-shifttab
:n "zc" #'outline-hide-subtree
:n "zC" (λ! (outline-hide-sublevels 1))
:n "zd" (lambda (&optional arg) (interactive "p") (outline-hide-sublevels (or arg 3)))
:n "zm" (λ! (outline-hide-sublevels 1))
:n "zo" 'outline-show-subtree
:n "zO" 'outline-show-all
:n "zr" 'outline-show-all
:n "zo" #'outline-show-subtree
:n "zO" #'outline-show-all
:n "zr" #'outline-show-all
:m "]]" (λ! (call-interactively 'org-forward-heading-same-level) (org-beginning-of-line))
:m "[[" (λ! (call-interactively 'org-backward-heading-same-level) (org-beginning-of-line))
:m "]l" 'org-next-link
:m "[l" 'org-previous-link
:m "]]" (λ! (call-interactively #'org-forward-heading-same-level) (org-beginning-of-line))
:m "[[" (λ! (call-interactively #'org-backward-heading-same-level) (org-beginning-of-line))
:m "]l" #'org-next-link
:m "[l" #'org-previous-link
:m "gh" 'outline-up-heading
:m "gj" 'org-forward-heading-same-level
:m "gk" 'org-backward-heading-same-level
:m "gl" (λ! (call-interactively 'outline-next-visible-heading) (show-children))
:m "gh" #'outline-up-heading
:m "gj" #'org-forward-heading-same-level
:m "gk" #'org-backward-heading-same-level
:m "gl" (λ! (call-interactively #'outline-next-visible-heading) (show-children))
:n "go" 'org-open-at-point
:n "go" #'org-open-at-point
:n "gO" (λ! (let ((org-link-frame-setup (append '((file . find-file-other-window)) org-link-frame-setup))
(org-file-apps '(("\\.org$" . emacs)
(t . "open \"%s\""))))
(call-interactively 'org-open-at-point)))
(call-interactively #'org-open-at-point)))
:n "gQ" 'org-fill-paragraph
:m "$" 'org-end-of-line
:m "^" 'org-beginning-of-line
:n "<" 'org-metaleft
:n ">" 'org-metaright
:n "gQ" #'org-fill-paragraph
:m "$" #'org-end-of-line
:m "^" #'org-beginning-of-line
:n "<" #'org-metaleft
:n ">" #'org-metaright
:v "<" (λ! (org-metaleft) (evil-visual-restore))
:v ">" (λ! (org-metaright) (evil-visual-restore))
:n "-" 'org-cycle-list-bullet
:m "<tab>" 'org-cycle)
:n "-" #'org-cycle-list-bullet
:m "<tab>" #'org-cycle)
(:after org-agenda
(:map org-agenda-mode-map
:e "<escape>" 'org-agenda-Quit
:e "m" 'org-agenda-month-view
:e "C-j" 'org-agenda-next-item
:e "C-k" 'org-agenda-previous-item
:e "C-n" 'org-agenda-next-item
:e "C-p" 'org-agenda-previous-item)))
:e "<escape>" #'org-agenda-Quit
:e "m" #'org-agenda-month-view
:e "C-j" #'org-agenda-next-item
:e "C-k" #'org-agenda-previous-item
:e "C-n" #'org-agenda-next-item
:e "C-p" #'org-agenda-previous-item)))
;; Initialize everything else
(run-hooks '+org-init-hook)
@ -341,16 +341,17 @@
;; Don't clobber recentf with agenda files
(defun +org-is-agenda-file (filename)
(find (file-truename filename) org-agenda-files :key 'file-truename
:test 'equal))
(add-to-list 'recentf-exclude '+org-is-agenda-file)
(cl-find (file-truename filename) org-agenda-files
:key #'file-truename
:test #'equal))
(add-to-list 'recentf-exclude #'+org-is-agenda-file)
;; Remove highlights on ESC
(defun +org*remove-occur-highlights (&rest args)
(when (eq major-mode 'org-mode)
(org-remove-occur-highlights)))
(advice-add 'evil-force-normal-state :before '+org*remove-occur-highlights)
(advice-add #'evil-force-normal-state :before #'+org*remove-occur-highlights)
;; Don't reset org-hide!
(advice-add 'org-find-invisible-foreground :override 'ignore))
(advice-add #'org-find-invisible-foreground :override #'ignore))

View file

@ -10,11 +10,11 @@
:mode ("\\.php[s345]?$" "\\.inc$")
:interpreter "php"
:init
(add-hook 'php-mode-hook 'flycheck-mode)
(add-hook 'php-mode-hook #'flycheck-mode)
:config
(setq php-template-compatibility nil)
(set! :repl 'php-mode 'php-boris)
(set! :repl 'php-mode #'php-boris)
;; default is 10; this optimizes `smartparens' performance, but limits sp
;; pairs to 6 characters.
@ -31,27 +31,27 @@
(map! :map php-mode-map
:localleader
(:prefix "r"
:n "cv" 'php-refactor--convert-local-to-instance-variable
:n "u" 'php-refactor--optimize-use
:v "xm" 'php-refactor--extract-method
:n "rv" 'php-refactor--rename-local-variable)
:n "cv" #'php-refactor--convert-local-to-instance-variable
:n "u" #'php-refactor--optimize-use
:v "xm" #'php-refactor--extract-method
:n "rv" #'php-refactor--rename-local-variable)
(:prefix "t"
:n "r" 'phpunit-current-project
:n "a" 'phpunit-current-class
:n "s" 'phpunit-current-test)))
:n "r" #'phpunit-current-project
:n "a" #'phpunit-current-class
:n "s" #'phpunit-current-test)))
(def-package! php-extras
:after php-mode
:init
(add-hook 'php-mode-hook 'eldoc-mode)
(add-hook 'php-mode-hook #'eldoc-mode)
:config
(setq php-extras-eldoc-functions-file (concat doom-etc-dir "php-extras-eldoc-functions"))
(set! :company-bakend 'php-mode '(php-extras-company company-yasnippet))
;; company will set up itself
(advice-add 'php-extras-company-setup :override 'ignore)
(advice-add #'php-extras-company-setup :override #'ignore)
;; Make expensive php-extras generation async
(unless (file-exists-p (concat php-extras-eldoc-functions-file ".el"))
@ -66,7 +66,7 @@
(def-package! php-refactor-mode
:commands php-refactor-mode
:init (add-hook 'php-mode-hook 'php-refactor-mode))
:init (add-hook 'php-mode-hook #'php-refactor-mode))
(def-package! phpunit

View file

@ -4,9 +4,9 @@
:commands (processing-mode processing-find-sketch)
:mode "\\.pde$"
:init
(add-hook 'processing-compilation-mode-hook 'doom-hide-modeline-mode)
(add-hook 'processing-compilation-mode-hook #'doom-hide-modeline-mode)
:config
(set! :build 'build-sketch 'processing-mode 'processing-sketch-build)
(set! :build 'build-sketch 'processing-mode #'processing-sketch-build)
(set! :popup "*processing-compilation*" :size 10 :noselect t)
(set! :eval 'processing-mode
'((:command . ,processing-location)
@ -22,17 +22,17 @@
processing-output-dir "/tmp")
(map! :map processing-mode-map
:nv "M-r" 'processing-sketch-run
:m "gd" 'processing-find-in-reference
:nv "M-r" #'processing-sketch-run
:m "gd" #'processing-find-in-reference
(:localleader
:n "e" 'processing-export-application
:n "h" 'processing-open-reference
:n "e" 'processing-open-examples
:n "o" 'processing-open-sketchbook
:n "e" #'processing-export-application
:n "h" #'processing-open-reference
:n "e" #'processing-open-examples
:n "o" #'processing-open-sketchbook
:prefix "f"
:n "s" 'processing-find-sketch))
:n "s" #'processing-find-sketch))
(after! company-keywords
(nconc company-keywords-alist

View file

@ -15,10 +15,10 @@
python-shell-completion-string-code
"';'.join(get_ipython().Completer.all_completions('''%s'''))\n")
(add-hook 'python-mode-hook 'flycheck-mode)
(add-hook 'python-mode-hook #'flycheck-mode)
:config
(set! :repl 'python-mode '+python/repl)
(set! :repl 'python-mode #'+python/repl)
(set! :electric 'python-mode :chars '(?:))
(define-key python-mode-map (kbd "DEL") nil) ; interferes with smartparens
@ -29,17 +29,17 @@
(def-package! anaconda-mode
:after python
:init
(add-hook 'python-mode-hook 'anaconda-mode)
(add-hook 'anaconda-mode-hook 'anaconda-eldoc-mode)
(add-hook 'python-mode-hook #'anaconda-mode)
(add-hook 'anaconda-mode-hook #'anaconda-eldoc-mode)
(setq anaconda-mode-installation-directory (concat doom-etc-dir "anaconda/")
anaconda-mode-eldoc-as-single-line t)
:config
(set! :popup "*anaconda-mode*" :size 10 :noselect t :autoclose t :autokill t)
(map! :map anaconda-mode-map :m "gd" 'anaconda-mode-find-definitions)
(map! :map anaconda-mode-map :m "gd" #'anaconda-mode-find-definitions)
(advice-add 'anaconda-mode-doc-buffer :after 'doom*anaconda-mode-doc-buffer))
(advice-add #'anaconda-mode-doc-buffer :after #'doom*anaconda-mode-doc-buffer))
(def-package! company-anaconda
@ -48,15 +48,15 @@
:config
(set! :company-backend 'python-mode '(company-anaconda))
(map! :map python-mode-map
:m "gd" 'anaconda-mode-find-definitions
:m "gD" 'anaconda-mode-find-references
:m "gd" #'anaconda-mode-find-definitions
:m "gD" #'anaconda-mode-find-references
:localleader
:prefix "f"
:nv "d" 'anaconda-mode-find-definitions
:nv "h" 'anaconda-mode-show-doc
:nv "a" 'anaconda-mode-find-assignments
:nv "f" 'anaconda-mode-find-file
:nv "u" 'anaconda-mode-find-references))
:nv "d" #'anaconda-mode-find-definitions
:nv "h" #'anaconda-mode-show-doc
:nv "a" #'anaconda-mode-find-assignments
:nv "f" #'anaconda-mode-find-file
:nv "u" #'anaconda-mode-find-references))
(def-package! pip-requirements
@ -75,11 +75,11 @@
(map! :map nose-mode-map
:localleader
:prefix "t"
:n "r" 'nosetests-again
:n "a" 'nosetests-all
:n "s" 'nosetests-one
:n "v" 'nosetests-module
:n "A" 'nosetests-pdb-all
:n "O" 'nosetests-pdb-one
:n "V" 'nosetests-pdb-module))
:n "r" #'nosetests-again
:n "a" #'nosetests-all
:n "s" #'nosetests-one
:n "v" #'nosetests-module
:n "A" #'nosetests-pdb-all
:n "O" #'nosetests-pdb-one
:n "V" #'nosetests-pdb-module))

View file

@ -5,7 +5,7 @@
"/\\(Gem\\|Cap\\|Vagrant\\|Rake\\|Pod\\|Puppet\\|Berks\\)file$")
:interpreter "ruby"
:init
(add-hook 'ruby-mode-hook 'flycheck-mode)
(add-hook 'ruby-mode-hook #'flycheck-mode)
:config
(set! :company-backend 'ruby-mode '(company-dabbrev-code))
(set! :electric 'ruby-mode :words '("else" "end" "elseif"))
@ -16,13 +16,13 @@
(map! :map ruby-mode-map
:localleader
:prefix "r"
:nv "b" 'ruby-toggle-block
:nv "ec" 'ruby-refactor-extract-constant
:nv "el" 'ruby-refactor-extract-to-let
:nv "em" 'ruby-refactor-extract-to-method
:nv "ev" 'ruby-refactor-extract-local-variable
:nv "ad" 'ruby-refactor-add-parameter
:nv "cc" 'ruby-refactor-convert-post-conditional))
:nv "b" #'ruby-toggle-block
:nv "ec" #'ruby-refactor-extract-constant
:nv "el" #'ruby-refactor-extract-to-let
:nv "em" #'ruby-refactor-extract-to-method
:nv "ev" #'ruby-refactor-extract-local-variable
:nv "ad" #'ruby-refactor-add-parameter
:nv "cc" #'ruby-refactor-convert-post-conditional))
(def-package! ruby-refactor
@ -35,7 +35,7 @@
;; Highlight doc comments
(def-package! yard-mode
:commands yard-mode
:init (add-hook 'ruby-mode-hook 'yard-mode))
:init (add-hook 'ruby-mode-hook #'yard-mode))
(def-package! rspec-mode
@ -55,10 +55,10 @@
(map! :map rspec-mode-map
:localleader
:prefix "t"
:n "r" 'rspec-rerun
:n "a" 'rspec-verify-all
:n "s" 'rspec-verify-single
:n "v" 'rspec-verify))
:n "r" #'rspec-rerun
:n "a" #'rspec-verify-all
:n "s" #'rspec-verify-single
:n "v" #'rspec-verify))
(def-package! inf-ruby

View file

@ -6,10 +6,10 @@
(def-package! rust-mode
:mode "\\.rs$"
:init
(add-hook 'rust-mode-hook 'flycheck-mode)
(add-hook 'rust-mode-hook #'flycheck-mode)
:config
(set! :build 'run-cargo '(rust-mode toml-mode) '+rust/run-cargo
:when '+rust-cargo-project-p))
(set! :build 'run-cargo '(rust-mode toml-mode) #'+rust/run-cargo
:when #'+rust-cargo-project-p))
(def-package! racer
@ -22,7 +22,7 @@
racer-rust-src-path (expand-file-name "rust/src/" +rust-ext-dir))
;; TODO Unit test keybinds
(map! :map rust-mode-map :m "gd" 'racer-find-definition))
(map! :map rust-mode-map :m "gd" #'racer-find-definition))
(def-package! company-racer

View file

@ -3,7 +3,7 @@
(def-package! scala-mode
:mode "\\.s\\(cala\\|bt\\)$"
:init
(add-hook 'scala-mode-hook 'eldoc-mode)
(add-hook 'scala-mode-hook #'eldoc-mode)
:config
(set! :company-backend 'scala-mode '(ensime-company (company-yasnippet))))
@ -14,5 +14,5 @@
(def-package! ensime
:commands (ensime ensime-mode ensime-scala-mode-hook)
:init
(add-hook 'scala-mode-hook 'ensime-scala-mode-hook))
(add-hook 'scala-mode-hook #'ensime-scala-mode-hook))

View file

@ -4,10 +4,10 @@
:mode (("\\.zsh$" . sh-mode)
("/bspwmrc$" . sh-mode))
:init
(add-hook! sh-mode '(flycheck-mode highlight-numbers-mode +sh|extra-fontify))
(add-hook! sh-mode #'(flycheck-mode highlight-numbers-mode +sh|extra-fontify))
:config
(set! :electric 'sh-mode :words '("else" "elif" "fi" "done" "then" "do" "esac" ";;"))
(set! :repl 'sh-mode '+sh/repl)
(set! :repl 'sh-mode #'+sh/repl)
(setq sh-indent-after-continuation 'always)
;; [pedantry intensifies]
@ -16,7 +16,7 @@
(defun +sh|detect-zsh ()
(when (and buffer-file-name (string-match-p "\\.zsh\\'" buffer-file-name))
(sh-set-shell "zsh")))
(add-hook 'sh-mode-hook '+sh|detect-zsh))
(add-hook 'sh-mode-hook #'+sh|detect-zsh))
(def-package! company-shell

View file

@ -5,9 +5,9 @@
(def-package! swift-mode
:mode "\\.swift$"
:init
(add-hook 'swift-mode-hook 'flycheck-mode)
(add-hook 'swift-mode-hook #'flycheck-mode)
:config
(set! :repl 'swift-mode 'swift-mode-run-repl) ; TODO test this
(set! :repl 'swift-mode #'swift-mode-run-repl) ; TODO test this
(push 'swift flycheck-checkers))

View file

@ -3,7 +3,7 @@
(def-package! typescript-mode
:mode "\\.ts$"
:init
(add-hook 'typescript-mode-hook 'rainbow-delimiters-mode)
(add-hook 'typescript-mode-hook #'rainbow-delimiters-mode)
:config
(set! :electric 'typescript-mode :chars '(?\} ?\)) :words '("||" "&&"))
@ -25,14 +25,14 @@
(tide-setup)
(flycheck-mode +1)
(eldoc-mode +1)))
(add-hook! (typescript-mode web-mode) '+typescript|tide-setup)
(add-hook! (typescript-mode web-mode) #'+typescript|tide-setup)
(advice-add 'tide-project-root :override 'doom-project-root)
(advice-add #'tide-project-root :override #'doom-project-root)
(map! :map typescript-mode-map
:m "gd" 'tide-jump-to-definition
:m "gd" #'tide-jump-to-definition
:localleader
:m "fh" 'tide-documentation-at-point))
:m "fh" #'tide-documentation-at-point))
(def-package! tide

View file

@ -1,17 +1,17 @@
;;; lang/web/+css.el
;; css-mode hooks apply to scss and less-css modes
(add-hook 'css-mode-hook 'rainbow-delimiters-mode)
(add-hook 'css-mode-hook #'rainbow-delimiters-mode)
(add-hook! (css-mode sass-mode)
'(yas-minor-mode-on flycheck-mode highlight-numbers-mode))
#'(yas-minor-mode-on flycheck-mode highlight-numbers-mode))
(sp-with-modes '(css-mode scss-mode less-css-mode stylus-mode)
(sp-local-pair "/*" "*/" :post-handlers '(("[d-3]||\n[i]" "RET") ("| " "SPC"))))
(map! :map* (css-mode-map scss-mode-map less-css-mode-map)
:n "M-R" '+css/web-refresh-browser
:n "M-R" #'+css/web-refresh-browser
(:localleader
:n "rb" '+css/toggle-inline-or-block))
:n "rb" #'+css/toggle-inline-or-block))
;;
;; Packages
@ -21,14 +21,14 @@
:when (featurep! :completion ivy)
:commands (counsel-css counsel-css-imenu-setup)
:init
(add-hook 'css-mode-hook 'counsel-css-imenu-setup)
(add-hook 'css-mode-hook #'counsel-css-imenu-setup)
(map! :map* (css-mode-map scss-mode-map less-css-mode-map)
:leader :n ";" 'counsel-css))
:leader :n ";" #'counsel-css))
(def-package! rainbow-mode
:commands rainbow-mode
:init (add-hook! (css-mode sass-mode) 'rainbow-mode))
:init (add-hook! (css-mode sass-mode) #'rainbow-mode))
(def-package! css-mode
@ -36,7 +36,7 @@
:mode ("\\.scss$" . scss-mode)
:config
(set! :company-backend '(css-mode scss-mode) '(company-css company-yasnippet))
(set! :build 'compile-to-css 'scss-mode '+css/scss-build))
(set! :build 'compile-to-css 'scss-mode #'+css/scss-build))
(def-package! sass-mode
@ -44,7 +44,7 @@
:config
(setq sass-command-options '("--style compressed"))
(set! :company-backend 'sass-mode '(company-css company-yasnippet))
(set! :build 'compile-to-css 'sass-mode '+css/sass-build))
(set! :build 'compile-to-css 'sass-mode #'+css/sass-build))
(def-package! less-css-mode

View file

@ -10,26 +10,26 @@
"\\.tsx$"
"wp-content/themes/.+/.+\\.php$")
:init
(add-hook 'web-mode-hook 'turn-off-smartparens-mode)
(add-hook 'web-mode-hook #'turn-off-smartparens-mode)
:config
(set! :company-backend 'web-mode '(company-web-html company-yasnippet))
(setq web-mode-enable-html-entities-fontification t)
;; Fix blank line numbers after unfolding
(advice-add 'web-mode-fold-or-unfold :after 'nlinum--flush)
(advice-add #'web-mode-fold-or-unfold :after #'nlinum--flush)
(map! :map web-mode-map
(:localleader :n "rt" 'web-mode-element-rename)
"M-/" 'web-mode-comment-or-uncomment
:i "SPC" 'self-insert-command
:n "M-r" 'doom/web-refresh-browser
:n "za" 'web-mode-fold-or-unfold
:nv "]a" 'web-mode-attribute-next
:nv "[a" 'web-mode-attribute-previous
:nv "]t" 'web-mode-tag-next
:nv "[t" 'web-mode-tag-previous
:nv "]T" 'web-mode-element-child
:nv "[T" 'web-mode-element-parent))
(:localleader :n "rt" #'web-mode-element-rename)
"M-/" #'web-mode-comment-or-uncomment
:i "SPC" #'self-insert-command
:n "M-r" #'doom/web-refresh-browser
:n "za" #'web-mode-fold-or-unfold
:nv "]a" #'web-mode-attribute-next
:nv "[a" #'web-mode-attribute-previous
:nv "]t" #'web-mode-tag-next
:nv "[t" #'web-mode-tag-previous
:nv "]T" #'web-mode-element-child
:nv "[T" #'web-mode-element-parent))
(def-package! company-web
@ -45,5 +45,5 @@
:config
(set! :company-backend 'pug-mode '(company-yasnippet))
(map! :map pug-mode-map
:i [tab] 'doom/dumb-indent
:i [backtab] 'doom/dumb-dedent))
:i [tab] #'doom/dumb-indent
:i [backtab] #'doom/dumb-dedent))

View file

@ -8,9 +8,9 @@
:commands (web-beautify-html web-beautify-css)
:init
(map! (:map* (css-mode-map scss-mode-map less-css-mode-map)
:n "gQ" 'web-beautify-css)
:n "gQ" #'web-beautify-css)
(:map* web-mode-map
:n "gQ" 'web-beautify-html)))
:n "gQ" #'web-beautify-html)))
(def-package! emmet-mode
@ -22,9 +22,9 @@
:config
(setq emmet-move-cursor-between-quotes t)
(map! :map emmet-mode-keymap
:v "M-e" 'emmet-wrap-with-markup
:i "M-e" 'emmet-expand-yas
:i "M-E" 'emmet-expand-line))
:v "M-e" #'emmet-wrap-with-markup
:i "M-e" #'emmet-expand-yas
:i "M-E" #'emmet-expand-line))
;;

View file

@ -23,7 +23,7 @@
(fboundp 'dired-insert-set-properties)
(dired-insert-set-properties (point-min) (point-max)))
(set-buffer-modified-p nil))
(add-hook 'dired-after-readin-hook '+dired|sort-directories-first)
(add-hook 'dired-after-readin-hook #'+dired|sort-directories-first)
;; Automatically create missing directories when creating new files
(defun +dired|create-non-existent-directory ()
@ -31,14 +31,14 @@
(when (and (not (file-exists-p parent-directory))
(y-or-n-p (format "Directory `%s' does not exist! Create it?" parent-directory)))
(make-directory parent-directory t))))
(push '+dired|create-non-existent-directory find-file-not-found-functions)
(push #'+dired|create-non-existent-directory find-file-not-found-functions)
(after! evil
(add-transient-hook! 'dired-mode-hook
(map! :map dired-mode-map
:n "c" 'find-file
:n "d" 'dired-do-delete
:n "r" 'dired-do-rename)))
:n "c" #'find-file
:n "d" #'dired-do-delete
:n "r" #'dired-do-rename)))
;;
@ -54,13 +54,13 @@
"Butt out if the requested directory is remote (i.e. through tramp)."
(unless (file-remote-p default-directory)
(apply orig-fn args)))
(advice-add 'dired-k--highlight :around '+dired*dired-k-highlight)
(advice-add #'dired-k--highlight :around #'+dired*dired-k-highlight)
(add-hook 'dired-initial-position-hook 'dired-k)
(add-hook 'dired-initial-position-hook #'dired-k)
(add-hook 'dired-after-readin-hook #'dired-k-no-revert))
;; Striped dired buffers
(def-package! stripe-buffer
:commands stripe-buffer-mode
:init (add-hook 'dired-mode-hook 'stripe-buffer-mode))
:init (add-hook 'dired-mode-hook #'stripe-buffer-mode))

View file

@ -26,11 +26,11 @@ trigger electric indentation."
(chars (plist-get plist :chars))
(words (plist-get plist :words)))
(when (or chars words)
(let ((fn-name (intern (format "doom--electric-%s" (s-join "-" (mapcar 'symbol-name modes))))))
(let ((fn-name (intern (format "doom--electric-%s" (s-join "-" (mapcar #'symbol-name modes))))))
`(progn
(defun ,fn-name ()
(electric-indent-local-mode +1)
,(if chars `(setq electric-indent-chars ',chars))
,(if words `(setq doom-electric-indent-words ',words)))
(add-hook! ,modes ',fn-name))))))
(add-hook! ,modes #',fn-name))))))

View file

@ -68,52 +68,52 @@ module to be loaded."
(defun +eshell/evil-append ()
(interactive)
(goto-char eshell-last-output-end)
(call-interactively 'evil-append-line))
(call-interactively #'evil-append-line))
;;;###autoload
(defun +eshell/evil-append-maybe ()
(interactive)
(if (+eshell--outside-prompt-p)
(+eshell/evil-append)
(call-interactively 'evil-append)))
(call-interactively #'evil-append)))
;;;###autoload
(defun +eshell/evil-prepend ()
(interactive)
(goto-char eshell-last-output-end)
(call-interactively 'evil-insert))
(call-interactively #'evil-insert))
;;;###autoload
(defun +eshell/evil-prepend-maybe ()
(interactive)
(if (+eshell--outside-prompt-p)
(+eshell/evil-prepend)
(call-interactively 'evil-insert)))
(call-interactively #'evil-insert)))
;;;###autoload
(defun +eshell/evil-replace-maybe ()
(interactive)
(if (+eshell--outside-prompt-p)
(user-error "Cannot edit read-only region")
(call-interactively 'evil-replace)))
(call-interactively #'evil-replace)))
;;;###autoload
(defun +eshell/evil-replace-state-maybe ()
(interactive)
(if (+eshell--outside-prompt-p)
(user-error "Cannot edit read-only region")
(call-interactively 'evil-replace-state)))
(call-interactively #'evil-replace-state)))
;;;###autoload
(defun +eshell/evil-change ()
(interactive)
(when (+eshell--outside-prompt-p)
(goto-char eshell-last-output-end))
(call-interactively 'evil-change))
(call-interactively #'evil-change))
;;;###autoload
(defun +eshell/evil-change-line ()
(interactive)
(when (+eshell--outside-prompt-p)
(goto-char eshell-last-output-end))
(call-interactively 'evil-change-line))
(call-interactively #'evil-change-line))

View file

@ -17,7 +17,7 @@
eshell-scroll-to-bottom-on-output 'all
eshell-buffer-shorthand t
;; em-prompt
eshell-prompt-function '+eshell/prompt
eshell-prompt-function #'+eshell/prompt
;; em-glob
eshell-glob-case-insensitive t
eshell-error-if-no-glob t
@ -32,23 +32,23 @@
"Setup eshell keybindings. This must be done in a hook because eshell
redefines its keys every time `eshell-mode' is enabled."
(map! :map eshell-mode-map
:n "i" '+eshell/evil-prepend-maybe
:n "I" '+eshell/evil-prepend
:n "a" '+eshell/evil-append-maybe
:n "A" '+eshell/evil-append
:n "r" '+eshell/evil-replace-maybe
:n "R" '+eshell/evil-replace-state-maybe
:n "c" '+eshell/evil-change
:n "C" '+eshell/evil-change-line
:i "<tab>" 'eshell-pcomplete
:i "C-u" 'eshell-kill-input
:i "SPC" 'self-insert-command
:m "<return>" '+eshell/evil-append
:n [remap evil-window-split] '+eshell/split
:n [remap evil-window-vsplit] '+eshell/vsplit
:n [remap evil-record-macro] 'eshell-life-is-too-much
[remap doom/close-window-or-tab] 'eshell-life-is-too-much))
(add-hook 'eshell-mode-hook '+eshell|keymap-setup)
:n "i" #'+eshell/evil-prepend-maybe
:n "I" #'+eshell/evil-prepend
:n "a" #'+eshell/evil-append-maybe
:n "A" #'+eshell/evil-append
:n "r" #'+eshell/evil-replace-maybe
:n "R" #'+eshell/evil-replace-state-maybe
:n "c" #'+eshell/evil-change
:n "C" #'+eshell/evil-change-line
:i "<tab>" #'eshell-pcomplete
:i "C-u" #'eshell-kill-input
:i "SPC" #'self-insert-command
:m "<return>" #'+eshell/evil-append
:n [remap evil-window-split] #'+eshell/split
:n [remap evil-window-vsplit] #'+eshell/vsplit
:n [remap evil-record-macro] #'eshell-life-is-too-much
[remap doom/close-window-or-tab] #'eshell-life-is-too-much))
(add-hook 'eshell-mode-hook #'+eshell|keymap-setup)
(defun +eshell|cleanup ()
"Close window (or workspace) on quit."
@ -58,17 +58,17 @@ redefines its keys every time `eshell-mode' is enabled."
((and (featurep! :feature workspaces)
(string= "eshell" (+workspace-current-name)))
(+workspace/close-window-or-workspace))))
(add-hook 'eshell-exit-hook '+eshell|cleanup)
(add-hook 'eshell-exit-hook #'+eshell|cleanup)
(defun +eshell|init ()
"Keep track of eshell buffers."
(add-to-list '+eshell-buffers (current-buffer)))
(add-hook 'eshell-mode-hook '+eshell|init)
(add-hook 'eshell-mode-hook #'+eshell|init)
(add-hook 'eshell-mode-hook 'doom-hide-modeline-mode)
(add-hook 'eshell-mode-hook #'doom-hide-modeline-mode)
(add-hook! eshell-mode
(add-hook 'evil-insert-state-exit-hook 'hl-line-mode nil t)
(add-hook 'evil-insert-state-exit-hook #'hl-line-mode nil t)
(add-hook 'evil-insert-state-entry-hook (lambda () (hl-line-mode -1)) nil t))
;; Aliases

View file

@ -14,12 +14,12 @@
(words (plist-get plist :words))
(patterns (plist-get plist :patterns)))
(when (or symbols words patterns)
(let ((fn-name (intern (format "doom--rotate-%s" (s-join "-" (mapcar 'symbol-name modes))))))
(let ((fn-name (intern (format "doom--rotate-%s" (s-join "-" (mapcar #'symbol-name modes))))))
`(progn
(defun ,fn-name ()
(require 'rotate-text)
,(if symbols `(setq rotate-text-local-symbols ',symbols))
,(if words `(setq rotate-text-local-words ',words))
,(if patterns `(setq rotate-text-local-patterns ',patterns)))
(add-hook! ,modes ',fn-name))))))
(add-hook! ,modes #',fn-name))))))

View file

@ -6,4 +6,4 @@
(setq multi-term-program (getenv "SHELL")
multi-term-switch-after-close nil)
(add-hook 'term-mode-hook 'doom-hide-modeline-mode))
(add-hook 'term-mode-hook #'doom-hide-modeline-mode))

View file

@ -21,8 +21,8 @@
(let ((bin (executable-find "tmux")))
(unless bin
(error "Could not find tmux executable"))
(let* ((args (mapcar 'shell-quote-argument (delq nil args)))
(cmdstr (format "%s %s" bin (if args (apply 'format command args) command)))
(let* ((args (mapcar #'shell-quote-argument (delq nil args)))
(cmdstr (format "%s %s" bin (if args (apply #'format command args) command)))
(output (get-buffer-create " *tmux stdout*"))
(errors (get-buffer-create " *tmux stderr*"))
code)
@ -63,7 +63,7 @@ but do not execute them."
(interactive "P")
(unless +tmux-last-command
(user-error "No last command to run"))
(apply '+tmux (car +tmux-last-command) (cdr +tmux-last-command)))
(apply #'+tmux (car +tmux-last-command) (cdr +tmux-last-command)))
;;;###autoload
(defun +tmux/cd (&optional directory)

View file

@ -31,23 +31,23 @@
(def-package! all-the-icons :when (display-graphic-p))
(unless (display-graphic-p)
(defalias 'all-the-icons-octicon 'ignore)
(defalias 'all-the-icons-faicon 'ignore)
(defalias 'all-the-icons-fileicon 'ignore)
(defalias 'all-the-icons-wicon 'ignore)
(defalias 'all-the-icons-alltheicon 'ignore))
(defalias 'all-the-icons-octicon #'ignore)
(defalias 'all-the-icons-faicon #'ignore)
(defalias 'all-the-icons-fileicon #'ignore)
(defalias 'all-the-icons-wicon #'ignore)
(defalias 'all-the-icons-alltheicon #'ignore))
;;
(setq doom-fallback-buffer +doom-dashboard-name)
(add-hook 'after-make-frame-functions '+doom-dashboard-deferred-reload)
(add-hook 'after-make-frame-functions #'+doom-dashboard-deferred-reload)
(add-hook! 'window-setup-hook
(add-hook! 'kill-buffer-query-functions
(or (not (+doom-dashboard-p))
(ignore (ignore-errors (+doom-dashboard-force-reload))
(bury-buffer))))
(add-hook 'window-configuration-change-hook '+doom-dashboard-reload)
(add-hook 'window-configuration-change-hook #'+doom-dashboard-reload)
(+doom-dashboard-reload)
(when (equal (buffer-name) "*scratch*")
(switch-to-buffer (doom-fallback-buffer))))
@ -82,12 +82,12 @@
(setq +doom-dashboard-edited-p t
mode-line-format +doom-dashboard-old-modeline
fringe-indicator-alist +doom-dashboard--old-fringe-indicator)
(remove-hook 'evil-insert-state-entry-hook 'doom|mode-erase-on-insert t)))
(remove-hook 'evil-insert-state-entry-hook #'doom|mode-erase-on-insert t)))
(defun +doom-dashboard-deferred-reload (&rest _)
"Reload the dashboard after a brief pause. This is necessary for new frames,
whose dimensions may not be fully initialized by the time this is run."
(run-with-timer 0.1 nil '+doom-dashboard-reload))
(run-with-timer 0.1 nil #'+doom-dashboard-reload))
(defun +doom-dashboard-reload (&optional dir)
"Update the DOOM scratch buffer (or create it, if it doesn't exist)."
@ -104,8 +104,8 @@ whose dimensions may not be fully initialized by the time this is run."
(let ((old-pwd (or dir default-directory)))
(with-current-buffer (doom-fallback-buffer)
(+doom-dashboard-mode)
(add-hook 'evil-insert-state-entry-hook '+doom-dashboard|clear-on-insert nil t)
(add-hook 'after-change-major-mode-hook '+doom-dashboard|clear-on-insert nil t)
(add-hook 'evil-insert-state-entry-hook #'+doom-dashboard|clear-on-insert nil t)
(add-hook 'after-change-major-mode-hook #'+doom-dashboard|clear-on-insert nil t)
(setq +doom-dashboard-edited-p nil
fringe-indicator-alist (mapcar (lambda (i) (cons (car i) nil))
fringe-indicator-alist))

View file

@ -4,11 +4,11 @@
;; all-the-icons doesn't work in the terminal, so we "disable" it.
(unless (display-graphic-p)
(defalias 'all-the-icons-octicon 'ignore)
(defalias 'all-the-icons-faicon 'ignore)
(defalias 'all-the-icons-fileicon 'ignore)
(defalias 'all-the-icons-wicon 'ignore)
(defalias 'all-the-icons-alltheicon 'ignore))
(defalias 'all-the-icons-octicon #'ignore)
(defalias 'all-the-icons-faicon #'ignore)
(defalias 'all-the-icons-fileicon #'ignore)
(defalias 'all-the-icons-wicon #'ignore)
(defalias 'all-the-icons-alltheicon #'ignore))
(def-package! all-the-icons :demand t
:when (display-graphic-p))
@ -26,7 +26,7 @@
(force-mode-line-update)
(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))
;; anzu and evil-anzu make it possible to display current/total in the
@ -44,20 +44,18 @@
(defun +doom-modeline|reset-anzu ()
(setq anzu--state nil))
;; Ensure anzu state is cleared when searches & iedit are done
(add-hook! '(kill-buffer-hook find-file-hook) '+doom-modeline|reset-anzu)
(add-hook! '(kill-buffer-hook find-file-hook) #'+doom-modeline|reset-anzu)
(after! evil
(advice-add 'evil-force-normal-state :after '+doom-modeline|reset-anzu)
(advice-add 'evil-ex-search-abort :after '+doom-modeline|reset-anzu)
(advice-add #'evil-force-normal-state :after #'+doom-modeline|reset-anzu)
(advice-add #'evil-ex-search-abort :after #'+doom-modeline|reset-anzu)
(after! evil-multiedit
(add-hook 'iedit-mode-end-hook '+doom-modeline|reset-anzu))))
(add-hook 'iedit-mode-end-hook #'+doom-modeline|reset-anzu))))
;;; Flash the mode-line on error
;; TODO More flexible colors (only suits dark themes)
;; FIXME fast key-repeat can make the mode-line bg get stuck (rare)
(defvar doom--visual-bell-old-bg nil)
(setq ring-bell-function 'doom-visual-bell
visible-bell nil)
(defun doom-visual-bell ()
"Blink the mode-line red briefly."
(unless doom--visual-bell-old-bg
@ -66,6 +64,8 @@
(run-with-timer
0.1 nil
(lambda () (set-face-attribute 'mode-line nil :background doom--visual-bell-old-bg))))
(setq ring-bell-function #'doom-visual-bell
visible-bell nil)
;; Keep `+doom-modeline-current-window' up-to-date
@ -76,10 +76,10 @@
(unless (minibuffer-window-active-p win)
(setq +doom-modeline-current-window win))))
(add-hook 'window-configuration-change-hook '+doom-modeline|set-selected-window)
(add-hook 'focus-in-hook '+doom-modeline|set-selected-window)
(advice-add 'handle-switch-frame :after '+doom-modeline|set-selected-window)
(advice-add 'select-window :after '+doom-modeline|set-selected-window)
(add-hook 'window-configuration-change-hook #'+doom-modeline|set-selected-window)
(add-hook 'focus-in-hook #'+doom-modeline|set-selected-window)
(advice-add #'handle-switch-frame :after #'+doom-modeline|set-selected-window)
(advice-add #'select-window :after #'+doom-modeline|set-selected-window)
@ -180,8 +180,8 @@ active."
;; Show version string for multi-version managers like rvm, rbenv, pyenv, etc.
(defvar-local +doom-modeline-env-version nil)
(defvar-local +doom-modeline-env-command nil)
(add-hook 'focus-in-hook '+doom-modeline|update-env)
(add-hook 'find-file-hook '+doom-modeline|update-env)
(add-hook 'focus-in-hook #'+doom-modeline|update-env)
(add-hook 'find-file-hook #'+doom-modeline|update-env)
(defun +doom-modeline|update-env ()
(when +doom-modeline-env-command
(let* ((default-directory (doom-project-root))
@ -220,7 +220,7 @@ active."
color)
(let ((len (length data))
(idx 0))
(apply 'concat
(apply #'concat
(mapcar #'(lambda (dl)
(setq idx (+ idx 1))
(concat
@ -578,4 +578,4 @@ with `evil-ex-substitute', and/or 4. The number of active `iedit' regions."
(defun +doom-modeline|set-special-modeline ()
(setq mode-line-format (doom-modeline 'special)))
(add-hook 'org-src-mode-hook '+doom-modeline|set-special-modeline)
(add-hook 'org-src-mode-hook #'+doom-modeline|set-special-modeline)

View file

@ -31,5 +31,5 @@ http://doom.wikia.com/wiki/Quit_messages and elsewhere.")
(y-or-n-p (format "%s Quit?" (nth (random (length +doom-quit-messages)) +doom-quit-messages)))
t))
(setq confirm-kill-emacs '+doom-quit)
(setq confirm-kill-emacs #'+doom-quit)

View file

@ -60,14 +60,14 @@
(when (and (not doom-buffer-mode)
(doom-real-buffer-p))
(doom-buffer-mode +1)))
(add-hook 'after-change-major-mode-hook '+doom|buffer-mode-on)
(add-hook 'after-change-major-mode-hook #'+doom|buffer-mode-on)
(defun +doom|buffer-mode-off ()
"Disable `doom-buffer-mode' in popup buffers."
(when (and doom-buffer-mode
(not (get-buffer-window-list)))
(doom-buffer-mode -1)))
(add-hook 'doom-popup-mode-hook '+doom|buffer-mode-off)
(add-hook 'doom-popup-mode-hook #'+doom|buffer-mode-off)
(when (featurep! :feature workspaces)
(defun +doom|restore-bright-buffers (&rest _)
@ -75,7 +75,7 @@
(dolist (buf (persp-buffer-list))
(with-current-buffer buf
(+doom|buffer-mode-on))))
(add-hook '+workspaces-load-session-hook '+doom|restore-bright-buffers))
(add-hook '+workspaces-load-session-hook #'+doom|restore-bright-buffers))
;; Add file icons to doom-neotree
(require 'doom-neotree)
@ -103,9 +103,9 @@
'doom/blink-cursor)
(after! evil
(advice-add 'evil-window-bottom :after 'doom/blink-cursor)
(advice-add 'evil-window-middle :after 'doom/blink-cursor)
(advice-add 'evil-window-top :after 'doom/blink-cursor)))
(advice-add #'evil-window-bottom :after #'doom/blink-cursor)
(advice-add #'evil-window-middle :after #'doom/blink-cursor)
(advice-add #'evil-window-top :after #'doom/blink-cursor)))
(after! hideshow

View file

@ -3,7 +3,7 @@
(def-package! hl-todo
:commands hl-todo-mode
:init
(add-hook 'prog-mode-hook 'hl-todo-mode)
(add-hook 'prog-mode-hook #'hl-todo-mode)
:config
(setq hl-todo-keyword-faces
`(("TODO" . ,(face-foreground 'warning))