Revert macros to ...! name convention (elisp doesn't like @...)
This commit is contained in:
parent
b64d5554e3
commit
33c88d4f82
125 changed files with 877 additions and 880 deletions
|
@ -22,7 +22,7 @@
|
||||||
(puthash args (apply ',func args) doom-memoized-table))))
|
(puthash args (apply ',func args) doom-memoized-table))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defmacro @def-memoized (name arglist &rest body)
|
(defmacro def-memoized! (name arglist &rest body)
|
||||||
"Create a memoize'd function. NAME, ARGLIST, DOCSTRING and BODY
|
"Create a memoize'd function. NAME, ARGLIST, DOCSTRING and BODY
|
||||||
have the same meaning as in `defun'."
|
have the same meaning as in `defun'."
|
||||||
(declare (indent defun) (doc-string 3))
|
(declare (indent defun) (doc-string 3))
|
||||||
|
|
|
@ -9,15 +9,15 @@
|
||||||
;; regular plists.
|
;; regular plists.
|
||||||
;;
|
;;
|
||||||
;; (let ((a '(abc :commands 1 :config 3 4 5)))
|
;; (let ((a '(abc :commands 1 :config 3 4 5)))
|
||||||
;; (@mplist a &delete :commands :config))
|
;; (mplist! a &delete :commands :config))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defmacro @mplist (var action &rest args)
|
(defmacro mplist! (var action &rest args)
|
||||||
"A helper macro that makes dealing with doom-mplist-* functions a little more concise.
|
"A helper macro that makes dealing with doom-mplist-* functions a little more concise.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
(@mplist plist &delete :x :y)
|
(mplist! plist &delete :x :y)
|
||||||
(@mplist plist &get :x)"
|
(mplist! plist &get :x)"
|
||||||
(declare (indent defun))
|
(declare (indent defun))
|
||||||
(let ((fn-sym (intern (format "doom-mplist-%s" (substring (symbol-name action) 1)))))
|
(let ((fn-sym (intern (format "doom-mplist-%s" (substring (symbol-name action) 1)))))
|
||||||
(when (fboundp fn-sym)
|
(when (fboundp fn-sym)
|
||||||
|
|
|
@ -102,7 +102,7 @@ Used by `doom/packages-autoremove'."
|
||||||
(defun doom-get-missing-packages ()
|
(defun doom-get-missing-packages ()
|
||||||
"Return a list of requested packages that aren't installed or built-in. Each
|
"Return a list of requested packages that aren't installed or built-in. Each
|
||||||
element is a list whose CAR is the package symbol, and whose CDR is a plist
|
element is a list whose CAR is the package symbol, and whose CDR is a plist
|
||||||
taken from that package's `@package' declaration.
|
taken from that package's `package!' declaration.
|
||||||
|
|
||||||
Used by `doom/packages-install'."
|
Used by `doom/packages-install'."
|
||||||
(cl-remove-if (lambda (pkgsym)
|
(cl-remove-if (lambda (pkgsym)
|
||||||
|
|
|
@ -55,10 +55,10 @@
|
||||||
recentf-max-menu-items 0
|
recentf-max-menu-items 0
|
||||||
recentf-max-saved-items 250
|
recentf-max-saved-items 250
|
||||||
recentf-filename-handlers '(abbreviate-file-name))
|
recentf-filename-handlers '(abbreviate-file-name))
|
||||||
(@quiet (recentf-mode 1))
|
(quiet! (recentf-mode 1))
|
||||||
|
|
||||||
;; Ediff
|
;; Ediff
|
||||||
(@add-hook ediff-load
|
(add-hook! ediff-load
|
||||||
(setq ediff-diff-options "-w"
|
(setq ediff-diff-options "-w"
|
||||||
ediff-split-window-function 'split-window-horizontally
|
ediff-split-window-function 'split-window-horizontally
|
||||||
ediff-window-setup-function 'ediff-setup-windows-plain)) ; no extra frames
|
ediff-window-setup-function 'ediff-setup-windows-plain)) ; no extra frames
|
||||||
|
@ -85,15 +85,15 @@
|
||||||
|
|
||||||
;; Handles whitespace (tabs/spaces) settings externally. This way projects can
|
;; Handles whitespace (tabs/spaces) settings externally. This way projects can
|
||||||
;; specify their own formatting rules.
|
;; specify their own formatting rules.
|
||||||
(@def-package editorconfig :demand t
|
(def-package! editorconfig :demand t
|
||||||
:mode ("\\.?editorconfig$" . editorconfig-conf-mode)
|
:mode ("\\.?editorconfig$" . editorconfig-conf-mode)
|
||||||
:config (editorconfig-mode +1)
|
:config (editorconfig-mode +1)
|
||||||
;; Show whitespace in tabs indentation mode
|
;; Show whitespace in tabs indentation mode
|
||||||
(@add-hook 'editorconfig-custom-hooks
|
(add-hook! 'editorconfig-custom-hooks
|
||||||
(if indent-tabs-mode (whitespace-mode +1))))
|
(if indent-tabs-mode (whitespace-mode +1))))
|
||||||
|
|
||||||
;; Auto-close delimiters and blocks as you type
|
;; Auto-close delimiters and blocks as you type
|
||||||
(@def-package smartparens :demand t
|
(def-package! smartparens :demand t
|
||||||
:init
|
:init
|
||||||
(setq sp-autowrap-region nil ; let evil-surround handle this
|
(setq sp-autowrap-region nil ; let evil-surround handle this
|
||||||
sp-highlight-pair-overlay nil
|
sp-highlight-pair-overlay nil
|
||||||
|
@ -129,49 +129,49 @@
|
||||||
;; Autoloaded Plugins
|
;; Autoloaded Plugins
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package ace-link
|
(def-package! ace-link
|
||||||
:commands (ace-link-help ace-link-org))
|
:commands (ace-link-help ace-link-org))
|
||||||
|
|
||||||
(@def-package ace-window
|
(def-package! ace-window
|
||||||
:commands ace-window
|
:commands ace-window
|
||||||
:config
|
:config
|
||||||
(setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)
|
(setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)
|
||||||
aw-scope 'frame
|
aw-scope 'frame
|
||||||
aw-background t))
|
aw-background t))
|
||||||
|
|
||||||
(@def-package avy
|
(def-package! avy
|
||||||
:commands (avy-goto-char-2 avy-goto-line)
|
:commands (avy-goto-char-2 avy-goto-line)
|
||||||
:config
|
:config
|
||||||
(setq avy-all-windows nil
|
(setq avy-all-windows nil
|
||||||
avy-background t))
|
avy-background t))
|
||||||
|
|
||||||
(@def-package command-log-mode
|
(def-package! command-log-mode
|
||||||
:commands (command-log-mode global-command-log-mode)
|
:commands (command-log-mode global-command-log-mode)
|
||||||
:config
|
:config
|
||||||
(@set :popup "*command-log*" :size 40 :align 'right :noselect t)
|
(set! :popup "*command-log*" :size 40 :align 'right :noselect t)
|
||||||
(setq command-log-mode-auto-show t
|
(setq command-log-mode-auto-show t
|
||||||
command-log-mode-open-log-turns-on-mode t))
|
command-log-mode-open-log-turns-on-mode t))
|
||||||
|
|
||||||
(@def-package expand-region
|
(def-package! expand-region
|
||||||
:commands (er/expand-region er/contract-region er/mark-symbol er/mark-word))
|
:commands (er/expand-region er/contract-region er/mark-symbol er/mark-word))
|
||||||
|
|
||||||
(@def-package goto-last-change :commands goto-last-change)
|
(def-package! goto-last-change :commands goto-last-change)
|
||||||
|
|
||||||
(@def-package help-fns+ ; Improved help commands
|
(def-package! help-fns+ ; Improved help commands
|
||||||
:commands (describe-buffer describe-command describe-file
|
:commands (describe-buffer describe-command describe-file
|
||||||
describe-keymap describe-option describe-option-of-type))
|
describe-keymap describe-option describe-option-of-type))
|
||||||
|
|
||||||
(@def-package imenu-anywhere
|
(def-package! imenu-anywhere
|
||||||
:commands (ido-imenu-anywhere ivy-imenu-anywhere helm-imenu-anywhere))
|
:commands (ido-imenu-anywhere ivy-imenu-anywhere helm-imenu-anywhere))
|
||||||
|
|
||||||
(@def-package imenu-list :commands imenu-list-minor-mode)
|
(def-package! imenu-list :commands imenu-list-minor-mode)
|
||||||
|
|
||||||
(@def-package pcre2el :commands rxt-quote-pcre)
|
(def-package! pcre2el :commands rxt-quote-pcre)
|
||||||
|
|
||||||
(@def-package smart-forward
|
(def-package! smart-forward
|
||||||
:commands (smart-up smart-down smart-backward smart-forward))
|
:commands (smart-up smart-down smart-backward smart-forward))
|
||||||
|
|
||||||
(@def-package wgrep
|
(def-package! wgrep
|
||||||
:commands (wgrep-setup wgrep-change-to-wgrep-mode)
|
:commands (wgrep-setup wgrep-change-to-wgrep-mode)
|
||||||
:config
|
:config
|
||||||
(setq wgrep-auto-save-buffer t)
|
(setq wgrep-auto-save-buffer t)
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
(defvar doom--which-key-defs '(nil))
|
(defvar doom--which-key-defs '(nil))
|
||||||
|
|
||||||
|
|
||||||
(@def-package which-key
|
(def-package! which-key
|
||||||
:defer 1
|
:defer 1
|
||||||
:config
|
:config
|
||||||
(setq which-key-sort-order 'which-key-prefix-then-key-order
|
(setq which-key-sort-order 'which-key-prefix-then-key-order
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
state))
|
state))
|
||||||
(split-string (substring (symbol-name keyword) 1) "" t)))))
|
(split-string (substring (symbol-name keyword) 1) "" t)))))
|
||||||
|
|
||||||
;; Register keywords for proper indentation (see `@map')
|
;; Register keywords for proper indentation (see `map!')
|
||||||
(put ':prefix 'lisp-indent-function 'defun)
|
(put ':prefix 'lisp-indent-function 'defun)
|
||||||
(put ':map 'lisp-indent-function 'defun)
|
(put ':map 'lisp-indent-function 'defun)
|
||||||
(put ':map* 'lisp-indent-function 'defun)
|
(put ':map* 'lisp-indent-function 'defun)
|
||||||
|
@ -59,7 +59,7 @@
|
||||||
(put ':unless 'lisp-indent-function 'defun)
|
(put ':unless 'lisp-indent-function 'defun)
|
||||||
(put ':desc 'lisp-indent-function 'defun)
|
(put ':desc 'lisp-indent-function 'defun)
|
||||||
|
|
||||||
(defmacro @map (&rest rest)
|
(defmacro map! (&rest rest)
|
||||||
"A nightmare of a key-binding macro that will use `evil-define-key*',
|
"A nightmare of a key-binding macro that will use `evil-define-key*',
|
||||||
`define-key', `local-set-key' and `global-set-key' depending on context and
|
`define-key', `local-set-key' and `global-set-key' depending on context and
|
||||||
plist key flags (and whether evil is loaded or not). It was designed to make
|
plist key flags (and whether evil is loaded or not). It was designed to make
|
||||||
|
@ -96,7 +96,7 @@ Conditional keybinds
|
||||||
(:unless [CONDITION] [...])
|
(:unless [CONDITION] [...])
|
||||||
|
|
||||||
Example
|
Example
|
||||||
(@map :map magit-mode-map
|
(map! :map magit-mode-map
|
||||||
:m \"C-r\" 'do-something ; assign C-r in motion state
|
:m \"C-r\" 'do-something ; assign C-r in motion state
|
||||||
:nv \"q\" 'magit-mode-quit-window ; assign to 'q' in normal and visual states
|
:nv \"q\" 'magit-mode-quit-window ; assign to 'q' in normal and visual states
|
||||||
\"C-x C-r\" 'a-global-keybind
|
\"C-x C-r\" 'a-global-keybind
|
||||||
|
@ -113,7 +113,7 @@ Example
|
||||||
(cond
|
(cond
|
||||||
;; it's a sub expr
|
;; it's a sub expr
|
||||||
((listp key)
|
((listp key)
|
||||||
(push (macroexpand `(@map ,@key)) forms))
|
(push (macroexpand `(map! ,@key)) forms))
|
||||||
|
|
||||||
;; it's a flag
|
;; it's a flag
|
||||||
((keywordp key)
|
((keywordp key)
|
||||||
|
@ -126,9 +126,9 @@ Example
|
||||||
(setq key :prefix
|
(setq key :prefix
|
||||||
desc "<localleader>")))
|
desc "<localleader>")))
|
||||||
(pcase key
|
(pcase key
|
||||||
(:when (prog1 `((if ,(pop rest) ,(macroexpand `(@map ,@rest)))) (setq rest '())))
|
(:when (prog1 `((if ,(pop rest) ,(macroexpand `(map! ,@rest)))) (setq rest '())))
|
||||||
(:unless (prog1 `((if (not ,(pop rest)) ,(macroexpand `(@map ,@rest)))) (setq rest '())))
|
(:unless (prog1 `((if (not ,(pop rest)) ,(macroexpand `(map! ,@rest)))) (setq rest '())))
|
||||||
(:after (prog1 `((@after ,(pop rest) ,(macroexpand `(@map ,@rest)))) (setq rest '())))
|
(:after (prog1 `((after! ,(pop rest) ,(macroexpand `(map! ,@rest)))) (setq rest '())))
|
||||||
(:desc (setq desc (pop rest)))
|
(:desc (setq desc (pop rest)))
|
||||||
(:map* (setq defer t) (push :map rest))
|
(:map* (setq defer t) (push :map rest))
|
||||||
(:map
|
(:map
|
||||||
|
@ -166,7 +166,7 @@ Example
|
||||||
(when prefix
|
(when prefix
|
||||||
(setq key (append prefix (list key))))
|
(setq key (append prefix (list key))))
|
||||||
(unless (> (length rest) 0)
|
(unless (> (length rest) 0)
|
||||||
(user-error "@map has no definition for %s key" key))
|
(user-error "map! has no definition for %s key" key))
|
||||||
(setq def (pop rest))
|
(setq def (pop rest))
|
||||||
(when desc
|
(when desc
|
||||||
(push `(nconc doom--which-key-defs (list ,(key-description (eval key)) ,desc))
|
(push `(nconc doom--which-key-defs (list ,(key-description (eval key)) ,desc))
|
||||||
|
|
|
@ -42,12 +42,12 @@
|
||||||
;; Library
|
;; Library
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(defmacro @λ (&rest body)
|
(defmacro λ! (&rest body)
|
||||||
"A shortcut for inline interactive lambdas."
|
"A shortcut for inline interactive lambdas."
|
||||||
(declare (doc-string 1))
|
(declare (doc-string 1))
|
||||||
`(lambda () (interactive) ,@body))
|
`(lambda () (interactive) ,@body))
|
||||||
|
|
||||||
(defmacro @after (feature &rest forms)
|
(defmacro after! (feature &rest forms)
|
||||||
"A smart wrapper around `with-eval-after-load'. Supresses warnings during
|
"A smart wrapper around `with-eval-after-load'. Supresses warnings during
|
||||||
compilation."
|
compilation."
|
||||||
(declare (indent defun) (debug t))
|
(declare (indent defun) (debug t))
|
||||||
|
@ -60,7 +60,7 @@ compilation."
|
||||||
'with-no-warnings)
|
'with-no-warnings)
|
||||||
(with-eval-after-load ',feature ,@forms)))
|
(with-eval-after-load ',feature ,@forms)))
|
||||||
|
|
||||||
(defmacro @quiet (&rest forms)
|
(defmacro quiet! (&rest forms)
|
||||||
"Run FORMS without making any noise."
|
"Run FORMS without making any noise."
|
||||||
`(if doom-debug-mode
|
`(if doom-debug-mode
|
||||||
(progn ,@forms)
|
(progn ,@forms)
|
||||||
|
@ -77,7 +77,7 @@ compilation."
|
||||||
(save-silently t))
|
(save-silently t))
|
||||||
,@forms)))
|
,@forms)))
|
||||||
|
|
||||||
(defmacro @add-hook (hook &rest func-or-forms)
|
(defmacro add-hook! (hook &rest func-or-forms)
|
||||||
"A convenience macro for `add-hook'.
|
"A convenience macro for `add-hook'.
|
||||||
|
|
||||||
HOOK can be one hook or a list of hooks. If the hook(s) are not quoted, -hook is
|
HOOK can be one hook or a list of hooks. If the hook(s) are not quoted, -hook is
|
||||||
|
@ -88,14 +88,14 @@ will be wrapped in a lambda. A list of symbols will expand into a series of
|
||||||
add-hook calls.
|
add-hook calls.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
(@add-hook 'some-mode-hook 'enable-something)
|
(add-hook! 'some-mode-hook 'enable-something)
|
||||||
(@add-hook some-mode '(enable-something and-another))
|
(add-hook! some-mode '(enable-something and-another))
|
||||||
(@add-hook '(one-mode-hook second-mode-hook) 'enable-something)
|
(add-hook! '(one-mode-hook second-mode-hook) 'enable-something)
|
||||||
(@add-hook (one-mode second-mode) 'enable-something)
|
(add-hook! (one-mode second-mode) 'enable-something)
|
||||||
(@add-hook (one-mode second-mode) (setq v 5) (setq a 2))"
|
(add-hook! (one-mode second-mode) (setq v 5) (setq a 2))"
|
||||||
(declare (indent defun) (debug t))
|
(declare (indent defun) (debug t))
|
||||||
(unless func-or-forms
|
(unless func-or-forms
|
||||||
(error "@add-hook: FUNC-OR-FORMS is empty"))
|
(error "add-hook!: FUNC-OR-FORMS is empty"))
|
||||||
(let* ((val (car func-or-forms))
|
(let* ((val (car func-or-forms))
|
||||||
(quoted-p (eq (car-safe hook) 'quote))
|
(quoted-p (eq (car-safe hook) 'quote))
|
||||||
(hook (if quoted-p (cadr hook) hook))
|
(hook (if quoted-p (cadr hook) hook))
|
||||||
|
@ -113,7 +113,7 @@ Examples:
|
||||||
forms)))
|
forms)))
|
||||||
`(progn ,@(reverse forms))))
|
`(progn ,@(reverse forms))))
|
||||||
|
|
||||||
(defmacro @associate (mode &rest plist)
|
(defmacro associate! (mode &rest plist)
|
||||||
"Associate a major or minor mode to certain patterns and project files."
|
"Associate a major or minor mode to certain patterns and project files."
|
||||||
(declare (indent 1))
|
(declare (indent 1))
|
||||||
(unless noninteractive
|
(unless noninteractive
|
||||||
|
@ -126,7 +126,7 @@ Examples:
|
||||||
(when (and files
|
(when (and files
|
||||||
(not (or (listp files)
|
(not (or (listp files)
|
||||||
(stringp files))))
|
(stringp files))))
|
||||||
(user-error "@associate :files expects a string or list of strings"))
|
(user-error "associate! :files expects a string or list of strings"))
|
||||||
(let ((hook-name (intern (format "doom--init-mode-%s" mode))))
|
(let ((hook-name (intern (format "doom--init-mode-%s" mode))))
|
||||||
(macroexp-progn
|
(macroexp-progn
|
||||||
(list `(defun ,hook-name ()
|
(list `(defun ,hook-name ()
|
||||||
|
@ -146,21 +146,21 @@ Examples:
|
||||||
(match
|
(match
|
||||||
`(add-to-list ',(if minor 'doom-auto-minor-mode-alist 'auto-mode-alist)
|
`(add-to-list ',(if minor 'doom-auto-minor-mode-alist 'auto-mode-alist)
|
||||||
(cons ,match ',mode)))
|
(cons ,match ',mode)))
|
||||||
(t (user-error "@associate invalid rules for mode [%s] (in %s) (match %s) (files %s)"
|
(t (user-error "associate! invalid rules for mode [%s] (in %s) (match %s) (files %s)"
|
||||||
mode in match files))))))
|
mode in match files))))))
|
||||||
|
|
||||||
|
|
||||||
;; Provides a centralized configuration system that a) won't evaluate its
|
;; Provides a centralized configuration system that a) won't evaluate its
|
||||||
;; arguments if it doesn't need to (performance), b) won't complain if the
|
;; arguments if it doesn't need to (performance), b) won't complain if the
|
||||||
;; setting doesn't exist and c) is more elegant than a bunch of `@after' blocks,
|
;; setting doesn't exist and c) is more elegant than a bunch of `after!' blocks,
|
||||||
;; which can cause intermittent stuttering in large quantities. I'm a fan of
|
;; which can cause intermittent stuttering in large quantities. I'm a fan of
|
||||||
;; concise, do-what-I-mean front-facing configuration, believe it or not.
|
;; concise, do-what-I-mean front-facing configuration, believe it or not.
|
||||||
;;
|
;;
|
||||||
;; Plus, it can benefit from byte-compilation.
|
;; Plus, it can benefit from byte-compilation.
|
||||||
|
|
||||||
(defmacro @def-setting (keyword arglist &optional docstring &rest forms)
|
(defmacro def-setting! (keyword arglist &optional docstring &rest forms)
|
||||||
"Define a setting macro. Like `defmacro', this should return a form to be
|
"Define a setting macro. Like `defmacro', this should return a form to be
|
||||||
executed when called with `@set'. FORMS are not evaluated until `@set' calls it."
|
executed when called with `set!'. FORMS are not evaluated until `set!' calls it."
|
||||||
(declare (indent defun) (doc-string 3))
|
(declare (indent defun) (doc-string 3))
|
||||||
(unless (keywordp keyword)
|
(unless (keywordp keyword)
|
||||||
(error "Not a valid property name: %s" keyword))
|
(error "Not a valid property name: %s" keyword))
|
||||||
|
@ -168,11 +168,11 @@ executed when called with `@set'. FORMS are not evaluated until `@set' calls it.
|
||||||
,docstring
|
,docstring
|
||||||
,@forms))
|
,@forms))
|
||||||
|
|
||||||
(defmacro @set (keyword &rest values)
|
(defmacro set! (keyword &rest values)
|
||||||
"Set an option defined by `@def-setting'. Skip if doesn't exist."
|
"Set an option defined by `def-setting!'. Skip if doesn't exist."
|
||||||
(declare (indent defun))
|
(declare (indent defun))
|
||||||
(unless values
|
(unless values
|
||||||
(error "Empty @set for %s" keyword))
|
(error "Empty set! for %s" keyword))
|
||||||
(let ((fn (intern (format "doom-setting--setter%s" keyword))))
|
(let ((fn (intern (format "doom-setting--setter%s" keyword))))
|
||||||
(if (functionp fn)
|
(if (functionp fn)
|
||||||
(apply fn (eval `(list ,@values)))
|
(apply fn (eval `(list ,@values)))
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
(when (require 'osx-clipboard nil t)
|
(when (require 'osx-clipboard nil t)
|
||||||
(osx-clipboard-mode +1))))
|
(osx-clipboard-mode +1))))
|
||||||
|
|
||||||
(@after evil
|
(after! evil
|
||||||
;; On OSX, stop copying each visual state move to the clipboard:
|
;; On OSX, stop copying each visual state move to the clipboard:
|
||||||
;; https://bitbucket.org/lyro/evil/issue/336/osx-visual-state-copies-the-region-on
|
;; https://bitbucket.org/lyro/evil/issue/336/osx-visual-state-copies-the-region-on
|
||||||
;; Most of this code grokked from:
|
;; Most of this code grokked from:
|
||||||
|
|
|
@ -51,7 +51,7 @@ This will be nil if you have byte-compiled your configuration (as intended).")
|
||||||
(defvar doom-packages nil
|
(defvar doom-packages nil
|
||||||
"A list of enabled packages. Each element is a sublist, whose CAR is the
|
"A list of enabled packages. Each element is a sublist, whose CAR is the
|
||||||
package's name as a symbol, and whose CDR is the plist supplied to its
|
package's name as a symbol, and whose CDR is the plist supplied to its
|
||||||
`@package' declaration. Set by `doom-initialize-packages'.")
|
`package!' declaration. Set by `doom-initialize-packages'.")
|
||||||
|
|
||||||
(defvar doom-protected-packages
|
(defvar doom-protected-packages
|
||||||
'(persistent-soft quelpa use-package)
|
'(persistent-soft quelpa use-package)
|
||||||
|
@ -65,7 +65,7 @@ missing) and shouldn't be deleted.")
|
||||||
(append (list doom-core-dir doom-modules-dir)
|
(append (list doom-core-dir doom-modules-dir)
|
||||||
load-path)
|
load-path)
|
||||||
"A backup of `load-path' before it was altered by `doom-initialize'. Used as a
|
"A backup of `load-path' before it was altered by `doom-initialize'. Used as a
|
||||||
base when running `doom/reload', or by `@doom', for calculating how many
|
base when running `doom/reload', or by `doom!', for calculating how many
|
||||||
packages exist.")
|
packages exist.")
|
||||||
|
|
||||||
(setq load-prefer-newer nil
|
(setq load-prefer-newer nil
|
||||||
|
@ -150,7 +150,7 @@ to speed up startup."
|
||||||
"Ensures that `doom-autoload-file' exists and is loaded. Otherwise run
|
"Ensures that `doom-autoload-file' exists and is loaded. Otherwise run
|
||||||
`doom/reload-autoloads' to generate it."
|
`doom/reload-autoloads' to generate it."
|
||||||
(unless (file-exists-p doom-autoload-file)
|
(unless (file-exists-p doom-autoload-file)
|
||||||
(@quiet (doom/reload-autoloads))))
|
(quiet! (doom/reload-autoloads))))
|
||||||
|
|
||||||
(defun doom-initialize-packages (&optional force-p load-p)
|
(defun doom-initialize-packages (&optional force-p load-p)
|
||||||
"Crawls across your emacs.d in order to fill `doom-modules' (from init.el) and
|
"Crawls across your emacs.d in order to fill `doom-modules' (from init.el) and
|
||||||
|
@ -189,7 +189,7 @@ files."
|
||||||
(cond ((keywordp m)
|
(cond ((keywordp m)
|
||||||
(setq mode m))
|
(setq mode m))
|
||||||
((not mode)
|
((not mode)
|
||||||
(error "No namespace specified on `@doom' for %s" m))
|
(error "No namespace specified on `doom!' for %s" m))
|
||||||
((eq m '*)
|
((eq m '*)
|
||||||
(doom-initialize-modules
|
(doom-initialize-modules
|
||||||
(cons mode
|
(cons mode
|
||||||
|
@ -243,7 +243,7 @@ the file exists."
|
||||||
FORCE-P is non-nil). MODULE is a keyword, SUBMODULE is a symbol. e.g. :lang
|
FORCE-P is non-nil). MODULE is a keyword, SUBMODULE is a symbol. e.g. :lang
|
||||||
'emacs-lisp.
|
'emacs-lisp.
|
||||||
|
|
||||||
Used by `@require' and `@depends-on'."
|
Used by `require!' and `depends-on!'."
|
||||||
(unless (or force-p (doom-module-loaded-p module submodule))
|
(unless (or force-p (doom-module-loaded-p module submodule))
|
||||||
(puthash (cons module submodule) t doom-modules)))
|
(puthash (cons module submodule) t doom-modules)))
|
||||||
|
|
||||||
|
@ -259,7 +259,7 @@ Used by `@require' and `@depends-on'."
|
||||||
|
|
||||||
(autoload 'use-package "use-package" nil nil 'macro)
|
(autoload 'use-package "use-package" nil nil 'macro)
|
||||||
|
|
||||||
(defmacro @doom (&rest modules)
|
(defmacro doom! (&rest modules)
|
||||||
"DOOM Emacs bootstrap macro. List the modules to load. Benefits from
|
"DOOM Emacs bootstrap macro. List the modules to load. Benefits from
|
||||||
byte-compilation."
|
byte-compilation."
|
||||||
(doom-initialize-modules modules)
|
(doom-initialize-modules modules)
|
||||||
|
@ -267,7 +267,7 @@ byte-compilation."
|
||||||
(setq doom-modules ',doom-modules)
|
(setq doom-modules ',doom-modules)
|
||||||
|
|
||||||
(unless noninteractive
|
(unless noninteractive
|
||||||
,@(mapcar (lambda (module) `(@require ,(car module) ,(cdr module) t))
|
,@(mapcar (lambda (module) `(require! ,(car module) ,(cdr module) t))
|
||||||
(doom--module-pairs))
|
(doom--module-pairs))
|
||||||
|
|
||||||
(when (display-graphic-p)
|
(when (display-graphic-p)
|
||||||
|
@ -278,15 +278,15 @@ byte-compilation."
|
||||||
;; Benchmark
|
;; Benchmark
|
||||||
(add-hook 'after-init-hook 'doom--display-benchmark t))))
|
(add-hook 'after-init-hook 'doom--display-benchmark t))))
|
||||||
|
|
||||||
(defmacro @def-package (name &rest plist)
|
(defmacro def-package! (name &rest plist)
|
||||||
"Defines and configures a package using `use-package'. Packages are deferred
|
"Defines and configures a package using `use-package'. Packages are deferred
|
||||||
by default. If the package isn't installed or loaded, `@def-package' is
|
by default. If the package isn't installed or loaded, `def-package!' is
|
||||||
ignored."
|
ignored."
|
||||||
(when (or (featurep name)
|
(when (or (featurep name)
|
||||||
(package-installed-p name))
|
(package-installed-p name))
|
||||||
`(use-package ,name ,@plist)))
|
`(use-package ,name ,@plist)))
|
||||||
|
|
||||||
(defmacro @load (filesym &optional path noerror)
|
(defmacro load! (filesym &optional path noerror)
|
||||||
"Loads a file relative to the current module (or PATH). FILESYM is a file path
|
"Loads a file relative to the current module (or PATH). FILESYM is a file path
|
||||||
as a symbol. PATH is a directory to prefix it with. If NOERROR is non-nil, don't
|
as a symbol. PATH is a directory to prefix it with. If NOERROR is non-nil, don't
|
||||||
throw an error if the file doesn't exist."
|
throw an error if the file doesn't exist."
|
||||||
|
@ -304,9 +304,9 @@ throw an error if the file doesn't exist."
|
||||||
(if (file-exists-p file)
|
(if (file-exists-p file)
|
||||||
`(load ,(file-name-sans-extension file) ,noerror (not doom-debug-mode))
|
`(load ,(file-name-sans-extension file) ,noerror (not doom-debug-mode))
|
||||||
(unless noerror
|
(unless noerror
|
||||||
(error "Could not @load file %s" file))))))
|
(error "Could not load! file %s" file))))))
|
||||||
|
|
||||||
(defmacro @require (module submodule &optional reload-p)
|
(defmacro require! (module submodule &optional reload-p)
|
||||||
"Like `require', but for doom modules. Will load a module's config.el file if
|
"Like `require', but for doom modules. Will load a module's config.el file if
|
||||||
it hasn't already, and if it exists."
|
it hasn't already, and if it exists."
|
||||||
(when (or (not noninteractive)
|
(when (or (not noninteractive)
|
||||||
|
@ -315,9 +315,9 @@ it hasn't already, and if it exists."
|
||||||
(when (or reload-p (not loaded-p))
|
(when (or reload-p (not loaded-p))
|
||||||
(unless loaded-p
|
(unless loaded-p
|
||||||
(doom--enable-module module submodule t))
|
(doom--enable-module module submodule t))
|
||||||
`(@load config ,(doom-module-path module submodule) t)))))
|
`(load! config ,(doom-module-path module submodule) t)))))
|
||||||
|
|
||||||
(defmacro @featurep (module submodule)
|
(defmacro featurep! (module submodule)
|
||||||
"Convenience macro that wraps `doom-module-loaded-p'."
|
"Convenience macro that wraps `doom-module-loaded-p'."
|
||||||
`(doom-module-loaded-p ,module ',submodule))
|
`(doom-module-loaded-p ,module ',submodule))
|
||||||
|
|
||||||
|
@ -326,7 +326,7 @@ it hasn't already, and if it exists."
|
||||||
;; Declarative macros
|
;; Declarative macros
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(defmacro @package (name &rest plist)
|
(defmacro package! (name &rest plist)
|
||||||
"Declares a package and how to install it (if applicable). This does not load
|
"Declares a package and how to install it (if applicable). This does not load
|
||||||
nor install them.
|
nor install them.
|
||||||
|
|
||||||
|
@ -359,11 +359,11 @@ them."
|
||||||
(assq-delete-all ',name doom-packages))
|
(assq-delete-all ',name doom-packages))
|
||||||
(push ',(cons name plist) doom-packages))))
|
(push ',(cons name plist) doom-packages))))
|
||||||
|
|
||||||
(defmacro @depends-on (module submodule)
|
(defmacro depends-on! (module submodule)
|
||||||
"Declares that this module depends on another. MODULE is a keyword, and
|
"Declares that this module depends on another. MODULE is a keyword, and
|
||||||
SUBMODULE is a symbol."
|
SUBMODULE is a symbol."
|
||||||
(doom--enable-module module submodule)
|
(doom--enable-module module submodule)
|
||||||
`(@load packages ,(doom-module-path module submodule) t))
|
`(load! packages ,(doom-module-path module submodule) t))
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
@ -402,7 +402,7 @@ the commandline."
|
||||||
;; Make evil.el autoload files a special case; don't load them
|
;; Make evil.el autoload files a special case; don't load them
|
||||||
;; unless evil is enabled.
|
;; unless evil is enabled.
|
||||||
(unless (and (equal (file-name-nondirectory file) "evil.el")
|
(unless (and (equal (file-name-nondirectory file) "evil.el")
|
||||||
(not (@featurep :feature evil)))
|
(not (featurep! :feature evil)))
|
||||||
(push file autoload-files)))
|
(push file autoload-files)))
|
||||||
(file-expand-wildcards (expand-file-name "*.el" auto-dir) t)))))
|
(file-expand-wildcards (expand-file-name "*.el" auto-dir) t)))))
|
||||||
(when (file-exists-p generated-autoload-file)
|
(when (file-exists-p generated-autoload-file)
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
"A list of window parameters that are set (and cleared) when `doom-popup-mode
|
"A list of window parameters that are set (and cleared) when `doom-popup-mode
|
||||||
is enabled/disabled.'")
|
is enabled/disabled.'")
|
||||||
|
|
||||||
(@def-setting :popup (&rest rules)
|
(def-setting! :popup (&rest rules)
|
||||||
"Prepend a new popup rule to `shackle-rules'."
|
"Prepend a new popup rule to `shackle-rules'."
|
||||||
(if (cl-every 'listp rules)
|
(if (cl-every 'listp rules)
|
||||||
`(nconc shackle-rules ',rules)
|
`(nconc shackle-rules ',rules)
|
||||||
|
@ -49,7 +49,7 @@ is enabled/disabled.'")
|
||||||
;; Bootstrap
|
;; Bootstrap
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package shackle :demand t
|
(def-package! shackle :demand t
|
||||||
:init
|
:init
|
||||||
(setq shackle-default-alignment 'below
|
(setq shackle-default-alignment 'below
|
||||||
;;; Baseline popup-window rules
|
;;; Baseline popup-window rules
|
||||||
|
@ -146,7 +146,7 @@ for :align t on every rule."
|
||||||
(set-window-parameter window param nil))))))
|
(set-window-parameter window param nil))))))
|
||||||
|
|
||||||
;; Hide modeline in completion popups
|
;; Hide modeline in completion popups
|
||||||
(@add-hook (completion-in-region-mode completion-list-mode) 'doom-hide-modeline-mode)
|
(add-hook! (completion-in-region-mode completion-list-mode) 'doom-hide-modeline-mode)
|
||||||
|
|
||||||
;;
|
;;
|
||||||
(defun doom*popup-init (orig-fn &rest args)
|
(defun doom*popup-init (orig-fn &rest args)
|
||||||
|
@ -203,7 +203,7 @@ properties."
|
||||||
;; Hacks
|
;; Hacks
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@after evil
|
(after! evil
|
||||||
(let ((map doom-popup-mode-map))
|
(let ((map doom-popup-mode-map))
|
||||||
(define-key map [remap evil-window-delete] 'doom/popup-close)
|
(define-key map [remap evil-window-delete] 'doom/popup-close)
|
||||||
(define-key map [remap evil-window-move-very-bottom] 'ignore)
|
(define-key map [remap evil-window-move-very-bottom] 'ignore)
|
||||||
|
@ -269,7 +269,7 @@ the command buffer."
|
||||||
(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
|
(after! help-mode
|
||||||
;; Help buffers use `other-window' to decide where to open followed links,
|
;; Help buffers use `other-window' to decide where to open followed links,
|
||||||
;; which can be unpredictable. It should *only* replace the original buffer we
|
;; which can be unpredictable. It should *only* replace the original buffer we
|
||||||
;; opened the popup from. To fix this these three button
|
;; opened the popup from. To fix this these three button
|
||||||
|
@ -318,12 +318,12 @@ the command buffer."
|
||||||
(message "Unable to find location in file"))))))
|
(message "Unable to find location in file"))))))
|
||||||
|
|
||||||
|
|
||||||
;; (@after magit
|
;; (after! magit
|
||||||
;; ;; Don't open files (from magit) within the magit popup
|
;; ;; 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
|
(after! neotree
|
||||||
(defun doom*popups-save-neotree (orig-fn &rest args)
|
(defun doom*popups-save-neotree (orig-fn &rest args)
|
||||||
"Prevents messing up the neotree buffer on window changes."
|
"Prevents messing up the neotree buffer on window changes."
|
||||||
(let ((neo-p (and (featurep 'neotree)
|
(let ((neo-p (and (featurep 'neotree)
|
||||||
|
@ -350,7 +350,7 @@ the command buffer."
|
||||||
(advice-add 'evil-window-move-far-right :around 'doom*popups-save-neotree))
|
(advice-add 'evil-window-move-far-right :around 'doom*popups-save-neotree))
|
||||||
|
|
||||||
|
|
||||||
(@add-hook org-load
|
(add-hook! org-load
|
||||||
;; Ensures org-src-edit yields control of its buffer to shackle.
|
;; Ensures org-src-edit yields control of its buffer to shackle.
|
||||||
(defun doom*org-src-switch-to-buffer (buffer context) (pop-to-buffer buffer))
|
(defun doom*org-src-switch-to-buffer (buffer context) (pop-to-buffer buffer))
|
||||||
(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)
|
||||||
|
@ -382,8 +382,8 @@ the command buffer."
|
||||||
(setq org-agenda-archives-mode nil
|
(setq org-agenda-archives-mode nil
|
||||||
org-agenda-buffer nil))))
|
org-agenda-buffer nil))))
|
||||||
|
|
||||||
(@after org-agenda
|
(after! org-agenda
|
||||||
(@after evil
|
(after! evil
|
||||||
(evil-define-key* 'motion org-agenda-mode-map
|
(evil-define-key* 'motion org-agenda-mode-map
|
||||||
[escape] 'doom/popup-org-agenda-quit
|
[escape] 'doom/popup-org-agenda-quit
|
||||||
(kbd "ESC") 'doom/popup-org-agenda-quit))
|
(kbd "ESC") 'doom/popup-org-agenda-quit))
|
||||||
|
@ -393,8 +393,8 @@ the command buffer."
|
||||||
(define-key map "Q" 'doom/popup-org-agenda-quit))))
|
(define-key map "Q" 'doom/popup-org-agenda-quit))))
|
||||||
|
|
||||||
|
|
||||||
(@after repl-toggle
|
(after! repl-toggle
|
||||||
(@add-hook doom-popup-close
|
(add-hook! doom-popup-close
|
||||||
(setq rtog/--last-buffer nil)))
|
(setq rtog/--last-buffer nil)))
|
||||||
|
|
||||||
(provide 'core-popups)
|
(provide 'core-popups)
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
;; digging through project files and exposing an API I can use to make other
|
;; digging through project files and exposing an API I can use to make other
|
||||||
;; plugins/features project-aware.
|
;; plugins/features project-aware.
|
||||||
|
|
||||||
(@def-package projectile :demand t
|
(def-package! projectile :demand t
|
||||||
:init
|
:init
|
||||||
(setq projectile-cache-file (concat doom-cache-dir "projectile.cache")
|
(setq projectile-cache-file (concat doom-cache-dir "projectile.cache")
|
||||||
projectile-enable-caching (not noninteractive)
|
projectile-enable-caching (not noninteractive)
|
||||||
|
|
|
@ -44,8 +44,8 @@
|
||||||
;; show typed keystrokes in minibuffer
|
;; show typed keystrokes in minibuffer
|
||||||
(setq echo-keystrokes 0.02)
|
(setq echo-keystrokes 0.02)
|
||||||
;; ...but hide them while isearch is active
|
;; ...but hide them while isearch is active
|
||||||
(@add-hook isearch-mode (setq echo-keystrokes 0))
|
(add-hook! isearch-mode (setq echo-keystrokes 0))
|
||||||
(@add-hook isearch-mode-end (setq echo-keystrokes 0.02))
|
(add-hook! isearch-mode-end (setq echo-keystrokes 0.02))
|
||||||
|
|
||||||
;; A minor mode for toggling the mode-line
|
;; A minor mode for toggling the mode-line
|
||||||
(defvar doom--hidden-modeline-format nil
|
(defvar doom--hidden-modeline-format nil
|
||||||
|
@ -90,7 +90,7 @@ disabled.")
|
||||||
(push (cons 'left-fringe doom-ui-fringe-size) default-frame-alist)
|
(push (cons 'left-fringe doom-ui-fringe-size) default-frame-alist)
|
||||||
(push (cons 'right-fringe doom-ui-fringe-size) default-frame-alist)
|
(push (cons 'right-fringe doom-ui-fringe-size) default-frame-alist)
|
||||||
;; no fringe in the minibuffer
|
;; no fringe in the minibuffer
|
||||||
(@add-hook (emacs-startup minibuffer-setup)
|
(add-hook! (emacs-startup minibuffer-setup)
|
||||||
(set-window-fringes (minibuffer-window) 0 0 nil)))
|
(set-window-fringes (minibuffer-window) 0 0 nil)))
|
||||||
|
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ disabled.")
|
||||||
;; I modified the built-in `hideshow' package to enable itself when needed. A
|
;; I modified the built-in `hideshow' package to enable itself when needed. A
|
||||||
;; better, more vim-like code-folding plugin would be the `origami' plugin, but
|
;; better, more vim-like code-folding plugin would be the `origami' plugin, but
|
||||||
;; until certain breaking bugs are fixed in it, I won't switch over.
|
;; until certain breaking bugs are fixed in it, I won't switch over.
|
||||||
(@def-package hideshow ; built-in
|
(def-package! hideshow ; built-in
|
||||||
:commands (hs-minor-mode hs-toggle-hiding hs-already-hidden-p)
|
:commands (hs-minor-mode hs-toggle-hiding hs-already-hidden-p)
|
||||||
:init
|
:init
|
||||||
(defun doom*autoload-hideshow ()
|
(defun doom*autoload-hideshow ()
|
||||||
|
@ -112,7 +112,7 @@ disabled.")
|
||||||
(setq hs-hide-comments-when-hiding-all nil))
|
(setq hs-hide-comments-when-hiding-all nil))
|
||||||
|
|
||||||
;; Show uninterrupted indentation markers with some whitespace voodoo.
|
;; Show uninterrupted indentation markers with some whitespace voodoo.
|
||||||
(@def-package highlight-indent-guides
|
(def-package! highlight-indent-guides
|
||||||
:commands highlight-indent-guides-mode
|
:commands highlight-indent-guides-mode
|
||||||
:config
|
:config
|
||||||
(setq highlight-indent-guides-method 'character)
|
(setq highlight-indent-guides-method 'character)
|
||||||
|
@ -154,7 +154,7 @@ file."
|
||||||
(set-buffer-modified-p nil))
|
(set-buffer-modified-p nil))
|
||||||
nil)
|
nil)
|
||||||
|
|
||||||
(@add-hook highlight-indent-guides-mode
|
(add-hook! highlight-indent-guides-mode
|
||||||
(if highlight-indent-guides-mode
|
(if highlight-indent-guides-mode
|
||||||
(progn
|
(progn
|
||||||
(doom|inject-trailing-whitespace)
|
(doom|inject-trailing-whitespace)
|
||||||
|
@ -163,10 +163,10 @@ file."
|
||||||
(delete-trailing-whitespace))))
|
(delete-trailing-whitespace))))
|
||||||
|
|
||||||
;; For modes that don't adequately highlight numbers
|
;; For modes that don't adequately highlight numbers
|
||||||
(@def-package highlight-numbers :commands highlight-numbers-mode)
|
(def-package! highlight-numbers :commands highlight-numbers-mode)
|
||||||
|
|
||||||
;; Line highlighting
|
;; Line highlighting
|
||||||
(@def-package hl-line ; built-in
|
(def-package! hl-line ; built-in
|
||||||
:config
|
:config
|
||||||
;; stickiness doesn't play nice with emacs 25+
|
;; stickiness doesn't play nice with emacs 25+
|
||||||
(setq hl-line-sticky-flag nil
|
(setq hl-line-sticky-flag nil
|
||||||
|
@ -174,35 +174,35 @@ file."
|
||||||
|
|
||||||
;; Line number column. A faster (or equivalent, in the worst case) line number
|
;; Line number column. A faster (or equivalent, in the worst case) line number
|
||||||
;; plugin than the built-in `linum'.
|
;; plugin than the built-in `linum'.
|
||||||
(@def-package nlinum
|
(def-package! nlinum
|
||||||
:commands nlinum-mode
|
:commands nlinum-mode
|
||||||
:preface
|
:preface
|
||||||
(defvar linum-format "%3d ")
|
(defvar linum-format "%3d ")
|
||||||
(defvar nlinum-format "%4d ")
|
(defvar nlinum-format "%4d ")
|
||||||
:init
|
:init
|
||||||
(@add-hook
|
(add-hook!
|
||||||
(markdown-mode prog-mode scss-mode web-mode conf-mode groovy-mode
|
(markdown-mode prog-mode scss-mode web-mode conf-mode groovy-mode
|
||||||
nxml-mode snippet-mode php-mode)
|
nxml-mode snippet-mode php-mode)
|
||||||
'nlinum-mode)
|
'nlinum-mode)
|
||||||
|
|
||||||
:config
|
:config
|
||||||
;; Optimization: calculate line number column width beforehand
|
;; Optimization: calculate line number column width beforehand
|
||||||
(@add-hook nlinum-mode
|
(add-hook! nlinum-mode
|
||||||
(setq nlinum--width (length (save-excursion (goto-char (point-max))
|
(setq nlinum--width (length (save-excursion (goto-char (point-max))
|
||||||
(format-mode-line "%l")))))
|
(format-mode-line "%l")))))
|
||||||
|
|
||||||
;; Disable nlinum explicitly before making a frame, otherwise nlinum throws
|
;; Disable nlinum explicitly before making a frame, otherwise nlinum throws
|
||||||
;; linum face errors that prevent the frame from spawning.
|
;; linum face errors that prevent the frame from spawning.
|
||||||
(@add-hook '(before-make-frame-hook after-make-frame-functions)
|
(add-hook! '(before-make-frame-hook after-make-frame-functions)
|
||||||
(nlinum-mode -1)))
|
(nlinum-mode -1)))
|
||||||
|
|
||||||
;; Helps us distinguish stacked delimiter pairs. Especially in parentheses-drunk
|
;; Helps us distinguish stacked delimiter pairs. Especially in parentheses-drunk
|
||||||
;; languages like Lisp.
|
;; languages like Lisp.
|
||||||
(@def-package rainbow-delimiters
|
(def-package! rainbow-delimiters
|
||||||
:commands rainbow-delimiters-mode
|
:commands rainbow-delimiters-mode
|
||||||
:config (setq rainbow-delimiters-max-face-count 3)
|
:config (setq rainbow-delimiters-max-face-count 3)
|
||||||
:init
|
:init
|
||||||
(@add-hook (emacs-lisp-mode lisp-mode js-mode css-mode c-mode-common)
|
(add-hook! (emacs-lisp-mode lisp-mode js-mode css-mode c-mode-common)
|
||||||
'rainbow-delimiters-mode))
|
'rainbow-delimiters-mode))
|
||||||
|
|
||||||
|
|
||||||
|
@ -211,7 +211,7 @@ file."
|
||||||
;;
|
;;
|
||||||
|
|
||||||
;; TODO Improve docstrings
|
;; TODO Improve docstrings
|
||||||
(defmacro @def-modeline-segment (name &rest forms)
|
(defmacro def-modeline-segment! (name &rest forms)
|
||||||
"Defines a modeline segment function and byte compiles it."
|
"Defines a modeline segment function and byte compiles it."
|
||||||
(declare (indent defun) (doc-string 2))
|
(declare (indent defun) (doc-string 2))
|
||||||
`(defun ,(intern (format "doom-modeline-segment--%s" name)) ()
|
`(defun ,(intern (format "doom-modeline-segment--%s" name)) ()
|
||||||
|
@ -226,11 +226,11 @@ file."
|
||||||
(list (intern (format "doom-modeline-segment--%s" (symbol-name seg))))))
|
(list (intern (format "doom-modeline-segment--%s" (symbol-name seg))))))
|
||||||
segments)))
|
segments)))
|
||||||
|
|
||||||
(defmacro @def-modeline (name lhs &optional rhs)
|
(defmacro def-modeline! (name lhs &optional rhs)
|
||||||
"Defines a modeline format and byte-compiles it.
|
"Defines a modeline format and byte-compiles it.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
(@def-modeline minimal
|
(def-modeline! minimal
|
||||||
(bar matches \" \" buffer-info)
|
(bar matches \" \" buffer-info)
|
||||||
(media-info major-mode))
|
(media-info major-mode))
|
||||||
(setq-default mode-line-format (doom-modeline 'minimal))"
|
(setq-default mode-line-format (doom-modeline 'minimal))"
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
;; doom|... hook function
|
;; doom|... hook function
|
||||||
;; doom*... advising functions
|
;; doom*... advising functions
|
||||||
;; doom!... interaction commands exclusively for installing external dependencies
|
;; doom!... interaction commands exclusively for installing external dependencies
|
||||||
;; @... a macro or function that configures DOOM
|
;; ...! a macro or function that configures DOOM
|
||||||
;; %... functions used for in-snippet logic
|
;; %... functions used for in-snippet logic
|
||||||
;; +... Any of the above, but part of a module, e.g. +emacs-lisp|init-hook
|
;; +... Any of the above, but part of a module, e.g. +emacs-lisp|init-hook
|
||||||
;;
|
;;
|
||||||
|
@ -148,7 +148,7 @@ enable multiple minor modes for the same regexp.")
|
||||||
(require 'core-projects) ; making Emacs project-aware
|
(require 'core-projects) ; making Emacs project-aware
|
||||||
(require 'core-keybinds))) ; centralized keybind system + which-key
|
(require 'core-keybinds))) ; centralized keybind system + which-key
|
||||||
|
|
||||||
(@add-hook 'window-setup-hook
|
(add-hook! 'window-setup-hook
|
||||||
(setq gc-cons-threshold 134217728
|
(setq gc-cons-threshold 134217728
|
||||||
gc-cons-percentage 0.3))
|
gc-cons-percentage 0.3))
|
||||||
|
|
||||||
|
|
|
@ -2,42 +2,42 @@
|
||||||
;;; core/packages.el
|
;;; core/packages.el
|
||||||
|
|
||||||
;; core packages
|
;; core packages
|
||||||
(@package async)
|
(package! async)
|
||||||
(@package s)
|
(package! s)
|
||||||
(@package f)
|
(package! f)
|
||||||
|
|
||||||
;; core-os.el
|
;; core-os.el
|
||||||
(when IS-MAC
|
(when IS-MAC
|
||||||
(@package exec-path-from-shell)
|
(package! exec-path-from-shell)
|
||||||
(@package osx-clipboard))
|
(package! osx-clipboard))
|
||||||
|
|
||||||
;; core-ui.el
|
;; core-ui.el
|
||||||
(@package highlight-indent-guides)
|
(package! highlight-indent-guides)
|
||||||
(@package highlight-numbers)
|
(package! highlight-numbers)
|
||||||
(@package nlinum)
|
(package! nlinum)
|
||||||
(@package rainbow-delimiters)
|
(package! rainbow-delimiters)
|
||||||
|
|
||||||
;; core-popups.el
|
;; core-popups.el
|
||||||
(@package shackle)
|
(package! shackle)
|
||||||
|
|
||||||
;; core-editor.el
|
;; core-editor.el
|
||||||
(@package editorconfig)
|
(package! editorconfig)
|
||||||
(@package smartparens)
|
(package! smartparens)
|
||||||
(@package ace-link)
|
(package! ace-link)
|
||||||
(@package ace-window)
|
(package! ace-window)
|
||||||
(@package avy)
|
(package! avy)
|
||||||
(@package command-log-mode)
|
(package! command-log-mode)
|
||||||
(@package expand-region)
|
(package! expand-region)
|
||||||
(@package goto-last-change)
|
(package! goto-last-change)
|
||||||
(@package help-fns+)
|
(package! help-fns+)
|
||||||
(@package imenu-anywhere)
|
(package! imenu-anywhere)
|
||||||
(@package imenu-list)
|
(package! imenu-list)
|
||||||
(@package pcre2el)
|
(package! pcre2el)
|
||||||
(@package smart-forward)
|
(package! smart-forward)
|
||||||
(@package wgrep)
|
(package! wgrep)
|
||||||
|
|
||||||
;; core-projects.el
|
;; core-projects.el
|
||||||
(@package projectile)
|
(package! projectile)
|
||||||
|
|
||||||
;; core-keybinds.el
|
;; core-keybinds.el
|
||||||
(@package which-key)
|
(package! which-key)
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
(require 'core (concat user-emacs-directory "core/core"))
|
(require 'core (concat user-emacs-directory "core/core"))
|
||||||
|
|
||||||
(@doom :feature
|
(doom! :feature
|
||||||
evil ; come to the dark side, we have cookies
|
evil ; come to the dark side, we have cookies
|
||||||
;; TODO jump ; navigating your code
|
;; TODO jump ; navigating your code
|
||||||
snippets ; my elves. They type so I don't have to
|
snippets ; my elves. They type so I don't have to
|
||||||
|
|
|
@ -5,7 +5,7 @@ Modules are made up of three (optional) parts:
|
||||||
+ A `config.el` file, automatically loaded when the module is loaded
|
+ A `config.el` file, automatically loaded when the module is loaded
|
||||||
(through `@doom` or `@require`). It uses `@def-package` calls (thin
|
(through `@doom` or `@require`). It uses `@def-package` calls (thin
|
||||||
wrappers around `use-package`) to configure packages.
|
wrappers around `use-package`) to configure packages.
|
||||||
+ A `packages.el` file filled with `@package` and `@depends-on`
|
+ A `packages.el` file filled with `package!` and `depends-on!`
|
||||||
declarations. These are purely declarative macros. They populate
|
declarations. These are purely declarative macros. They populate
|
||||||
`doom-packages` and `doom-modules` for the package management
|
`doom-packages` and `doom-modules` for the package management
|
||||||
system.
|
system.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; completion/company/config.el
|
;;; completion/company/config.el
|
||||||
|
|
||||||
(@def-setting :company-backend (modes backends)
|
(def-setting! :company-backend (modes backends)
|
||||||
"Register company BACKENDS to MODES."
|
"Register company BACKENDS to MODES."
|
||||||
(let* ((modes (if (listp modes) modes (list modes)))
|
(let* ((modes (if (listp modes) modes (list modes)))
|
||||||
(backends (if (listp backends) backends (list backends)))
|
(backends (if (listp backends) backends (list backends)))
|
||||||
|
@ -13,14 +13,14 @@
|
||||||
(require 'company)
|
(require 'company)
|
||||||
(set (make-local-variable 'company-backends)
|
(set (make-local-variable 'company-backends)
|
||||||
(append '((,@backends)) company-backends)))
|
(append '((,@backends)) company-backends)))
|
||||||
(@add-hook ,modes ',def-name))))
|
(add-hook! ,modes ',def-name))))
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Packages
|
;; Packages
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package company
|
(def-package! company
|
||||||
:commands (company-mode global-company-mode company-complete
|
:commands (company-mode global-company-mode company-complete
|
||||||
company-complete-common company-manual-begin company-grab-line)
|
company-complete-common company-manual-begin company-grab-line)
|
||||||
:config
|
:config
|
||||||
|
@ -36,14 +36,14 @@
|
||||||
company-frontends '(company-pseudo-tooltip-frontend company-echo-metadata-frontend)
|
company-frontends '(company-pseudo-tooltip-frontend company-echo-metadata-frontend)
|
||||||
company-backends '(company-capf))
|
company-backends '(company-capf))
|
||||||
|
|
||||||
(@set :company-backend 'python-mode '(company-anaconda))
|
(set! :company-backend 'python-mode '(company-anaconda))
|
||||||
|
|
||||||
(push 'company-sort-by-occurrence company-transformers)
|
(push 'company-sort-by-occurrence company-transformers)
|
||||||
|
|
||||||
(@after yasnippet
|
(after! yasnippet
|
||||||
(nconc company-backends '(company-yasnippet)))
|
(nconc company-backends '(company-yasnippet)))
|
||||||
|
|
||||||
(@map (:map company-active-map
|
(map! (:map company-active-map
|
||||||
;; Don't interfere with insert mode binding for `evil-delete-backward-word'
|
;; Don't interfere with insert mode binding for `evil-delete-backward-word'
|
||||||
"C-w" nil
|
"C-w" nil
|
||||||
|
|
||||||
|
@ -57,20 +57,20 @@
|
||||||
"C-SPC" 'company-complete-common
|
"C-SPC" 'company-complete-common
|
||||||
[tab] 'company-complete-common-or-cycle
|
[tab] 'company-complete-common-or-cycle
|
||||||
[backtab] 'company-select-previous
|
[backtab] 'company-select-previous
|
||||||
[escape] (@λ (company-abort) (evil-normal-state 1))
|
[escape] (λ! (company-abort) (evil-normal-state 1))
|
||||||
[C-return] 'counsel-company)
|
[C-return] 'counsel-company)
|
||||||
|
|
||||||
;; Automatically applies to `company-filter-map'
|
;; Automatically applies to `company-filter-map'
|
||||||
(:map company-search-map
|
(:map company-search-map
|
||||||
"C-n" 'company-search-repeat-forward
|
"C-n" 'company-search-repeat-forward
|
||||||
"C-p" 'company-search-repeat-backward
|
"C-p" 'company-search-repeat-backward
|
||||||
"C-s" (@λ (company-search-abort) (company-filter-candidates))
|
"C-s" (λ! (company-search-abort) (company-filter-candidates))
|
||||||
[escape] 'company-search-abort))
|
[escape] 'company-search-abort))
|
||||||
|
|
||||||
(global-company-mode +1))
|
(global-company-mode +1))
|
||||||
|
|
||||||
|
|
||||||
(@def-package company-statistics
|
(def-package! company-statistics
|
||||||
:after company
|
:after company
|
||||||
:config
|
:config
|
||||||
(setq company-statistics-file (concat doom-cache-dir "company-stats-cache.el"))
|
(setq company-statistics-file (concat doom-cache-dir "company-stats-cache.el"))
|
||||||
|
@ -78,14 +78,14 @@
|
||||||
|
|
||||||
|
|
||||||
;; Looks ugly on OSX without emacs-mac build
|
;; Looks ugly on OSX without emacs-mac build
|
||||||
(@def-package company-quickhelp
|
(def-package! company-quickhelp
|
||||||
:after company
|
:after company
|
||||||
:config
|
:config
|
||||||
(setq company-quickhelp-delay nil)
|
(setq company-quickhelp-delay nil)
|
||||||
(company-quickhelp-mode +1))
|
(company-quickhelp-mode +1))
|
||||||
|
|
||||||
|
|
||||||
(@def-package company-dict
|
(def-package! company-dict
|
||||||
:commands company-dict)
|
:commands company-dict)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; completion/company/packages.el
|
;;; completion/company/packages.el
|
||||||
|
|
||||||
(@package company)
|
(package! company)
|
||||||
(@package company-dict)
|
(package! company-dict)
|
||||||
(@package company-quickhelp)
|
(package! company-quickhelp)
|
||||||
(@package company-statistics)
|
(package! company-statistics)
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
;; Packages
|
;; Packages
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package helm :demand t
|
(def-package! helm :demand t
|
||||||
:init
|
:init
|
||||||
(setq helm-quick-update t
|
(setq helm-quick-update t
|
||||||
;; Speedier without fuzzy matching
|
;; Speedier without fuzzy matching
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
:config
|
:config
|
||||||
(setq projectile-completion-system 'helm)
|
(setq projectile-completion-system 'helm)
|
||||||
|
|
||||||
(@map "M-x" 'helm-M-x
|
(map! "M-x" 'helm-M-x
|
||||||
"A-x" 'helm-M-x
|
"A-x" 'helm-M-x
|
||||||
"M-X" 'helm-apropos
|
"M-X" 'helm-apropos
|
||||||
"A-X" 'helm-apropos
|
"A-X" 'helm-apropos
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
:e "ESC" 'helm-keyboard-quit))
|
:e "ESC" 'helm-keyboard-quit))
|
||||||
|
|
||||||
;;; Popup setup
|
;;; Popup setup
|
||||||
(@set :popup "\\` ?\\*[hH]elm.*?\\*\\'" :size 14 :regexp t)
|
(set! :popup "\\` ?\\*[hH]elm.*?\\*\\'" :size 14 :regexp t)
|
||||||
|
|
||||||
;;; Helm hacks
|
;;; Helm hacks
|
||||||
(defconst doom-helm-header-fg (face-attribute 'helm-source-header :foreground))
|
(defconst doom-helm-header-fg (face-attribute 'helm-source-header :foreground))
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
(require 'helm-mode)
|
(require 'helm-mode)
|
||||||
(helm-mode +1)
|
(helm-mode +1)
|
||||||
|
|
||||||
(@map :map helm-mode-map
|
(map! :map helm-mode-map
|
||||||
[remap find-file] 'helm-find-files
|
[remap find-file] 'helm-find-files
|
||||||
[remap switch-to-buffer] 'doom/helm-buffers-dwim
|
[remap switch-to-buffer] 'doom/helm-buffers-dwim
|
||||||
[remap projectile-switch-to-buffer] (λ! (doom/helm-buffers-dwim t))
|
[remap projectile-switch-to-buffer] (λ! (doom/helm-buffers-dwim t))
|
||||||
|
@ -94,40 +94,40 @@
|
||||||
(set-keymap-parent helm-projectile-find-file-map helm-map))
|
(set-keymap-parent helm-projectile-find-file-map helm-map))
|
||||||
|
|
||||||
|
|
||||||
(@def-package helm-locate
|
(def-package! helm-locate
|
||||||
:init
|
:init
|
||||||
(defvar helm-generic-files-map (make-sparse-keymap)
|
(defvar helm-generic-files-map (make-sparse-keymap)
|
||||||
"Generic Keymap for files.")
|
"Generic Keymap for files.")
|
||||||
:config (set-keymap-parent helm-generic-files-map helm-map))
|
:config (set-keymap-parent helm-generic-files-map helm-map))
|
||||||
|
|
||||||
|
|
||||||
(@def-package helm-buffers
|
(def-package! helm-buffers
|
||||||
:commands (helm-buffers-list helm-mini)
|
: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
|
(def-package! helm-tags
|
||||||
:commands (helm-tags-get-tag-file helm-etags-select))
|
:commands (helm-tags-get-tag-file helm-etags-select))
|
||||||
|
|
||||||
|
|
||||||
(@def-package helm-bookmark
|
(def-package! helm-bookmark
|
||||||
:commands (helm-bookmarks helm-filtered-bookmarks)
|
:commands (helm-bookmarks helm-filtered-bookmarks)
|
||||||
:config (setq-default helm-bookmark-show-location t))
|
:config (setq-default helm-bookmark-show-location t))
|
||||||
|
|
||||||
|
|
||||||
(@def-package helm-files
|
(def-package! helm-files
|
||||||
:commands (helm-browse-project helm-find helm-find-files helm-for-files helm-multi-files helm-recentf)
|
:commands (helm-browse-project helm-find helm-find-files helm-for-files helm-multi-files helm-recentf)
|
||||||
:config
|
:config
|
||||||
(setq helm-boring-file-regexp-list
|
(setq helm-boring-file-regexp-list
|
||||||
(append (list "\\.projects$" "\\.DS_Store$")
|
(append (list "\\.projects$" "\\.DS_Store$")
|
||||||
helm-boring-file-regexp-list))
|
helm-boring-file-regexp-list))
|
||||||
|
|
||||||
(@map :map helm-find-files-map
|
(map! :map helm-find-files-map
|
||||||
"C-w" 'helm-find-files-up-one-level
|
"C-w" 'helm-find-files-up-one-level
|
||||||
"TAB" 'helm-execute-persistent-action))
|
"TAB" 'helm-execute-persistent-action))
|
||||||
|
|
||||||
|
|
||||||
(@def-package helm-ag
|
(def-package! helm-ag
|
||||||
:commands (helm-ag
|
:commands (helm-ag
|
||||||
helm-ag-mode
|
helm-ag-mode
|
||||||
helm-do-ag
|
helm-do-ag
|
||||||
|
@ -139,7 +139,7 @@
|
||||||
helm-ag-buffers
|
helm-ag-buffers
|
||||||
helm-ag-clear-stack)
|
helm-ag-clear-stack)
|
||||||
:config
|
:config
|
||||||
(@map (:map helm-ag-map
|
(map! (:map helm-ag-map
|
||||||
"<backtab>" 'helm-ag-edit)
|
"<backtab>" 'helm-ag-edit)
|
||||||
(:map helm-ag-edit-map
|
(:map helm-ag-edit-map
|
||||||
"<escape>" 'helm-ag--edit-abort
|
"<escape>" 'helm-ag--edit-abort
|
||||||
|
@ -147,7 +147,7 @@
|
||||||
:n "zx" 'helm-ag--edit-abort)))
|
:n "zx" 'helm-ag--edit-abort)))
|
||||||
|
|
||||||
|
|
||||||
(@def-package helm-css-scss ; https://github.com/ShingoFukuyama/helm-css-scss
|
(def-package! helm-css-scss ; https://github.com/ShingoFukuyama/helm-css-scss
|
||||||
:commands (helm-css-scss
|
:commands (helm-css-scss
|
||||||
helm-css-scss-multi
|
helm-css-scss-multi
|
||||||
helm-css-scss-insert-close-comment)
|
helm-css-scss-insert-close-comment)
|
||||||
|
@ -156,7 +156,7 @@
|
||||||
helm-css-scss-split-with-multiple-windows t))
|
helm-css-scss-split-with-multiple-windows t))
|
||||||
|
|
||||||
|
|
||||||
(@def-package helm-swoop ; https://github.com/ShingoFukuyama/helm-swoop
|
(def-package! helm-swoop ; https://github.com/ShingoFukuyama/helm-swoop
|
||||||
:commands (helm-swoop helm-multi-swoop helm-multi-swoop-all)
|
:commands (helm-swoop helm-multi-swoop helm-multi-swoop-all)
|
||||||
:config
|
:config
|
||||||
(setq helm-swoop-use-line-number-face t
|
(setq helm-swoop-use-line-number-face t
|
||||||
|
@ -165,18 +165,18 @@
|
||||||
helm-swoop-pre-input-function (lambda () "")))
|
helm-swoop-pre-input-function (lambda () "")))
|
||||||
|
|
||||||
|
|
||||||
(@def-package helm-describe-modes :commands helm-describe-modes)
|
(def-package! helm-describe-modes :commands helm-describe-modes)
|
||||||
(@def-package helm-ring :commands helm-show-kill-ring)
|
(def-package! helm-ring :commands helm-show-kill-ring)
|
||||||
(@def-package helm-semantic :commands helm-semantic-or-imenu)
|
(def-package! helm-semantic :commands helm-semantic-or-imenu)
|
||||||
(@def-package helm-elisp :commands helm-apropos)
|
(def-package! helm-elisp :commands helm-apropos)
|
||||||
(@def-package helm-command :commands helm-M-x)
|
(def-package! helm-command :commands helm-M-x)
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Popup hacks
|
;; Popup hacks
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@after helm
|
(after! helm
|
||||||
;; Helm tries to clean up after itself, but shackle has already done this.
|
;; Helm tries to clean up after itself, but shackle has already done this.
|
||||||
;; This fixes that. To reproduce, add a helm rule in `shackle-rules', open two
|
;; This fixes that. To reproduce, add a helm rule in `shackle-rules', open two
|
||||||
;; splits side-by-side, move to the buffer on the right and invoke helm. It
|
;; splits side-by-side, move to the buffer on the right and invoke helm. It
|
||||||
|
@ -184,10 +184,10 @@
|
||||||
(setq-default helm-reuse-last-window-split-state t
|
(setq-default helm-reuse-last-window-split-state t
|
||||||
helm-split-window-in-side-p t))
|
helm-split-window-in-side-p t))
|
||||||
|
|
||||||
(@after helm-swoop
|
(after! helm-swoop
|
||||||
(setq helm-swoop-split-window-function (lambda (b) (doom-popup-buffer b))))
|
(setq helm-swoop-split-window-function (lambda (b) (doom-popup-buffer b))))
|
||||||
|
|
||||||
(@after helm-ag
|
(after! helm-ag
|
||||||
;; This prevents helm-ag from switching between windows and buffers.
|
;; This prevents helm-ag from switching between windows and buffers.
|
||||||
(defadvice helm-ag--edit-abort (around helm-ag-edit-abort-popup-compat activate)
|
(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)
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; completion/helm/packages.el
|
;;; completion/helm/packages.el
|
||||||
|
|
||||||
(@package helm)
|
(package! helm)
|
||||||
(@package helm-ag)
|
(package! helm-ag)
|
||||||
(@package helm-c-yasnippet)
|
(package! helm-c-yasnippet)
|
||||||
(@package helm-company)
|
(package! helm-company)
|
||||||
(@package helm-css-scss)
|
(package! helm-css-scss)
|
||||||
(@package helm-describe-modes :recipe (:fetcher github :repo "emacs-helm/helm-describe-modes"))
|
(package! helm-describe-modes :recipe (:fetcher github :repo "emacs-helm/helm-describe-modes"))
|
||||||
(@package helm-projectile)
|
(package! helm-projectile)
|
||||||
(@package helm-swoop)
|
(package! helm-swoop)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; emacs/ido/config.el
|
;;; emacs/ido/config.el
|
||||||
|
|
||||||
(@def-package ido
|
(def-package! ido
|
||||||
:init
|
:init
|
||||||
(setq ido-ignore-buffers
|
(setq ido-ignore-buffers
|
||||||
'("\\` " "^\\*ESS\\*" "^\\*Messages\\*" "^\\*Help\\*" "^\\*Buffer"
|
'("\\` " "^\\*ESS\\*" "^\\*Messages\\*" "^\\*Help\\*" "^\\*Buffer"
|
||||||
|
@ -24,12 +24,12 @@
|
||||||
(ido-everywhere 1)
|
(ido-everywhere 1)
|
||||||
(require 'ido-ubiquitous)
|
(require 'ido-ubiquitous)
|
||||||
|
|
||||||
(@add-hook ido-setup
|
(add-hook! ido-setup
|
||||||
(require 'ido-vertical-mode)
|
(require 'ido-vertical-mode)
|
||||||
(require 'flx-ido)
|
(require 'flx-ido)
|
||||||
(require 'crm-custom)
|
(require 'crm-custom)
|
||||||
|
|
||||||
(@map :map (ido-common-completion-map ido-completion-map ido-file-completion-map)
|
(map! :map (ido-common-completion-map ido-completion-map ido-file-completion-map)
|
||||||
"C-n" 'ido-next-match
|
"C-n" 'ido-next-match
|
||||||
"C-p" 'ido-prev-match
|
"C-p" 'ido-prev-match
|
||||||
"C-w" 'ido-delete-backward-word-updir))
|
"C-w" 'ido-delete-backward-word-updir))
|
||||||
|
@ -47,21 +47,21 @@
|
||||||
(lambda (x) (and (char-equal (string-to-char x) ?.) x))
|
(lambda (x) (and (char-equal (string-to-char x) ?.) x))
|
||||||
ido-temp-list))))
|
ido-temp-list))))
|
||||||
(advice-add 'ido-sort-mtime :override '+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)
|
(add-hook! (ido-make-file-list ido-make-dir-list) '+ido*sort-mtime)
|
||||||
|
|
||||||
(defun +ido|setup-home-keybind ()
|
(defun +ido|setup-home-keybind ()
|
||||||
"Go to $HOME with ~"
|
"Go to $HOME with ~"
|
||||||
(define-key ido-file-completion-map (kbd "~")
|
(define-key ido-file-completion-map (kbd "~")
|
||||||
(@λ (if (looking-back "/")
|
(λ! (if (looking-back "/")
|
||||||
(insert "~/")
|
(insert "~/")
|
||||||
(call-interactively 'self-insert-command)))))
|
(call-interactively 'self-insert-command)))))
|
||||||
(add-hook 'ido-setup-hook '+ido|setup-home-keybind))
|
(add-hook 'ido-setup-hook '+ido|setup-home-keybind))
|
||||||
|
|
||||||
|
|
||||||
(@def-package ido-ubiquitous :config (ido-ubiquitous-mode 1))
|
(def-package! ido-ubiquitous :config (ido-ubiquitous-mode 1))
|
||||||
|
|
||||||
(@def-package ido-vertical-mode :config (ido-vertical-mode 1))
|
(def-package! ido-vertical-mode :config (ido-vertical-mode 1))
|
||||||
|
|
||||||
(@def-package flx-ido :config (flx-ido-mode +1))
|
(def-package! flx-ido :config (flx-ido-mode +1))
|
||||||
|
|
||||||
(@def-package crm-custom :config (crm-custom-mode +1))
|
(def-package! crm-custom :config (crm-custom-mode +1))
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; emacs/ido/packages.el
|
;;; emacs/ido/packages.el
|
||||||
|
|
||||||
(@package flx-ido)
|
(package! flx-ido)
|
||||||
(@package ido-ubiquitous)
|
(package! ido-ubiquitous)
|
||||||
(@package ido-vertical-mode)
|
(package! ido-vertical-mode)
|
||||||
(@package crm-custom)
|
(package! crm-custom)
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
;; `counsel-imenu'.
|
;; `counsel-imenu'.
|
||||||
|
|
||||||
;; TODO Make this a setting
|
;; TODO Make this a setting
|
||||||
(defmacro @def-counsel-action (name &rest forms)
|
(defmacro def-counsel-action! (name &rest forms)
|
||||||
`(defun ,(intern (format "+ivy/counsel-%s" (symbol-name name))) ()
|
`(defun ,(intern (format "+ivy/counsel-%s" (symbol-name name))) ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(ivy-set-action ',@forms)
|
(ivy-set-action ',@forms)
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
;; Packages
|
;; Packages
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package ivy :demand t
|
(def-package! ivy :demand t
|
||||||
:config
|
:config
|
||||||
(setq ivy-height 14
|
(setq ivy-height 14
|
||||||
ivy-do-completion-in-region nil
|
ivy-do-completion-in-region nil
|
||||||
|
@ -33,12 +33,12 @@
|
||||||
;; highlight til EOL
|
;; 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! magit (setq magit-completing-read-function 'ivy-completing-read))
|
||||||
(@after yasnippet (push '+ivy-yas-prompt yas-prompt-functions))
|
(after! yasnippet (push '+ivy-yas-prompt yas-prompt-functions))
|
||||||
|
|
||||||
(ivy-mode +1)
|
(ivy-mode +1)
|
||||||
|
|
||||||
(@map :map ivy-minibuffer-map
|
(map! :map ivy-minibuffer-map
|
||||||
[escape] 'keyboard-escape-quit
|
[escape] 'keyboard-escape-quit
|
||||||
"C-r" 'evil-paste-from-register
|
"C-r" 'evil-paste-from-register
|
||||||
"M-v" 'clipboard-yank
|
"M-v" 'clipboard-yank
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
"C-b" 'backward-word
|
"C-b" 'backward-word
|
||||||
"C-f" 'forward-word)
|
"C-f" 'forward-word)
|
||||||
|
|
||||||
(@map :map ivy-mode-map
|
(map! :map ivy-mode-map
|
||||||
[remap find-file] 'counsel-find-file
|
[remap find-file] 'counsel-find-file
|
||||||
[remap switch-to-buffer] '+ivy/switch-buffer
|
[remap switch-to-buffer] '+ivy/switch-buffer
|
||||||
[remap persp-switch-to-buffer] '+ivy/switch-workspace-buffer
|
[remap persp-switch-to-buffer] '+ivy/switch-workspace-buffer
|
||||||
|
@ -59,7 +59,7 @@
|
||||||
[remap imenu-anywhere] 'ivy-imenu-anywhere
|
[remap imenu-anywhere] 'ivy-imenu-anywhere
|
||||||
[remap execute-extended-command] 'counsel-M-x)
|
[remap execute-extended-command] 'counsel-M-x)
|
||||||
|
|
||||||
(when (@featurep :feature workspaces)
|
(when (featurep! :feature workspaces)
|
||||||
(nconc ivy-sort-functions-alist
|
(nconc ivy-sort-functions-alist
|
||||||
'((persp-kill-buffer . nil)
|
'((persp-kill-buffer . nil)
|
||||||
(persp-remove-buffer . nil)
|
(persp-remove-buffer . nil)
|
||||||
|
@ -71,20 +71,20 @@
|
||||||
(+workspace/delete . nil)))))
|
(+workspace/delete . nil)))))
|
||||||
|
|
||||||
|
|
||||||
(@def-package swiper :commands (swiper swiper-all))
|
(def-package! swiper :commands (swiper swiper-all))
|
||||||
|
|
||||||
|
|
||||||
(@def-package counsel
|
(def-package! counsel
|
||||||
:after ivy
|
:after ivy
|
||||||
:config
|
:config
|
||||||
(setq counsel-find-file-ignore-regexp "\\(?:^[#.]\\)\\|\\(?:[#~]$\\)\\|\\(?:^Icon?\\)")
|
(setq counsel-find-file-ignore-regexp "\\(?:^[#.]\\)\\|\\(?:[#~]$\\)\\|\\(?:^Icon?\\)")
|
||||||
|
|
||||||
(@set :popup "^\\*ivy-occur counsel-ag" :size 25 :regexp t :autokill t)
|
(set! :popup "^\\*ivy-occur counsel-ag" :size 25 :regexp t :autokill t)
|
||||||
|
|
||||||
(require 'counsel-projectile)
|
(require 'counsel-projectile)
|
||||||
|
|
||||||
;; FIXME Messy workaround, refactor this
|
;; FIXME Messy workaround, refactor this
|
||||||
(@def-counsel-action ag-open-in-other-window
|
(def-counsel-action! ag-open-in-other-window
|
||||||
(lambda (x)
|
(lambda (x)
|
||||||
(when (string-match "\\`\\(.*?\\):\\([0-9]+\\):\\(.*\\)\\'" x)
|
(when (string-match "\\`\\(.*?\\):\\([0-9]+\\):\\(.*\\)\\'" x)
|
||||||
(let ((file-name (match-string-no-properties 1 x))
|
(let ((file-name (match-string-no-properties 1 x))
|
||||||
|
@ -104,21 +104,21 @@
|
||||||
(when dest-win
|
(when dest-win
|
||||||
(select-window dest-win))))))
|
(select-window dest-win))))))
|
||||||
|
|
||||||
(@add-hook 'doom-popup-mode-hook
|
(add-hook! 'doom-popup-mode-hook
|
||||||
(when (eq major-mode 'ivy-occur-grep-mode)
|
(when (eq major-mode 'ivy-occur-grep-mode)
|
||||||
(ivy-wgrep-change-to-wgrep-mode)))
|
(ivy-wgrep-change-to-wgrep-mode)))
|
||||||
|
|
||||||
(defun +ivy*recenter (&rest _) (recenter))
|
(defun +ivy*recenter (&rest _) (recenter))
|
||||||
(advice-add 'counsel-ag-function :override '+ivy*counsel-ag-function)
|
(advice-add 'counsel-ag-function :override '+ivy*counsel-ag-function)
|
||||||
(advice-add 'imenu :after '+ivy*recenter)
|
(advice-add 'imenu :after '+ivy*recenter)
|
||||||
(@map :map counsel-ag-map
|
(map! :map counsel-ag-map
|
||||||
[backtab] '+ivy/counsel-ag-occur ; search/replace on results
|
[backtab] '+ivy/counsel-ag-occur ; search/replace on results
|
||||||
"C-SPC" 'counsel-git-grep-recenter ; preview
|
"C-SPC" 'counsel-git-grep-recenter ; preview
|
||||||
"M-RET" '+ivy/counsel-ag-open-in-other-window))
|
"M-RET" '+ivy/counsel-ag-open-in-other-window))
|
||||||
|
|
||||||
|
|
||||||
;; Used by `counsel-M-x'
|
;; Used by `counsel-M-x'
|
||||||
(@def-package smex
|
(def-package! smex
|
||||||
:commands (smex smex-major-mode-commands)
|
:commands (smex smex-major-mode-commands)
|
||||||
:config
|
:config
|
||||||
(setq smex-save-file (concat doom-cache-dir "/smex-items"))
|
(setq smex-save-file (concat doom-cache-dir "/smex-items"))
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; completion/ivy/packages.el
|
;;; completion/ivy/packages.el
|
||||||
|
|
||||||
(@package ivy)
|
(package! ivy)
|
||||||
(@package counsel)
|
(package! counsel)
|
||||||
(@package counsel-projectile)
|
(package! counsel-projectile)
|
||||||
(@package smex)
|
(package! smex)
|
||||||
(@package swiper)
|
(package! swiper)
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
;;;###autoload (autoload '+debug:debug-toggle-breakpoint "feature/debug/autoload" nil t)
|
;;;###autoload (autoload '+debug:debug-toggle-breakpoint "feature/debug/autoload" nil t)
|
||||||
;;;###autoload (autoload '+debug:run "feature/debug/autoload" nil t)
|
;;;###autoload (autoload '+debug:run "feature/debug/autoload" nil t)
|
||||||
|
|
||||||
(@after evil
|
(after! evil
|
||||||
(evil-define-command +debug:run (&optional path)
|
(evil-define-command +debug:run (&optional path)
|
||||||
"Initiate debugger for current major mode"
|
"Initiate debugger for current major mode"
|
||||||
(interactive "<f>")
|
(interactive "<f>")
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
;;; feature/debug/config.el
|
;;; feature/debug/config.el
|
||||||
|
|
||||||
(@after debug
|
(after! debug
|
||||||
;; For elisp debugging
|
;; For elisp debugging
|
||||||
(@map :map debugger-mode-map
|
(map! :map debugger-mode-map
|
||||||
:n "RET" 'debug-help-follow
|
:n "RET" 'debug-help-follow
|
||||||
:n "n" 'debugger-step-through
|
:n "n" 'debugger-step-through
|
||||||
:n "c" 'debugger-continue))
|
:n "c" 'debugger-continue))
|
||||||
|
|
||||||
|
|
||||||
(@def-package realgud
|
(def-package! realgud
|
||||||
:commands (realgud:gdb realgud:trepanjs realgud:bashdb realgud:zshdb)
|
:commands (realgud:gdb realgud:trepanjs realgud:bashdb realgud:zshdb)
|
||||||
:config
|
:config
|
||||||
(@map :map realgud:shortkey-mode-map
|
(map! :map realgud:shortkey-mode-map
|
||||||
:n "j" 'evil-next-line
|
:n "j" 'evil-next-line
|
||||||
:n "k" 'evil-previous-line
|
:n "k" 'evil-previous-line
|
||||||
:n "h" 'evil-backward-char
|
:n "h" 'evil-backward-char
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
:n "c" 'realgud:cmd-continue)
|
:n "c" 'realgud:cmd-continue)
|
||||||
|
|
||||||
;; Popup rules
|
;; Popup rules
|
||||||
(@set :popup
|
(set! :popup
|
||||||
'("^\\*\\(g\\|zsh\\|bash\\)db.*?\\*$" :size 20 :regexp t)
|
'("^\\*\\(g\\|zsh\\|bash\\)db.*?\\*$" :size 20 :regexp t)
|
||||||
'("^\\*trepanjs.*?\\*$" :size 20 :regexp t))
|
'("^\\*trepanjs.*?\\*$" :size 20 :regexp t))
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; feature/debug/packages.el
|
;;; feature/debug/packages.el
|
||||||
|
|
||||||
(@package realgud)
|
(package! realgud)
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
;;;###autoload (autoload '+repl:open "feature/repl/autoload/repl" nil t)
|
;;;###autoload (autoload '+repl:open "feature/repl/autoload/repl" nil t)
|
||||||
;;;###autoload (autoload '+repl:send "feature/repl/autoload/repl" nil t)
|
;;;###autoload (autoload '+repl:send "feature/repl/autoload/repl" nil t)
|
||||||
|
|
||||||
(@after evil
|
(after! evil
|
||||||
(evil-define-command +repl:open (&optional bang command)
|
(evil-define-command +repl:open (&optional bang command)
|
||||||
:repeat nil
|
:repeat nil
|
||||||
(interactive "<!><a>")
|
(interactive "<!><a>")
|
||||||
|
|
|
@ -17,13 +17,13 @@ by `+eval/build', and filled with the `:build' setting")
|
||||||
(setq eval-expression-print-length nil
|
(setq eval-expression-print-length nil
|
||||||
eval-expression-print-level nil)
|
eval-expression-print-level nil)
|
||||||
|
|
||||||
(@def-setting :repl (mode command)
|
(def-setting! :repl (mode command)
|
||||||
"Define a REPL for a mode. Takes same arguements as `rtog/add-repl'."
|
"Define a REPL for a mode. Takes same arguements as `rtog/add-repl'."
|
||||||
(if (featurep 'repl-toggle)
|
(if (featurep 'repl-toggle)
|
||||||
(list 'rtog/add-repl mode command)
|
(list 'rtog/add-repl mode command)
|
||||||
`(push ',(list mode command) +eval--repls)))
|
`(push ',(list mode command) +eval--repls)))
|
||||||
|
|
||||||
(@def-setting :build (name mode pred-fn &optional build-fn)
|
(def-setting! :build (name mode pred-fn &optional build-fn)
|
||||||
"Define a build command function (BUILD-FN) for major-mode MODE, called NAME
|
"Define a build command function (BUILD-FN) for major-mode MODE, called NAME
|
||||||
-- a symbol -- PRED-FN is a predicate function that determines this builder's
|
-- a symbol -- PRED-FN is a predicate function that determines this builder's
|
||||||
suitability for the current buffer."
|
suitability for the current buffer."
|
||||||
|
@ -34,7 +34,7 @@ suitability for the current buffer."
|
||||||
(list :predicate ,pred-fn :fn ,build-fn)
|
(list :predicate ,pred-fn :fn ,build-fn)
|
||||||
+eval-builders))
|
+eval-builders))
|
||||||
|
|
||||||
(@def-setting :eval (mode command)
|
(def-setting! :eval (mode command)
|
||||||
"Define a code evaluator for `quickrun'.
|
"Define a code evaluator for `quickrun'.
|
||||||
|
|
||||||
1. If MODE is a string and COMMAND is the string, MODE is a file regexp and
|
1. If MODE is a string and COMMAND is the string, MODE is a file regexp and
|
||||||
|
@ -45,12 +45,12 @@ suitability for the current buffer."
|
||||||
3. If MODE is not a string and COMMAND is a list, use `quickrun-add-command'. e.g.
|
3. If MODE is not a string and COMMAND is a list, use `quickrun-add-command'. e.g.
|
||||||
(quickrun-add-command MODE COMMAND :mode MODE)"
|
(quickrun-add-command MODE COMMAND :mode MODE)"
|
||||||
(if (stringp command)
|
(if (stringp command)
|
||||||
`(@after quickrun
|
`(after! quickrun
|
||||||
(push ,(cons mode command)
|
(push ,(cons mode command)
|
||||||
,(if (stringp mode)
|
,(if (stringp mode)
|
||||||
'quickrun-file-alist
|
'quickrun-file-alist
|
||||||
'quickrun--major-mode-alist)))
|
'quickrun--major-mode-alist)))
|
||||||
`(@after quickrun
|
`(after! quickrun
|
||||||
(quickrun-add-command
|
(quickrun-add-command
|
||||||
,(symbol-name mode)
|
,(symbol-name mode)
|
||||||
',command :mode ',mode))))
|
',command :mode ',mode))))
|
||||||
|
@ -60,7 +60,7 @@ suitability for the current buffer."
|
||||||
;; Packages
|
;; Packages
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package quickrun
|
(def-package! quickrun
|
||||||
:commands (quickrun
|
:commands (quickrun
|
||||||
quickrun-region
|
quickrun-region
|
||||||
quickrun-with-arg
|
quickrun-with-arg
|
||||||
|
@ -69,7 +69,7 @@ suitability for the current buffer."
|
||||||
quickrun-replace-region)
|
quickrun-replace-region)
|
||||||
:init (add-hook 'quickrun/mode-hook 'linum-mode)
|
:init (add-hook 'quickrun/mode-hook 'linum-mode)
|
||||||
:config
|
:config
|
||||||
(@set :popup "*quickrun*" :size 10)
|
(set! :popup "*quickrun*" :size 10)
|
||||||
|
|
||||||
;; don't auto-focus quickrun windows. Shackle handles that for us.
|
;; don't auto-focus quickrun windows. Shackle handles that for us.
|
||||||
(setq quickrun-focus-p nil)
|
(setq quickrun-focus-p nil)
|
||||||
|
@ -94,12 +94,12 @@ suitability for the current buffer."
|
||||||
(add-hook 'quickrun-after-run-hook '+repl|quickrun-scroll-to-bof))
|
(add-hook 'quickrun-after-run-hook '+repl|quickrun-scroll-to-bof))
|
||||||
|
|
||||||
|
|
||||||
(@def-package repl-toggle
|
(def-package! repl-toggle
|
||||||
:commands rtog/toggle-repl
|
:commands rtog/toggle-repl
|
||||||
:preface (defvar rtog/mode-repl-alist nil)
|
:preface (defvar rtog/mode-repl-alist nil)
|
||||||
:init (@add-hook repl-toggle-mode (evil-initialize-state 'emacs))
|
:init (add-hook! repl-toggle-mode (evil-initialize-state 'emacs))
|
||||||
:config
|
:config
|
||||||
(@set :popup
|
(set! :popup
|
||||||
'(:custom (lambda (b &rest _)
|
'(:custom (lambda (b &rest _)
|
||||||
(when (and (featurep 'repl-toggle)
|
(when (and (featurep 'repl-toggle)
|
||||||
(string-prefix-p "*" (buffer-name (get-buffer b))))
|
(string-prefix-p "*" (buffer-name (get-buffer b))))
|
||||||
|
@ -109,7 +109,7 @@ suitability for the current buffer."
|
||||||
(dolist (repl +eval--repls)
|
(dolist (repl +eval--repls)
|
||||||
(apply 'rtog/add-repl repl))
|
(apply 'rtog/add-repl repl))
|
||||||
|
|
||||||
(@map :map repl-toggle-mode-map
|
(map! :map repl-toggle-mode-map
|
||||||
:ei "C-n" 'comint-next-input
|
:ei "C-n" 'comint-next-input
|
||||||
:ei "C-p" 'comint-previous-input
|
:ei "C-p" 'comint-previous-input
|
||||||
:ei "<down>" 'comint-next-input
|
:ei "<down>" 'comint-next-input
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; feature/repl/packages.el
|
;;; feature/repl/packages.el
|
||||||
|
|
||||||
(@package quickrun)
|
(package! quickrun)
|
||||||
(@package repl-toggle)
|
(package! repl-toggle)
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
;; I'm a vimmer at heart. Its modal philosophy suits me better, and this module
|
;; I'm a vimmer at heart. Its modal philosophy suits me better, and this module
|
||||||
;; strives to make Emacs a much better vim than vim was.
|
;; strives to make Emacs a much better vim than vim was.
|
||||||
|
|
||||||
(@def-setting :evil-state (&rest mode-state-list)
|
(def-setting! :evil-state (&rest mode-state-list)
|
||||||
"Set the initialize STATE of MODE using `evil-set-initial-state'."
|
"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)
|
||||||
(let (forms)
|
(let (forms)
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
;; evil-mode
|
;; evil-mode
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package evil :demand t
|
(def-package! evil :demand t
|
||||||
:init
|
:init
|
||||||
(setq evil-want-C-u-scroll t
|
(setq evil-want-C-u-scroll t
|
||||||
evil-want-visual-char-semi-exclusive t
|
evil-want-visual-char-semi-exclusive t
|
||||||
|
@ -44,12 +44,12 @@
|
||||||
(evil-mode +1)
|
(evil-mode +1)
|
||||||
(evil-select-search-module 'evil-search-module 'evil-search)
|
(evil-select-search-module 'evil-search-module 'evil-search)
|
||||||
|
|
||||||
(@set :popup
|
(set! :popup
|
||||||
'("*evil-registers*" :size 0.3)
|
'("*evil-registers*" :size 0.3)
|
||||||
'("*Command Line*" :size 8))
|
'("*Command Line*" :size 8))
|
||||||
|
|
||||||
;; Set cursor colors later, presumably once theme is loaded
|
;; Set cursor colors later, presumably once theme is loaded
|
||||||
(@add-hook 'after-init-hook
|
(add-hook! 'after-init-hook
|
||||||
(setq evil-default-cursor (face-attribute 'cursor :background nil t)
|
(setq evil-default-cursor (face-attribute 'cursor :background nil t)
|
||||||
evil-normal-state-cursor 'box
|
evil-normal-state-cursor 'box
|
||||||
evil-emacs-state-cursor `(,(face-attribute 'warning :foreground nil nil) box)
|
evil-emacs-state-cursor `(,(face-attribute 'warning :foreground nil nil) box)
|
||||||
|
@ -153,19 +153,19 @@
|
||||||
;; Plugins
|
;; Plugins
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package evil-args
|
(def-package! evil-args
|
||||||
:commands (evil-inner-arg evil-outer-arg
|
:commands (evil-inner-arg evil-outer-arg
|
||||||
evil-forward-arg evil-backward-arg
|
evil-forward-arg evil-backward-arg
|
||||||
evil-jump-out-args)
|
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
|
(def-package! evil-commentary
|
||||||
:commands (evil-commentary evil-commentary-yank evil-commentary-line)
|
:commands (evil-commentary evil-commentary-yank evil-commentary-line)
|
||||||
:config (evil-commentary-mode 1))
|
:config (evil-commentary-mode 1))
|
||||||
|
|
||||||
|
|
||||||
(@def-package evil-easymotion
|
(def-package! evil-easymotion
|
||||||
:defer 1
|
:defer 1
|
||||||
:commands evilem-define
|
:commands evilem-define
|
||||||
:config
|
:config
|
||||||
|
@ -192,7 +192,7 @@
|
||||||
(evil-snipe-enable-incremental-highlight)))))
|
(evil-snipe-enable-incremental-highlight)))))
|
||||||
|
|
||||||
|
|
||||||
(@def-package evil-embrace
|
(def-package! evil-embrace
|
||||||
:after evil-surround
|
:after evil-surround
|
||||||
:config
|
:config
|
||||||
(setq evil-embrace-show-help-p nil)
|
(setq evil-embrace-show-help-p nil)
|
||||||
|
@ -238,15 +238,15 @@
|
||||||
;; Add extra pairs
|
;; Add extra pairs
|
||||||
(add-hook 'LaTeX-mode-hook 'embrace-LaTeX-mode-hook)
|
(add-hook 'LaTeX-mode-hook 'embrace-LaTeX-mode-hook)
|
||||||
(add-hook 'org-mode-hook 'embrace-org-mode-hook)
|
(add-hook 'org-mode-hook 'embrace-org-mode-hook)
|
||||||
(@add-hook emacs-lisp-mode
|
(add-hook! emacs-lisp-mode
|
||||||
(embrace-add-pair ?\` "`" "'"))
|
(embrace-add-pair ?\` "`" "'"))
|
||||||
(@add-hook (emacs-lisp-mode lisp-mode)
|
(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)
|
(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
|
(def-package! evil-escape
|
||||||
:commands evil-escape-mode
|
:commands evil-escape-mode
|
||||||
:init
|
:init
|
||||||
(defun +evil|escape-disable () (evil-escape-mode -1))
|
(defun +evil|escape-disable () (evil-escape-mode -1))
|
||||||
|
@ -261,7 +261,7 @@
|
||||||
evil-escape-delay 0.25))
|
evil-escape-delay 0.25))
|
||||||
|
|
||||||
|
|
||||||
(@def-package evil-exchange
|
(def-package! evil-exchange
|
||||||
:commands evil-exchange
|
:commands evil-exchange
|
||||||
:config
|
:config
|
||||||
(defun +evil*exchange-off ()
|
(defun +evil*exchange-off ()
|
||||||
|
@ -269,7 +269,7 @@
|
||||||
(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
|
(def-package! evil-indent-plus
|
||||||
:commands (evil-indent-plus-i-indent
|
:commands (evil-indent-plus-i-indent
|
||||||
evil-indent-plus-a-indent
|
evil-indent-plus-a-indent
|
||||||
evil-indent-plus-i-indent-up
|
evil-indent-plus-i-indent-up
|
||||||
|
@ -282,13 +282,13 @@
|
||||||
(+evil--textobj "J" 'evil-indent-plus-i-indent-up-down 'evil-indent-plus-a-indent-up-down))
|
(+evil--textobj "J" 'evil-indent-plus-i-indent-up-down 'evil-indent-plus-a-indent-up-down))
|
||||||
|
|
||||||
|
|
||||||
(@def-package evil-matchit
|
(def-package! evil-matchit
|
||||||
:commands (evilmi-jump-items evilmi-text-object global-evil-matchit-mode)
|
:commands (evilmi-jump-items evilmi-text-object global-evil-matchit-mode)
|
||||||
:config (global-evil-matchit-mode 1)
|
:config (global-evil-matchit-mode 1)
|
||||||
:init (+evil--textobj "%" 'evilmi-text-object))
|
:init (+evil--textobj "%" 'evilmi-text-object))
|
||||||
|
|
||||||
|
|
||||||
(@def-package evil-multiedit
|
(def-package! evil-multiedit
|
||||||
:commands (evil-multiedit-match-all
|
:commands (evil-multiedit-match-all
|
||||||
evil-multiedit-match-and-next
|
evil-multiedit-match-and-next
|
||||||
evil-multiedit-match-and-prev
|
evil-multiedit-match-and-prev
|
||||||
|
@ -302,20 +302,20 @@
|
||||||
:config (evil-multiedit-default-keybinds))
|
:config (evil-multiedit-default-keybinds))
|
||||||
|
|
||||||
|
|
||||||
(@def-package evil-textobj-anyblock
|
(def-package! evil-textobj-anyblock
|
||||||
:commands (evil-numbers/inc-at-pt evil-numbers/dec-at-pt)
|
:commands (evil-numbers/inc-at-pt evil-numbers/dec-at-pt)
|
||||||
:init
|
: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
|
(def-package! evil-search-highlight-persist :demand t
|
||||||
:commands (evil-textobj-anyblock-inner-block evil-textobj-anyblock-a-block)
|
:commands (evil-textobj-anyblock-inner-block evil-textobj-anyblock-a-block)
|
||||||
:config
|
:config
|
||||||
(global-evil-search-highlight-persist t)
|
(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
|
(def-package! evil-snipe :demand t
|
||||||
:init
|
:init
|
||||||
(setq evil-snipe-smart-case t
|
(setq evil-snipe-smart-case t
|
||||||
evil-snipe-scope 'line
|
evil-snipe-scope 'line
|
||||||
|
@ -331,12 +331,12 @@
|
||||||
(evil-snipe-mode 1)
|
(evil-snipe-mode 1)
|
||||||
(evil-snipe-override-mode 1)
|
(evil-snipe-override-mode 1)
|
||||||
;; Switch to evil-easymotion/avy after first snipe
|
;; Switch to evil-easymotion/avy after first snipe
|
||||||
(@map :map evil-snipe-parent-transient-map
|
(map! :map evil-snipe-parent-transient-map
|
||||||
"C-;" (@λ (require 'evil-easymotion)
|
"C-;" (λ! (require 'evil-easymotion)
|
||||||
(call-interactively +evil--snipe-repeat-fn))))
|
(call-interactively +evil--snipe-repeat-fn))))
|
||||||
|
|
||||||
|
|
||||||
(@def-package evil-surround
|
(def-package! evil-surround
|
||||||
:commands (global-evil-surround-mode
|
:commands (global-evil-surround-mode
|
||||||
evil-surround-edit
|
evil-surround-edit
|
||||||
evil-Surround-edit
|
evil-Surround-edit
|
||||||
|
@ -344,7 +344,7 @@
|
||||||
:config (global-evil-surround-mode 1))
|
:config (global-evil-surround-mode 1))
|
||||||
|
|
||||||
|
|
||||||
(@def-package evil-visualstar
|
(def-package! evil-visualstar
|
||||||
:commands (global-evil-visualstar-mode
|
:commands (global-evil-visualstar-mode
|
||||||
evil-visualstar/begin-search
|
evil-visualstar/begin-search
|
||||||
evil-visualstar/begin-search-forward
|
evil-visualstar/begin-search-forward
|
||||||
|
@ -353,7 +353,7 @@
|
||||||
|
|
||||||
|
|
||||||
;; A side-panel for browsing my project files. Inspired by vim's NERDTree.
|
;; A side-panel for browsing my project files. Inspired by vim's NERDTree.
|
||||||
(@def-package neotree
|
(def-package! neotree
|
||||||
:commands (neotree-show
|
:commands (neotree-show
|
||||||
neotree-hide
|
neotree-hide
|
||||||
neotree-toggle
|
neotree-toggle
|
||||||
|
@ -382,7 +382,7 @@
|
||||||
"~$"
|
"~$"
|
||||||
"^#.*#$"))
|
"^#.*#$"))
|
||||||
|
|
||||||
(@set :evil-state 'neotree-mode 'motion)
|
(set! :evil-state 'neotree-mode 'motion)
|
||||||
|
|
||||||
(push neo-buffer-name winner-boring-buffers)
|
(push neo-buffer-name winner-boring-buffers)
|
||||||
|
|
||||||
|
@ -390,7 +390,7 @@
|
||||||
;; overridden when the neotree buffer is spawned). So we bind them in a hook.
|
;; 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 _)
|
(defun +evil|neotree-init-keymap (&rest _)
|
||||||
(@map :Lm "\\\\" 'evil-window-prev
|
(map! :Lm "\\\\" 'evil-window-prev
|
||||||
:Lm "RET" 'neotree-enter
|
:Lm "RET" 'neotree-enter
|
||||||
:Lm "<return>" 'neotree-enter
|
:Lm "<return>" 'neotree-enter
|
||||||
:Lm "ESC ESC" 'neotree-hide
|
:Lm "ESC ESC" 'neotree-hide
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; feature/evil/packages.el
|
;;; feature/evil/packages.el
|
||||||
|
|
||||||
(@package evil)
|
(package! evil)
|
||||||
(@package evil-args)
|
(package! evil-args)
|
||||||
(@package evil-commentary)
|
(package! evil-commentary)
|
||||||
(@package evil-easymotion)
|
(package! evil-easymotion)
|
||||||
(@package evil-embrace)
|
(package! evil-embrace)
|
||||||
(@package evil-escape)
|
(package! evil-escape)
|
||||||
(@package evil-exchange)
|
(package! evil-exchange)
|
||||||
(@package evil-indent-plus)
|
(package! evil-indent-plus)
|
||||||
(@package evil-matchit)
|
(package! evil-matchit)
|
||||||
(@package evil-multiedit)
|
(package! evil-multiedit)
|
||||||
(@package evil-numbers)
|
(package! evil-numbers)
|
||||||
(@package evil-textobj-anyblock)
|
(package! evil-textobj-anyblock)
|
||||||
(@package evil-search-highlight-persist)
|
(package! evil-search-highlight-persist)
|
||||||
(@package evil-snipe)
|
(package! evil-snipe)
|
||||||
(@package evil-surround)
|
(package! evil-surround)
|
||||||
(@package evil-visualstar)
|
(package! evil-visualstar)
|
||||||
(@package neotree)
|
(package! neotree)
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
;;; feature/file-templates/config.el
|
;;; feature/file-templates/config.el
|
||||||
|
|
||||||
(@require :feature snippets)
|
(require! :feature snippets)
|
||||||
|
|
||||||
(defvar +file-templates-dir
|
(defvar +file-templates-dir
|
||||||
(expand-file-name "templates/" (file-name-directory load-file-name))
|
(expand-file-name "templates/" (file-name-directory load-file-name))
|
||||||
"")
|
"")
|
||||||
|
|
||||||
(@def-package autoinsert ; built-in
|
(def-package! autoinsert ; built-in
|
||||||
:after yasnippet
|
:after yasnippet
|
||||||
:init
|
:init
|
||||||
(setq auto-insert-query nil ; Don't prompt before insertion
|
(setq auto-insert-query nil ; Don't prompt before insertion
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; feature/file-templates/packages.el
|
;;; feature/file-templates/packages.el
|
||||||
|
|
||||||
(@depends-on :feature snippets)
|
(depends-on! :feature snippets)
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
;; Snippets! I've thrown together a few hacks to make `yasnippet' and `evil'
|
;; Snippets! I've thrown together a few hacks to make `yasnippet' and `evil'
|
||||||
;; behave together.
|
;; behave together.
|
||||||
|
|
||||||
(@def-package yasnippet
|
(def-package! yasnippet
|
||||||
:commands (yas-minor-mode
|
:commands (yas-minor-mode
|
||||||
yas-minor-mode-on
|
yas-minor-mode-on
|
||||||
yas-expand
|
yas-expand
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
(defvar yas-minor-mode-map (make-sparse-keymap))
|
(defvar yas-minor-mode-map (make-sparse-keymap))
|
||||||
|
|
||||||
:init
|
:init
|
||||||
(@add-hook (text-mode prog-mode snippet-mode markdown-mode org-mode)
|
(add-hook! (text-mode prog-mode snippet-mode markdown-mode org-mode)
|
||||||
'yas-minor-mode-on)
|
'yas-minor-mode-on)
|
||||||
|
|
||||||
:config
|
:config
|
||||||
|
@ -34,8 +34,8 @@
|
||||||
;; fix an error caused by smartparens interfering with yasnippet bindings
|
;; 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
|
(after! evil
|
||||||
(@map (:map yas-keymap
|
(map! (:map yas-keymap
|
||||||
"C-e" '+snippets/goto-end-of-field
|
"C-e" '+snippets/goto-end-of-field
|
||||||
"C-a" '+snippets/goto-start-of-field
|
"C-a" '+snippets/goto-start-of-field
|
||||||
"<M-right>" '+snippets/goto-end-of-field
|
"<M-right>" '+snippets/goto-end-of-field
|
||||||
|
@ -73,10 +73,10 @@
|
||||||
(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
|
(def-package! auto-yasnippet
|
||||||
:commands (aya-create aya-expand aya-open-line aya-persist-snippet)
|
:commands (aya-create aya-expand aya-open-line aya-persist-snippet)
|
||||||
:init
|
:init
|
||||||
(@map :i [C-tab] 'aya-expand
|
(map! :i [C-tab] 'aya-expand
|
||||||
:nv [C-tab] 'aya-create)
|
:nv [C-tab] 'aya-create)
|
||||||
:config
|
:config
|
||||||
(setq aya-persist-snippets-dir (concat doom-local-dir "auto-snippets/")))
|
(setq aya-persist-snippets-dir (concat doom-local-dir "auto-snippets/")))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; feature/snippets/packages.el
|
;;; feature/snippets/packages.el
|
||||||
|
|
||||||
(@package yasnippet)
|
(package! yasnippet)
|
||||||
(@package auto-yasnippet)
|
(package! auto-yasnippet)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; feature/spellcheck/config.el
|
;;; feature/spellcheck/config.el
|
||||||
|
|
||||||
(@def-package flyspell ; built-in
|
(def-package! flyspell ; built-in
|
||||||
:commands flyspell-mode
|
:commands flyspell-mode
|
||||||
:init
|
:init
|
||||||
(add-hook 'text-mode-hook 'flyspell-mode)
|
(add-hook 'text-mode-hook 'flyspell-mode)
|
||||||
|
@ -9,25 +9,25 @@
|
||||||
ispell-list-command "--list"
|
ispell-list-command "--list"
|
||||||
ispell-extr-args '("--dont-tex-check-comments"))
|
ispell-extr-args '("--dont-tex-check-comments"))
|
||||||
|
|
||||||
(@map :map flyspell-mode-map
|
(map! :map flyspell-mode-map
|
||||||
:localleader
|
:localleader
|
||||||
:n "s" 'flyspell-correct-word-generic
|
:n "s" 'flyspell-correct-word-generic
|
||||||
:n "S" 'flyspell-correct-previous-word-generic))
|
:n "S" 'flyspell-correct-previous-word-generic))
|
||||||
|
|
||||||
|
|
||||||
(@def-package flyspell-correct
|
(def-package! flyspell-correct
|
||||||
:commands (flyspell-correct-word-generic
|
:commands (flyspell-correct-word-generic
|
||||||
flyspell-correct-previous-word-generic))
|
flyspell-correct-previous-word-generic))
|
||||||
|
|
||||||
|
|
||||||
(@def-package flyspell-correct-popup
|
(def-package! flyspell-correct-popup
|
||||||
:after flyspell-correct
|
:after flyspell-correct
|
||||||
:config
|
:config
|
||||||
(setq flyspell-popup-correct-delay 0.8)
|
(setq flyspell-popup-correct-delay 0.8)
|
||||||
(define-key popup-menu-keymap [escape] 'keyboard-quit))
|
(define-key popup-menu-keymap [escape] 'keyboard-quit))
|
||||||
|
|
||||||
|
|
||||||
(@def-package flyspell-correct-helm :after flyspell-correct)
|
(def-package! flyspell-correct-helm :after flyspell-correct)
|
||||||
|
|
||||||
|
|
||||||
(@def-package flyspell-correct-ivy :after flyspell-correct)
|
(def-package! flyspell-correct-ivy :after flyspell-correct)
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; feature/spellcheck/packages.el
|
;;; feature/spellcheck/packages.el
|
||||||
|
|
||||||
(@package flyspell-correct)
|
(package! flyspell-correct)
|
||||||
(cond ((@featurep :completion ivy)
|
(cond ((featurep! :completion ivy)
|
||||||
(@package flyspell-correct-ivy))
|
(package! flyspell-correct-ivy))
|
||||||
((@featurep :completion helm)
|
((featurep! :completion helm)
|
||||||
(@package flyspell-correct-helm))
|
(package! flyspell-correct-helm))
|
||||||
(t
|
(t
|
||||||
(@package flyspell-correct-popup)))
|
(package! flyspell-correct-popup)))
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; feature/syntax-checker/config.el
|
;;; feature/syntax-checker/config.el
|
||||||
|
|
||||||
(@def-package flycheck
|
(def-package! flycheck
|
||||||
:commands (flycheck-mode flycheck-list-errors flycheck-buffer)
|
:commands (flycheck-mode flycheck-list-errors flycheck-buffer)
|
||||||
:config
|
:config
|
||||||
(setq flycheck-indication-mode 'right-fringe ; git-gutter is in the left fringe
|
(setq flycheck-indication-mode 'right-fringe ; git-gutter is in the left fringe
|
||||||
|
@ -9,9 +9,9 @@
|
||||||
flycheck-highlighting-mode 'symbols
|
flycheck-highlighting-mode 'symbols
|
||||||
flycheck-disabled-checkers '(emacs-lisp-checkdoc make))
|
flycheck-disabled-checkers '(emacs-lisp-checkdoc make))
|
||||||
|
|
||||||
(@set :popup " ?\\*Flycheck.+\\*" :size 14 :noselect t :regexp t)
|
(set! :popup " ?\\*Flycheck.+\\*" :size 14 :noselect t :regexp t)
|
||||||
|
|
||||||
(@map :map flycheck-error-list-mode-map
|
(map! :map flycheck-error-list-mode-map
|
||||||
:n "C-n" 'flycheck-error-list-next-error
|
:n "C-n" 'flycheck-error-list-next-error
|
||||||
:n "C-p" 'flycheck-error-list-previous-error
|
:n "C-p" 'flycheck-error-list-previous-error
|
||||||
:n "j" 'flycheck-error-list-next-error
|
:n "j" 'flycheck-error-list-next-error
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
(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-type :after flycheck
|
(def-package! flycheck-pos-type :after flycheck
|
||||||
:config
|
:config
|
||||||
(setq flycheck-pos-tip-timeout 10
|
(setq flycheck-pos-tip-timeout 10
|
||||||
flycheck-display-errors-delay 0.5)
|
flycheck-display-errors-delay 0.5)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; feature/syntax-checker/packages.el
|
;;; feature/syntax-checker/packages.el
|
||||||
|
|
||||||
(@package flycheck)
|
(package! flycheck)
|
||||||
(@package flycheck-pos-tip)
|
(package! flycheck-pos-tip)
|
||||||
|
|
||||||
|
|
|
@ -1,44 +1,44 @@
|
||||||
;;; feature/version-control/+git.el
|
;;; feature/version-control/+git.el
|
||||||
|
|
||||||
(@def-package gitconfig-mode
|
(def-package! gitconfig-mode
|
||||||
:mode "/\\.?git/?config$"
|
:mode "/\\.?git/?config$"
|
||||||
:mode "/\\.gitmodules$"
|
:mode "/\\.gitmodules$"
|
||||||
:init (add-hook 'gitconfig-mode-hook 'flyspell-mode))
|
:init (add-hook 'gitconfig-mode-hook 'flyspell-mode))
|
||||||
|
|
||||||
(@def-package gitignore-mode
|
(def-package! gitignore-mode
|
||||||
:mode "/\\.gitignore$")
|
:mode "/\\.gitignore$")
|
||||||
|
|
||||||
|
|
||||||
(@def-package git-gutter-fringe
|
(def-package! git-gutter-fringe
|
||||||
:commands git-gutter-mode
|
:commands git-gutter-mode
|
||||||
:init
|
:init
|
||||||
(@add-hook (text-mode prog-mode conf-mode) 'git-gutter-mode)
|
(add-hook! (text-mode prog-mode conf-mode) 'git-gutter-mode)
|
||||||
:config
|
:config
|
||||||
(@set :popup "^\\*git-gutter.+\\*$" :regexp t :size 15 :noselect t)
|
(set! :popup "^\\*git-gutter.+\\*$" :regexp t :size 15 :noselect t)
|
||||||
|
|
||||||
;; Update git-gutter on focus (in case I was using git externally)
|
;; 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
|
(after! evil
|
||||||
;; Refreshing git-gutter on ESC
|
;; 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
|
(def-package! browse-at-remote
|
||||||
:commands (browse-at-remote/browse browse-at-remote/get-url))
|
:commands (browse-at-remote/browse browse-at-remote/get-url))
|
||||||
|
|
||||||
|
|
||||||
(@def-package magit
|
(def-package! magit
|
||||||
:commands magit-status
|
:commands magit-status
|
||||||
:config
|
:config
|
||||||
(@set :popup "^\\*magit" :regexp t)
|
(set! :popup "^\\*magit" :regexp t)
|
||||||
(@map :map magit-mode-map
|
(map! :map magit-mode-map
|
||||||
;; Don't interfere with window movement keys
|
;; Don't interfere with window movement keys
|
||||||
:nv "C-j" nil
|
:nv "C-j" nil
|
||||||
:nv "C-k" nil))
|
:nv "C-k" nil))
|
||||||
|
|
||||||
|
|
||||||
(@def-package evil-magit
|
(def-package! evil-magit
|
||||||
:after magit
|
:after magit
|
||||||
:config
|
:config
|
||||||
;; evil-snipe conflicts with magit
|
;; evil-snipe conflicts with magit
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
;;; feature/version-control/config.el
|
;;; feature/version-control/config.el
|
||||||
|
|
||||||
(@load +git)
|
(load! +git)
|
||||||
;; (@load +hg)
|
;; (load! +hg)
|
||||||
|
|
||||||
(@after vc-annotate
|
(after! vc-annotate
|
||||||
(@set :popup
|
(set! :popup
|
||||||
'("*vc-diff*" :size 15 :noselect t)
|
'("*vc-diff*" :size 15 :noselect t)
|
||||||
'("*vc-change-log*" :size 15)
|
'("*vc-change-log*" :size 15)
|
||||||
'(vc-annotate-mode :same t))
|
'(vc-annotate-mode :same t))
|
||||||
|
|
||||||
(@set :evil-state
|
(set! :evil-state
|
||||||
'(vc-annotate-mode . normal)
|
'(vc-annotate-mode . normal)
|
||||||
'(vc-git-log-view-mode . normal))
|
'(vc-git-log-view-mode . normal))
|
||||||
|
|
||||||
(@map :map vc-annotate-mode-map
|
(map! :map vc-annotate-mode-map
|
||||||
:n "q" 'kill-this-buffer
|
:n "q" 'kill-this-buffer
|
||||||
:n "d" 'vc-annotate-show-diff-revision-at-line
|
:n "d" 'vc-annotate-show-diff-revision-at-line
|
||||||
:n "D" 'vc-annotate-show-changeset-diff-revision-at-line
|
:n "D" 'vc-annotate-show-changeset-diff-revision-at-line
|
||||||
|
|
|
@ -5,12 +5,12 @@
|
||||||
;; n/a
|
;; n/a
|
||||||
|
|
||||||
;;; +git
|
;;; +git
|
||||||
(@package browse-at-remote)
|
(package! browse-at-remote)
|
||||||
(@package git-gutter-fringe)
|
(package! git-gutter-fringe)
|
||||||
(@package gitconfig-mode)
|
(package! gitconfig-mode)
|
||||||
(@package gitignore-mode)
|
(package! gitignore-mode)
|
||||||
(@package magit)
|
(package! magit)
|
||||||
(when (@featurep :feature evil)
|
(when (featurep! :feature evil)
|
||||||
(@package evil-magit))
|
(package! evil-magit))
|
||||||
|
|
||||||
;;; TODO +hg
|
;;; TODO +hg
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
"A hook that runs when persp loads a new session.")
|
"A hook that runs when persp loads a new session.")
|
||||||
|
|
||||||
|
|
||||||
(@def-package persp-mode :demand t
|
(def-package! persp-mode :demand t
|
||||||
:config
|
:config
|
||||||
(setq persp-autokill-buffer-on-remove 'kill-weak
|
(setq persp-autokill-buffer-on-remove 'kill-weak
|
||||||
persp-nil-name "main"
|
persp-nil-name "main"
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
;; TODO Test per-frame perspectives
|
;; TODO Test per-frame perspectives
|
||||||
|
|
||||||
;; Be quiet when saving
|
;; Be quiet when saving
|
||||||
(defun +workspace*silence (orig-fn &rest args) (@quiet (apply orig-fn args)))
|
(defun +workspace*silence (orig-fn &rest args) (quiet! (apply orig-fn args)))
|
||||||
(advice-add 'persp-save-state-to-file :around '+workspace*silence)
|
(advice-add 'persp-save-state-to-file :around '+workspace*silence)
|
||||||
|
|
||||||
;; Add a hook to session loading
|
;; Add a hook to session loading
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; feature/workspaces/packages.el
|
;;; feature/workspaces/packages.el
|
||||||
|
|
||||||
(@package persp-mode)
|
(package! persp-mode)
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
;;; lang/assembly/config.el
|
;;; lang/assembly/config.el
|
||||||
|
|
||||||
(@def-package mips-mode :mode "\\.mips$")
|
(def-package! mips-mode :mode "\\.mips$")
|
||||||
|
|
||||||
(@def-package haxor-mode :mode "\\.hax$")
|
(def-package! haxor-mode :mode "\\.hax$")
|
||||||
|
|
||||||
(@def-package nasm-mode :commands nasm-mode)
|
(def-package! nasm-mode :commands nasm-mode)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/assembly/packages.el
|
;;; lang/assembly/packages.el
|
||||||
|
|
||||||
(@package mips-mode)
|
(package! mips-mode)
|
||||||
(@package haxor-mode)
|
(package! haxor-mode)
|
||||||
(@package nasm-mode)
|
(package! nasm-mode)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; lang/cc/config.el --- C, C++, and Objective-C
|
;;; lang/cc/config.el --- C, C++, and Objective-C
|
||||||
|
|
||||||
(@def-package cc-mode
|
(def-package! cc-mode
|
||||||
:commands (c-mode c++-mode objc-mode java-mode)
|
:commands (c-mode c++-mode objc-mode java-mode)
|
||||||
:mode ("\\.mm" . objc-mode)
|
:mode ("\\.mm" . objc-mode)
|
||||||
:init
|
:init
|
||||||
|
@ -32,10 +32,10 @@
|
||||||
;; Fontification of C++11 string literals
|
;; 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)
|
(set! :electric '(c-mode c++-mode objc-mode java-mode)
|
||||||
:chars '(?\n ?\}))
|
:chars '(?\n ?\}))
|
||||||
|
|
||||||
(@set :company-backend
|
(set! :company-backend
|
||||||
'(c-mode c++-mode objc-mode)
|
'(c-mode c++-mode objc-mode)
|
||||||
'(company-irony-c-headers company-irony))
|
'(company-irony-c-headers company-irony))
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
|
|
||||||
;; Certain mappings interfere with smartparens and custom bindings,
|
;; Certain mappings interfere with smartparens and custom bindings,
|
||||||
;; so unbind them
|
;; so unbind them
|
||||||
(@map :map c-mode-map
|
(map! :map c-mode-map
|
||||||
"DEL" nil
|
"DEL" nil
|
||||||
"#" 'self-insert-command
|
"#" 'self-insert-command
|
||||||
"{" 'self-insert-command
|
"{" 'self-insert-command
|
||||||
|
@ -99,58 +99,58 @@
|
||||||
:i ">" '+cc/autoclose->-maybe))
|
:i ">" '+cc/autoclose->-maybe))
|
||||||
|
|
||||||
|
|
||||||
(@def-package modern-cpp-font-lock
|
(def-package! modern-cpp-font-lock
|
||||||
:commands modern-c++-font-lock-mode
|
: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
|
(def-package! irony
|
||||||
:after cc-mode
|
:after cc-mode
|
||||||
:config
|
:config
|
||||||
(setq irony-server-install-prefix (concat doom-cache-dir "irony-server/"))
|
(setq irony-server-install-prefix (concat doom-cache-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
|
(add-hook! 'c++-mode-hook
|
||||||
(make-local-variable 'irony-additional-clang-options)
|
(make-local-variable 'irony-additional-clang-options)
|
||||||
(push "-std=c++11" irony-additional-clang-options)))
|
(push "-std=c++11" irony-additional-clang-options)))
|
||||||
|
|
||||||
(@def-package irony-eldoc :after irony)
|
(def-package! irony-eldoc :after irony)
|
||||||
|
|
||||||
(@def-package flycheck-irony :after irony :config (flycheck-irony-setup))
|
(def-package! flycheck-irony :after irony :config (flycheck-irony-setup))
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Tools
|
;; Tools
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package disaster :commands disaster)
|
(def-package! disaster :commands disaster)
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Plugins
|
;; Plugins
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package company-cmake :after cmake-mode)
|
(def-package! company-cmake :after cmake-mode)
|
||||||
|
|
||||||
(@def-package company-irony :after irony)
|
(def-package! company-irony :after irony)
|
||||||
|
|
||||||
(@def-package company-irony-c-headers :after company-irony)
|
(def-package! company-irony-c-headers :after company-irony)
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Major modes
|
;; Major modes
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package cmake-mode
|
(def-package! cmake-mode
|
||||||
:mode "CMakeLists\\.txt$"
|
:mode "CMakeLists\\.txt$"
|
||||||
:config
|
:config
|
||||||
(@set :company-backend 'cmake-mode '(company-cmake company-yasnippet)))
|
(set! :company-backend 'cmake-mode '(company-cmake company-yasnippet)))
|
||||||
|
|
||||||
(@def-package glsl-mode :mode ("\\.glsl\\'" "\\.vert\\'" "\\.frag\\'" "\\.geom\\'"))
|
(def-package! glsl-mode :mode ("\\.glsl\\'" "\\.vert\\'" "\\.frag\\'" "\\.geom\\'"))
|
||||||
|
|
||||||
(@def-package cuda-mode :mode "\\.cuh?$")
|
(def-package! cuda-mode :mode "\\.cuh?$")
|
||||||
|
|
||||||
(@def-package opencl-mode :mode "\\.cl$")
|
(def-package! opencl-mode :mode "\\.cl$")
|
||||||
|
|
||||||
(@def-package demangle-mode
|
(def-package! demangle-mode
|
||||||
:commands demangle-mode
|
:commands demangle-mode
|
||||||
:init (add-hook 'llvm-mode-hook 'demangle-mode))
|
:init (add-hook 'llvm-mode-hook 'demangle-mode))
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/cc/packages.el
|
;;; lang/cc/packages.el
|
||||||
|
|
||||||
(@package cmake-mode)
|
(package! cmake-mode)
|
||||||
(@package cuda-mode)
|
(package! cuda-mode)
|
||||||
(@package demangle-mode)
|
(package! demangle-mode)
|
||||||
(@package disaster)
|
(package! disaster)
|
||||||
(@package glsl-mode)
|
(package! glsl-mode)
|
||||||
(@package irony)
|
(package! irony)
|
||||||
(@package irony-eldoc)
|
(package! irony-eldoc)
|
||||||
(@package opencl-mode)
|
(package! opencl-mode)
|
||||||
(@package modern-cpp-font-lock)
|
(package! modern-cpp-font-lock)
|
||||||
|
|
||||||
(when (@featurep :feature syntax-checker)
|
(when (featurep! :feature syntax-checker)
|
||||||
(@package flycheck-irony))
|
(package! flycheck-irony))
|
||||||
|
|
||||||
(when (@featurep :completion company)
|
(when (featurep! :completion company)
|
||||||
(@package company-irony)
|
(package! company-irony)
|
||||||
(@package company-irony-c-headers))
|
(package! company-irony-c-headers))
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
;;; module-crystal.el
|
;;; module-crystal.el
|
||||||
|
|
||||||
(@def-package crystal-mode
|
(def-package! crystal-mode
|
||||||
:mode "\\.cr$"
|
:mode "\\.cr$"
|
||||||
:interpreter "crystal"
|
:interpreter "crystal"
|
||||||
:config
|
:config
|
||||||
(@set :eval 'crystal-mode
|
(set! :eval 'crystal-mode
|
||||||
'((:command . "crystal")
|
'((:command . "crystal")
|
||||||
(:exec . "%c %s")
|
(:exec . "%c %s")
|
||||||
(:description . "Run Crystal script"))))
|
(:description . "Run Crystal script"))))
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/crystal/packages.el
|
;;; lang/crystal/packages.el
|
||||||
|
|
||||||
(@package crystal-mode :recipe (:fetcher github :repo "dotmilk/emacs-crystal-mode"))
|
(package! crystal-mode :recipe (:fetcher github :repo "dotmilk/emacs-crystal-mode"))
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
;;; module-csharp.el
|
;;; module-csharp.el
|
||||||
|
|
||||||
(@def-package csharp-mode
|
(def-package! csharp-mode
|
||||||
:mode "\\.cs$"
|
:mode "\\.cs$"
|
||||||
:init (add-hook 'csharp-mode-hook 'flycheck-mode))
|
:init (add-hook 'csharp-mode-hook 'flycheck-mode))
|
||||||
|
|
||||||
|
|
||||||
(@def-package omnisharp
|
(def-package! omnisharp
|
||||||
:commands omnisharp-mode
|
:commands omnisharp-mode
|
||||||
:preface
|
:preface
|
||||||
(setq omnisharp-auto-complete-want-documentation nil
|
(setq omnisharp-auto-complete-want-documentation nil
|
||||||
omnisharp-server-executable-path (concat doom-local-dir "OmniSharp.exe"))
|
omnisharp-server-executable-path (concat doom-local-dir "OmniSharp.exe"))
|
||||||
:when (file-exists-p omnisharp-server-executable-path)
|
:when (file-exists-p omnisharp-server-executable-path)
|
||||||
:init
|
:init
|
||||||
(@add-hook csharp-mode '(eldoc-mode omnisharp-mode))
|
(add-hook! csharp-mode '(eldoc-mode omnisharp-mode))
|
||||||
:config
|
:config
|
||||||
(@set :company-backend 'csharp-mode '(company-omnisharp))
|
(set! :company-backend 'csharp-mode '(company-omnisharp))
|
||||||
|
|
||||||
;; Map all refactor commands (see emr)
|
;; Map all refactor commands (see emr)
|
||||||
(@map :map omnisharp-mode-map
|
(map! :map omnisharp-mode-map
|
||||||
:n "gd" 'omnisharp-go-to-definition
|
:n "gd" 'omnisharp-go-to-definition
|
||||||
|
|
||||||
:localleader
|
:localleader
|
||||||
|
@ -40,10 +40,10 @@
|
||||||
:n "o" 'omnisharp-show-overloads-at-point
|
:n "o" 'omnisharp-show-overloads-at-point
|
||||||
|
|
||||||
:prefix "t"
|
:prefix "t"
|
||||||
:n "tr" (@λ (omnisharp-unit-test "fixture"))
|
:n "tr" (λ! (omnisharp-unit-test "fixture"))
|
||||||
:n "ts" (@λ (omnisharp-unit-test "single"))
|
:n "ts" (λ! (omnisharp-unit-test "single"))
|
||||||
:n "ta" (@λ (omnisharp-unit-test "all"))))
|
:n "ta" (λ! (omnisharp-unit-test "all"))))
|
||||||
|
|
||||||
|
|
||||||
(@def-package shader-mode :mode "\\.shader$") ; unity shaders
|
(def-package! shader-mode :mode "\\.shader$") ; unity shaders
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/csharp/packages.el
|
;;; lang/csharp/packages.el
|
||||||
|
|
||||||
(@package csharp-mode)
|
(package! csharp-mode)
|
||||||
(@package omnisharp)
|
(package! omnisharp)
|
||||||
(@package shader-mode)
|
(package! shader-mode)
|
||||||
|
|
||||||
|
|
|
@ -1,41 +1,41 @@
|
||||||
;;; module-data.el
|
;;; module-data.el
|
||||||
|
|
||||||
(@associate conf-mode :match "/sxhkdrc$")
|
(associate! conf-mode :match "/sxhkdrc$")
|
||||||
|
|
||||||
|
|
||||||
(@def-package nxml-mode
|
(def-package! nxml-mode
|
||||||
:mode "\\.plist$"
|
:mode "\\.plist$"
|
||||||
:config
|
:config
|
||||||
(@set :company-backend 'nxml-mode '(company-nxml company-yasnippet)))
|
(set! :company-backend 'nxml-mode '(company-nxml company-yasnippet)))
|
||||||
|
|
||||||
|
|
||||||
(@def-package toml-mode :mode "\\.toml$")
|
(def-package! toml-mode :mode "\\.toml$")
|
||||||
|
|
||||||
|
|
||||||
(@def-package yaml-mode
|
(def-package! yaml-mode
|
||||||
:mode "\\.ya?ml$"
|
:mode "\\.ya?ml$"
|
||||||
:config
|
:config
|
||||||
(@set :electric 'yaml-mode :chars '(?\n ?\: ?\-)))
|
(set! :electric 'yaml-mode :chars '(?\n ?\: ?\-)))
|
||||||
|
|
||||||
|
|
||||||
(@def-package json-mode :mode "\\.js\\(on\\|[hl]int\\(rc\\)?\\)$"
|
(def-package! json-mode :mode "\\.js\\(on\\|[hl]int\\(rc\\)?\\)$"
|
||||||
:config
|
:config
|
||||||
(@set :electric 'json-mode :chars '(?\n ?: ?{ ?})))
|
(set! :electric 'json-mode :chars '(?\n ?: ?{ ?})))
|
||||||
|
|
||||||
|
|
||||||
(@def-package vimrc-mode
|
(def-package! vimrc-mode
|
||||||
:mode ("/\\.?g?vimrc$" "\\.vim$" "/\\.?vimperatorrc$" "\\.vimp$"))
|
:mode ("/\\.?g?vimrc$" "\\.vim$" "/\\.?vimperatorrc$" "\\.vimp$"))
|
||||||
|
|
||||||
|
|
||||||
(@def-package dockerfile-mode
|
(def-package! dockerfile-mode
|
||||||
:mode "/Dockerfile$"
|
:mode "/Dockerfile$"
|
||||||
:config
|
:config
|
||||||
;; TODO
|
;; TODO
|
||||||
(@set :build 'docker 'dockerfile-mode '+data-dockerfile-p '+data/dockerfile-build))
|
(set! :build 'docker 'dockerfile-mode '+data-dockerfile-p '+data/dockerfile-build))
|
||||||
|
|
||||||
|
|
||||||
;; For ROM hacking or debugging
|
;; For ROM hacking or debugging
|
||||||
(@def-package hexl-mode
|
(def-package! hexl-mode
|
||||||
:mode ("\\.hex$" "\\.nes$"))
|
:mode ("\\.hex$" "\\.nes$"))
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,10 +43,10 @@
|
||||||
;; Frameworks
|
;; Frameworks
|
||||||
;;
|
;;
|
||||||
|
|
||||||
;; (@def-project ansible-mode "ans"
|
;; (def-project! ansible-mode "ans"
|
||||||
;; :modes (yaml-mode)
|
;; :modes (yaml-mode)
|
||||||
;; :files ("roles/"))
|
;; :files ("roles/"))
|
||||||
|
|
||||||
;; (@def-project vagrant "vagrant"
|
;; (def-project! vagrant "vagrant"
|
||||||
;; :files ("Vagrantfile"))
|
;; :files ("Vagrantfile"))
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/data/packages.el
|
;;; lang/data/packages.el
|
||||||
|
|
||||||
(@package dockerfile-mode)
|
(package! dockerfile-mode)
|
||||||
(@package json-mode)
|
(package! json-mode)
|
||||||
(@package toml-mode)
|
(package! toml-mode)
|
||||||
(@package vimrc-mode)
|
(package! vimrc-mode)
|
||||||
(@package yaml-mode)
|
(package! yaml-mode)
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
;;; lang/emacs-lisp/config.el
|
;;; lang/emacs-lisp/config.el
|
||||||
|
|
||||||
(@def-package elisp-mode ; built-in
|
(def-package! elisp-mode ; built-in
|
||||||
:mode ("/Cask$" . emacs-lisp-mode)
|
:mode ("/Cask$" . emacs-lisp-mode)
|
||||||
:init
|
:init
|
||||||
(add-hook 'emacs-lisp-mode-hook '+emacs-lisp|hook)
|
(add-hook 'emacs-lisp-mode-hook '+emacs-lisp|hook)
|
||||||
|
|
||||||
:config
|
:config
|
||||||
(@map :map emacs-lisp-mode-map
|
(map! :map emacs-lisp-mode-map
|
||||||
:m "gd" '+emacs-lisp/find-function
|
:m "gd" '+emacs-lisp/find-function
|
||||||
:leader :m "gd" '+emacs-lisp/find-function-in-other-window)
|
:leader :m "gd" '+emacs-lisp/find-function-in-other-window)
|
||||||
|
|
||||||
(@set :rotate 'emacs-lisp-mode
|
(set! :rotate 'emacs-lisp-mode
|
||||||
:symbols '(("t" "nil")
|
:symbols '(("t" "nil")
|
||||||
("let" "let*")
|
("let" "let*")
|
||||||
("when" "unless")
|
("when" "unless")
|
||||||
|
@ -35,17 +35,14 @@
|
||||||
nil `(;; Display "lambda" as λ
|
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
|
;; Highlight doom/module functions
|
||||||
("\\(^\\|\\s-\\|,\\)(\\(\\(doom\\|\\+\\)[^) ]+\\)[) \n]" (2 font-lock-builtin-face))
|
("\\(^\\|\\s-\\|,\\)(\\(\\(doom\\|\\+\\)[^) ]+\\)[) \n]" (2 font-lock-builtin-face))))
|
||||||
;; Highlight doom macros (no need, macros are fontified in emacs 25+)
|
|
||||||
;; ("\\(^\\|\\s-\\)(\\(@[^) ]+\\)[) \n]" (2 font-lock-preprocessor-face append))
|
|
||||||
))
|
|
||||||
|
|
||||||
(setq imenu-generic-expression
|
(setq imenu-generic-expression
|
||||||
'(("Evil Commands" "^\\s-*(evil-define-\\(?:command\\|operator\\|motion\\) +\\(\\_<[^ ()\n]+\\_>\\)" 1)
|
'(("Evil Commands" "^\\s-*(evil-define-\\(?:command\\|operator\\|motion\\) +\\(\\_<[^ ()\n]+\\_>\\)" 1)
|
||||||
("Package" "^\\s-*(@\\(?:use-package\\|package\\) +\\(\\_<[^ ()\n]+\\_>\\)" 1)
|
("Package" "^\\s-*(\\(?:def-\\)?package! +\\(\\_<[^ ()\n]+\\_>\\)" 1)
|
||||||
("Settings" "^\\s-*(@def-setting +\\([^ ()\n]+\\)" 1)
|
("Settings" "^\\s-*(def-setting! +\\([^ ()\n]+\\)" 1)
|
||||||
("Modelines" "^\\s-*(@def-modeline +\\([^ ()\n]+\\)" 1)
|
("Modelines" "^\\s-*(def-modeline! +\\([^ ()\n]+\\)" 1)
|
||||||
("Modeline Segments" "^\\s-*(@def-modeline-segment +\\([^ ()\n]+\\)" 1)
|
("Modeline Segments" "^\\s-*(def-modeline-segment! +\\([^ ()\n]+\\)" 1)
|
||||||
("Advice" "^\\s-*(def\\(?:\\(?:ine-\\)?advice\\))")
|
("Advice" "^\\s-*(def\\(?:\\(?:ine-\\)?advice\\))")
|
||||||
("Modes" "^\\s-*(define-\\(?:global\\(?:ized\\)?-minor\\|generic\\|minor\\)-mode +\\([^ ()\n]+\\)" 1)
|
("Modes" "^\\s-*(define-\\(?:global\\(?:ized\\)?-minor\\|generic\\|minor\\)-mode +\\([^ ()\n]+\\)" 1)
|
||||||
("Macros" "^\\s-*(\\(?:cl-\\)?def\\(?:ine-compile-macro\\|macro\\) +\\([^ )\n]+\\)" 1)
|
("Macros" "^\\s-*(\\(?:cl-\\)?def\\(?:ine-compile-macro\\|macro\\) +\\([^ )\n]+\\)" 1)
|
||||||
|
@ -61,17 +58,17 @@
|
||||||
;; Plugins
|
;; Plugins
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package auto-compile
|
(def-package! auto-compile
|
||||||
:commands auto-compile-on-save-mode
|
:commands auto-compile-on-save-mode
|
||||||
:config
|
:config
|
||||||
(setq auto-compile-display-buffer nil
|
(setq auto-compile-display-buffer nil
|
||||||
auto-compile-use-mode-line nil))
|
auto-compile-use-mode-line nil))
|
||||||
|
|
||||||
|
|
||||||
(@def-package highlight-quoted
|
(def-package! highlight-quoted
|
||||||
:commands highlight-quoted-mode)
|
:commands highlight-quoted-mode)
|
||||||
|
|
||||||
|
|
||||||
(@def-package slime
|
(def-package! slime
|
||||||
:config (setq inferior-lisp-program "clisp"))
|
:config (setq inferior-lisp-program "clisp"))
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/emacs-lisp/packages.el
|
;;; lang/emacs-lisp/packages.el
|
||||||
|
|
||||||
(@package auto-compile)
|
(package! auto-compile)
|
||||||
(@package highlight-quoted)
|
(package! highlight-quoted)
|
||||||
(@package slime)
|
(package! slime)
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
;;; lang/go/config.el
|
;;; lang/go/config.el
|
||||||
|
|
||||||
(@def-package go-mode
|
(def-package! go-mode
|
||||||
:mode "\\.go$"
|
:mode "\\.go$"
|
||||||
:interpreter "go"
|
:interpreter "go"
|
||||||
:init
|
:init
|
||||||
(add-hook 'go-mode-hook 'flycheck-mode)
|
(add-hook 'go-mode-hook 'flycheck-mode)
|
||||||
(@add-hook go-mode (add-hook 'before-save-hook 'gofmt-before-save))
|
(add-hook! go-mode (add-hook 'before-save-hook 'gofmt-before-save))
|
||||||
:config
|
:config
|
||||||
(@set :build 'go-build 'go-mode '+go/build)
|
(set! :build 'go-build 'go-mode '+go/build)
|
||||||
(@set :company-backend 'go-mode '(company-go company-yasnippet))
|
(set! :company-backend 'go-mode '(company-go company-yasnippet))
|
||||||
(@set :repl 'go-mode 'gorepl-run)
|
(set! :repl 'go-mode 'gorepl-run)
|
||||||
|
|
||||||
(@map :map go-mode-map
|
(map! :map go-mode-map
|
||||||
:n "gd" 'godef-jump
|
:n "gd" 'godef-jump
|
||||||
(:localleader
|
(:localleader
|
||||||
:n "k" 'godef-describe
|
:n "k" 'godef-describe
|
||||||
|
@ -24,14 +24,14 @@
|
||||||
:n "s" '+go/test-run-package)))
|
:n "s" '+go/test-run-package)))
|
||||||
|
|
||||||
|
|
||||||
(@def-package company-go :after go-mode)
|
(def-package! company-go :after go-mode)
|
||||||
|
|
||||||
|
|
||||||
(@def-package go-eldoc
|
(def-package! go-eldoc
|
||||||
:after go-mode
|
:after go-mode
|
||||||
:init (add-hook 'go-mode-hook 'go-eldoc-setup))
|
:init (add-hook 'go-mode-hook 'go-eldoc-setup))
|
||||||
|
|
||||||
|
|
||||||
(@def-package gorepl-mode
|
(def-package! gorepl-mode
|
||||||
:commands (gorepl-run gorepl-run-load-current-file))
|
:commands (gorepl-run gorepl-run-load-current-file))
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/go/packages.el
|
;;; lang/go/packages.el
|
||||||
|
|
||||||
(@package go-eldoc)
|
(package! go-eldoc)
|
||||||
(@package go-mode)
|
(package! go-mode)
|
||||||
(@package gorepl-mode)
|
(package! gorepl-mode)
|
||||||
(when (@featurep :completion company)
|
(when (featurep! :completion company)
|
||||||
(@package company-go))
|
(package! company-go))
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
;;; module-haskell.el
|
;;; module-haskell.el
|
||||||
|
|
||||||
(@def-package haskell
|
(def-package! haskell
|
||||||
:mode (("\\.hs$" . haskell-mode)
|
:mode (("\\.hs$" . haskell-mode)
|
||||||
("\\.ghci$" . ghci-script-mode)
|
("\\.ghci$" . ghci-script-mode)
|
||||||
("\\.cabal$" . haskell-cabal-mode))
|
("\\.cabal$" . haskell-cabal-mode))
|
||||||
:interpreter (("runghc" . haskell-mode)
|
:interpreter (("runghc" . haskell-mode)
|
||||||
("runhaskell" . haskell-mode))
|
("runhaskell" . haskell-mode))
|
||||||
:init
|
:init
|
||||||
(@add-hook haskell-mode '(interactive-haskell-mode flycheck-mode))
|
(add-hook! haskell-mode '(interactive-haskell-mode flycheck-mode))
|
||||||
:config
|
:config
|
||||||
(@set :popup "*debug:haskell*" :size 20)
|
(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))
|
(push ".hi" completion-ignored-extensions))
|
||||||
|
|
||||||
|
|
||||||
(@def-package inf-haskell ; part of haskell
|
(def-package! inf-haskell ; part of haskell
|
||||||
:commands (inferior-haskell-mode inf-haskell-mode switch-to-haskell)
|
:commands (inferior-haskell-mode inf-haskell-mode switch-to-haskell)
|
||||||
:config (@map :map inf-haskell-mode-map "ESC ESC" 'doom/popup-close))
|
:config (map! :map inf-haskell-mode-map "ESC ESC" 'doom/popup-close))
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/haskell/packages.el
|
;;; lang/haskell/packages.el
|
||||||
|
|
||||||
(@package haskell-mode)
|
(package! haskell-mode)
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
;;; lang/java/config.el
|
;;; lang/java/config.el
|
||||||
|
|
||||||
(@def-package meghanada
|
(def-package! meghanada
|
||||||
:commands meghanada-mode
|
:commands meghanada-mode
|
||||||
:init
|
:init
|
||||||
(@add-hook java-mode '(meghanada-mode flycheck-mode))
|
(add-hook! java-mode '(meghanada-mode flycheck-mode))
|
||||||
:config
|
:config
|
||||||
(@set :build 'compile-file 'java-mode 'meghanada-compile-file)
|
(set! :build 'compile-file 'java-mode 'meghanada-compile-file)
|
||||||
(@set :build 'compile-project 'java-mode 'meghanada-compile-project)
|
(set! :build 'compile-project 'java-mode 'meghanada-compile-project)
|
||||||
|
|
||||||
(setq meghanada-server-install-dir (expand-file-name "meghanada-server" doom-cache-dir)
|
(setq meghanada-server-install-dir (expand-file-name "meghanada-server" doom-cache-dir)
|
||||||
meghanada-use-company t
|
meghanada-use-company t
|
||||||
meghanada-use-flycheck t
|
meghanada-use-flycheck t
|
||||||
meghanada-use-auto-start 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)
|
||||||
|
|
||||||
(unless (file-exists-p (meghanada--locate-server-jar))
|
(unless (file-exists-p (meghanada--locate-server-jar))
|
||||||
(meghanada-install-server)))
|
(meghanada-install-server)))
|
||||||
|
|
||||||
|
|
||||||
(@def-package android-mode
|
(def-package! android-mode
|
||||||
:commands android-mode
|
:commands android-mode
|
||||||
:init
|
: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
|
:config
|
||||||
(@set :yas-minor-mode 'android-mode)
|
(set! :yas-minor-mode 'android-mode)
|
||||||
(@set :company-dict-minor-mode 'android-mode))
|
(set! :company-dict-minor-mode 'android-mode))
|
||||||
|
|
||||||
|
|
||||||
(@def-package groovy-mode
|
(def-package! groovy-mode
|
||||||
:mode "\\.g\\(radle\\|roovy\\)$"
|
:mode "\\.g\\(radle\\|roovy\\)$"
|
||||||
:config
|
:config
|
||||||
(@set :eval 'groovy-mode "groovy"))
|
(set! :eval 'groovy-mode "groovy"))
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/java/packages.el
|
;;; lang/java/packages.el
|
||||||
|
|
||||||
(@package meghanada)
|
(package! meghanada)
|
||||||
(@package android-mode)
|
(package! android-mode)
|
||||||
(@package groovy-mode)
|
(package! groovy-mode)
|
||||||
|
|
||||||
|
|
|
@ -166,11 +166,11 @@
|
||||||
"REACTIONS" "BODYPARTS_ALL" "RESOURCES_ALL" "COLORS_ALL"))
|
"REACTIONS" "BODYPARTS_ALL" "RESOURCES_ALL" "COLORS_ALL"))
|
||||||
|
|
||||||
;; TODO
|
;; TODO
|
||||||
;; (@def-project screeps "screeps"
|
;; (def-project! screeps "screeps"
|
||||||
;; :match "/screeps/.+$"
|
;; :match "/screeps/.+$"
|
||||||
;; :modes (nodejs-project-mode))
|
;; :modes (nodejs-project-mode))
|
||||||
|
|
||||||
;; (@add-hook screeps-project-mode
|
;; (add-hook! screeps-project-mode
|
||||||
;; (when (eq major-mode 'js2-mode)
|
;; (when (eq major-mode 'js2-mode)
|
||||||
;; (add-to-list 'flycheck-disabled-checkers 'javascript-jshint)
|
;; (add-to-list 'flycheck-disabled-checkers 'javascript-jshint)
|
||||||
;; (setq js2-additional-externs (append '("_") screeps-objects screeps-constants))))
|
;; (setq js2-additional-externs (append '("_") screeps-objects screeps-constants))))
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
;; lang/javascript/config.el
|
;; lang/javascript/config.el
|
||||||
|
|
||||||
;; TODO (@load +screeps)
|
;; TODO (load! +screeps)
|
||||||
|
|
||||||
(@def-package js2-mode
|
(def-package! js2-mode
|
||||||
:mode "\\.js$"
|
:mode "\\.js$"
|
||||||
:interpreter "node"
|
:interpreter "node"
|
||||||
:config
|
:config
|
||||||
|
@ -10,19 +10,19 @@
|
||||||
js2-highlight-external-variables nil
|
js2-highlight-external-variables nil
|
||||||
js2-mode-show-parse-errors nil)
|
js2-mode-show-parse-errors nil)
|
||||||
|
|
||||||
(@add-hook js2-mode '(tern-mode flycheck-mode highlight-indent-guides-mode))
|
(add-hook! js2-mode '(tern-mode flycheck-mode highlight-indent-guides-mode))
|
||||||
;; Conform switch-case indentation to editorconfig's config
|
;; Conform switch-case indentation to editorconfig's config
|
||||||
(@add-hook js2-mode (setq js-switch-indent-offset js-indent-level))
|
(add-hook! js2-mode (setq js-switch-indent-offset js-indent-level))
|
||||||
|
|
||||||
(@set :repl 'js2-mode 'nodejs-repl)
|
(set! :repl 'js2-mode 'nodejs-repl)
|
||||||
|
|
||||||
(@set :company-backend 'js2-mode '(company-tern))
|
(set! :company-backend 'js2-mode '(company-tern))
|
||||||
|
|
||||||
(@set :electric 'js2-mode
|
(set! :electric 'js2-mode
|
||||||
:chars ?\} ?\) ?.
|
:chars ?\} ?\) ?.
|
||||||
:words "||" "&&")
|
:words "||" "&&")
|
||||||
|
|
||||||
(@map :map js2-mode-map
|
(map! :map js2-mode-map
|
||||||
:localleader
|
:localleader
|
||||||
:nv ";" 'doom/append-semicolon
|
:nv ";" 'doom/append-semicolon
|
||||||
|
|
||||||
|
@ -55,10 +55,10 @@
|
||||||
:n "ii" 'js2r-wrap-buffer-in-iife))
|
:n "ii" 'js2r-wrap-buffer-in-iife))
|
||||||
|
|
||||||
|
|
||||||
(@def-package nodejs-repl :commands nodejs-repl)
|
(def-package! nodejs-repl :commands nodejs-repl)
|
||||||
|
|
||||||
|
|
||||||
(@def-package js2-refactor
|
(def-package! js2-refactor
|
||||||
:commands
|
:commands
|
||||||
(js2r-extract-function js2r-extract-method js2r-introduce-parameter
|
(js2r-extract-function js2r-extract-method js2r-introduce-parameter
|
||||||
js2r-localize-parameter js2r-expand-object js2r-contract-object
|
js2r-localize-parameter js2r-expand-object js2r-contract-object
|
||||||
|
@ -70,16 +70,16 @@
|
||||||
js2r-debug-this js2r-forward-slurp js2r-forward-barf))
|
js2r-debug-this js2r-forward-slurp js2r-forward-barf))
|
||||||
|
|
||||||
|
|
||||||
(@def-package company-tern
|
(def-package! company-tern
|
||||||
:when (featurep 'company)
|
:when (featurep 'company)
|
||||||
:commands company-tern
|
:commands company-tern
|
||||||
:after tern)
|
:after tern)
|
||||||
|
|
||||||
|
|
||||||
(@def-package jsx-mode :mode "\\.jsx$")
|
(def-package! jsx-mode :mode "\\.jsx$")
|
||||||
|
|
||||||
|
|
||||||
(@def-package coffee-mode
|
(def-package! coffee-mode
|
||||||
:mode "\\.coffee$"
|
:mode "\\.coffee$"
|
||||||
:init (setq coffee-indent-like-python-mode t))
|
:init (setq coffee-indent-like-python-mode t))
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/javascript/packages.el
|
;;; lang/javascript/packages.el
|
||||||
|
|
||||||
(@package coffee-mode)
|
(package! coffee-mode)
|
||||||
(@package js2-mode)
|
(package! js2-mode)
|
||||||
(@package js2-refactor)
|
(package! js2-refactor)
|
||||||
(@package jsx-mode)
|
(package! jsx-mode)
|
||||||
(@package nodejs-repl)
|
(package! nodejs-repl)
|
||||||
(@package tern)
|
(package! tern)
|
||||||
|
|
||||||
(when (@featurep :completion company)
|
(when (featurep! :completion company)
|
||||||
(@package company-tern))
|
(package! company-tern))
|
||||||
|
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
:mode "\\.jl$"
|
:mode "\\.jl$"
|
||||||
:interpreter "julia"
|
:interpreter "julia"
|
||||||
:config
|
:config
|
||||||
(@set :repl 'julia-mode '+julia/repl))
|
(set! :repl 'julia-mode '+julia/repl))
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/julia/packages.el
|
;;; lang/julia/packages.el
|
||||||
|
|
||||||
(@package julia-mode)
|
(package! julia-mode)
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
;; Plugins
|
;; Plugins
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package auctex
|
(def-package! auctex
|
||||||
:mode ("\\.tex$" . LaTeX-mode)
|
:mode ("\\.tex$" . LaTeX-mode)
|
||||||
:init
|
:init
|
||||||
(add-hook 'LaTeX-mode-hook 'turn-on-auto-fill)
|
(add-hook 'LaTeX-mode-hook 'turn-on-auto-fill)
|
||||||
|
@ -23,25 +23,25 @@
|
||||||
TeX-source-correlate-start-server nil
|
TeX-source-correlate-start-server nil
|
||||||
LaTeX-fill-break-at-separators nil)
|
LaTeX-fill-break-at-separators nil)
|
||||||
|
|
||||||
(@add-hook LaTeX-mode '(LaTeX-math-mode TeX-source-correlate-mode))
|
(add-hook! LaTeX-mode '(LaTeX-math-mode TeX-source-correlate-mode))
|
||||||
|
|
||||||
(@set :company-backend 'LaTeX-mode '(company-auctex)))
|
(set! :company-backend 'LaTeX-mode '(company-auctex)))
|
||||||
|
|
||||||
(@def-package company-auctex)
|
(def-package! company-auctex)
|
||||||
|
|
||||||
|
|
||||||
(@def-package bibtex ; built-in
|
(def-package! bibtex ; built-in
|
||||||
:config
|
:config
|
||||||
(setq bibtex-dialect 'biblatex
|
(setq bibtex-dialect 'biblatex
|
||||||
bibtex-align-at-equal-sign t
|
bibtex-align-at-equal-sign t
|
||||||
bibtex-text-indentation 20
|
bibtex-text-indentation 20
|
||||||
bibtex-completion-bibliography (list +latex-bibtex-default-file))
|
bibtex-completion-bibliography (list +latex-bibtex-default-file))
|
||||||
|
|
||||||
(@map :map bibtex-mode-map
|
(map! :map bibtex-mode-map
|
||||||
"C-c \\" 'bibtex-fill-entry))
|
"C-c \\" 'bibtex-fill-entry))
|
||||||
|
|
||||||
|
|
||||||
(@def-package reftex ; built-in
|
(def-package! reftex ; built-in
|
||||||
:commands turn-on-reftex
|
:commands turn-on-reftex
|
||||||
:init
|
:init
|
||||||
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
|
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
|
||||||
|
@ -49,13 +49,13 @@
|
||||||
(setq reftex-plug-into-AUCTeX t
|
(setq reftex-plug-into-AUCTeX t
|
||||||
reftex-default-bibliography (list +latex-bibtex-default-file))
|
reftex-default-bibliography (list +latex-bibtex-default-file))
|
||||||
|
|
||||||
(@map :map reftex-mode-map
|
(map! :map reftex-mode-map
|
||||||
:leader :n ";" 'reftex-toc))
|
:leader :n ";" 'reftex-toc))
|
||||||
|
|
||||||
|
|
||||||
(@def-package ivy-bibtex
|
(def-package! ivy-bibtex
|
||||||
:commands ivy-bibtex)
|
:commands ivy-bibtex)
|
||||||
|
|
||||||
(@def-package helm-bibtex
|
(def-package! helm-bibtex
|
||||||
:commands helm-bibtex)
|
:commands helm-bibtex)
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/latex/packages.el
|
;;; lang/latex/packages.el
|
||||||
|
|
||||||
(@package auctex)
|
(package! auctex)
|
||||||
;; (@package auctex-latexmk)
|
;; (package! auctex-latexmk)
|
||||||
|
|
||||||
(when (@featurep :completion company)
|
(when (featurep! :completion company)
|
||||||
(@package company-auctex))
|
(package! company-auctex))
|
||||||
(when (@featurep :completion ivy)
|
(when (featurep! :completion ivy)
|
||||||
(@package ivy-bibtex))
|
(package! ivy-bibtex))
|
||||||
(when (@featurep :completion helm)
|
(when (featurep! :completion helm)
|
||||||
(@package helm-bibtex))
|
(package! helm-bibtex))
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
;;; lang/lua/config.el --- lua + Love2D
|
;;; lang/lua/config.el --- lua + Love2D
|
||||||
|
|
||||||
(@def-package lua-mode
|
(def-package! lua-mode
|
||||||
:mode "\\.lua$"
|
:mode "\\.lua$"
|
||||||
:interpreter "lua"
|
:interpreter "lua"
|
||||||
:init
|
:init
|
||||||
(add-hook 'lua-mode-hook 'flycheck-mode)
|
(add-hook 'lua-mode-hook 'flycheck-mode)
|
||||||
:config
|
:config
|
||||||
(@set :company-backend 'lua-mode '(company-lua company-yasnippet))
|
(set! :company-backend 'lua-mode '(company-lua company-yasnippet))
|
||||||
(@set :electric 'lua-mode :words '("else" "end"))
|
(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
|
;; sp's lua-specific rules are obnoxious, so we disable them
|
||||||
(setq sp-pairs (delete (assq 'lua-mode sp-pairs) sp-pairs)))
|
(setq sp-pairs (delete (assq 'lua-mode sp-pairs) sp-pairs)))
|
||||||
|
|
||||||
|
|
||||||
(@def-package company-lua
|
(def-package! company-lua
|
||||||
:after lua-mode)
|
:after lua-mode)
|
||||||
|
|
||||||
|
|
||||||
(@def-package moonscript
|
(def-package! moonscript
|
||||||
:mode ("\\.moon$" . moonscript-mode)
|
:mode ("\\.moon$" . moonscript-mode)
|
||||||
:config
|
:config
|
||||||
(push '(moonscript-mode moonscript-indent-offset) editorconfig-indentation-alist))
|
(push '(moonscript-mode moonscript-indent-offset) editorconfig-indentation-alist))
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/lua/packages.el
|
;;; lang/lua/packages.el
|
||||||
|
|
||||||
(@package lua-mode)
|
(package! lua-mode)
|
||||||
(@package moonscript)
|
(package! moonscript)
|
||||||
|
|
||||||
(when (@featurep :completion company)
|
(when (featurep! :completion company)
|
||||||
(@package company-lua))
|
(package! company-lua))
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; lang/markdown/config.el
|
;;; lang/markdown/config.el
|
||||||
|
|
||||||
(@def-package markdown-mode
|
(def-package! markdown-mode
|
||||||
:mode ("\\.m\\(d\\|arkdown\\)$" "/README$"
|
:mode ("\\.m\\(d\\|arkdown\\)$" "/README$"
|
||||||
("/README\\.md$" . gfm-mode))
|
("/README\\.md$" . gfm-mode))
|
||||||
:init
|
:init
|
||||||
|
@ -11,9 +11,9 @@
|
||||||
markdown-gfm-additional-languages '("sh"))
|
markdown-gfm-additional-languages '("sh"))
|
||||||
|
|
||||||
:config
|
:config
|
||||||
(@set :electric 'markdown-mode :chars '(?+ ?#))
|
(set! :electric 'markdown-mode :chars '(?+ ?#))
|
||||||
|
|
||||||
(@add-hook markdown-mode
|
(add-hook! markdown-mode
|
||||||
(auto-fill-mode +1)
|
(auto-fill-mode +1)
|
||||||
(setq line-spacing 2
|
(setq line-spacing 2
|
||||||
fill-column 70))
|
fill-column 70))
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
'(markdown-mode gfm-mode)
|
'(markdown-mode gfm-mode)
|
||||||
"\`\`\`" "\`\`\`" :post-handlers '(("||\n" "RET")))
|
"\`\`\`" "\`\`\`" :post-handlers '(("||\n" "RET")))
|
||||||
|
|
||||||
(@map :map gfm-mode-map
|
(map! :map gfm-mode-map
|
||||||
"`" 'self-insert-command
|
"`" 'self-insert-command
|
||||||
|
|
||||||
:map markdown-mode-map
|
:map markdown-mode-map
|
||||||
|
@ -54,6 +54,6 @@
|
||||||
:nv "L" 'markdown-insert-reference-link-dwim))))
|
:nv "L" 'markdown-insert-reference-link-dwim))))
|
||||||
|
|
||||||
|
|
||||||
(@def-package markdown-toc
|
(def-package! markdown-toc
|
||||||
:commands markdown-toc-generate-toc)
|
:commands markdown-toc-generate-toc)
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/markdown/packages.el
|
;;; lang/markdown/packages.el
|
||||||
|
|
||||||
(@package markdown-mode)
|
(package! markdown-mode)
|
||||||
(@package markdown-toc)
|
(package! markdown-toc)
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
;;; lang/octave/config.el
|
;;; lang/octave/config.el
|
||||||
|
|
||||||
;; built-in
|
;; built-in
|
||||||
(@def-package octave
|
(def-package! octave
|
||||||
:mode (("\\.m$" . octave-mode))
|
:mode (("\\.m$" . octave-mode))
|
||||||
:commands (octave-mode run-octave)
|
:commands (octave-mode run-octave)
|
||||||
:config (@set :repl 'octave-mode 'run-octave))
|
:config (set! :repl 'octave-mode 'run-octave))
|
||||||
|
|
||||||
;; (use-package ac-octave
|
;; (use-package ac-octave
|
||||||
;; :config
|
;; :config
|
||||||
;; (@add-hook octave-mode
|
;; (add-hook! octave-mode
|
||||||
;; (require 'ac-octave)
|
;; (require 'ac-octave)
|
||||||
;; (setq ac-sources '(ac-source-octave))))
|
;; (setq ac-sources '(ac-source-octave))))
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,6 @@
|
||||||
,@dnd-protocol-alist))
|
,@dnd-protocol-alist))
|
||||||
|
|
||||||
;; keybinds
|
;; keybinds
|
||||||
;; (@map :leader :n "oa" (@find-file-in +org-attachment-dir))
|
;; (map! :leader :n "oa" (find-file-in! +org-attachment-dir))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
(require 'org-capture)
|
(require 'org-capture)
|
||||||
(require 'org-protocol)
|
(require 'org-protocol)
|
||||||
(@set :popup "*Org Select*" :size 0.4)
|
(set! :popup "*Org Select*" :size 0.4)
|
||||||
|
|
||||||
(defadvice org-capture (after make-full-window-frame activate)
|
(defadvice org-capture (after make-full-window-frame activate)
|
||||||
"If org-capture creates a new frame, this initializes it properly, by
|
"If org-capture creates a new frame, this initializes it properly, by
|
||||||
|
|
|
@ -23,6 +23,6 @@
|
||||||
;; (setq org-pandoc-options '((standalone . t) (mathjax . t) (parse-raw . t)))
|
;; (setq org-pandoc-options '((standalone . t) (mathjax . t) (parse-raw . t)))
|
||||||
|
|
||||||
;; keybinds
|
;; keybinds
|
||||||
;; (@map :leader :n "oe" (@find-file-in org-export-directory))
|
;; (map! :leader :n "oe" (find-file-in! org-export-directory))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -35,9 +35,9 @@
|
||||||
;; "A list of attachments for the current buffer. This is so my custom attachment
|
;; "A list of attachments for the current buffer. This is so my custom attachment
|
||||||
;; system can keep track of each buffer's attachments.")
|
;; system can keep track of each buffer's attachments.")
|
||||||
|
|
||||||
(@load +attach)
|
(load! +attach)
|
||||||
(@load +capture)
|
(load! +capture)
|
||||||
(@load +export)
|
(load! +export)
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
@ -75,7 +75,7 @@
|
||||||
:keymap (make-sparse-keymap)
|
:keymap (make-sparse-keymap)
|
||||||
:group 'evil-org)
|
:group 'evil-org)
|
||||||
|
|
||||||
(@set :popup
|
(set! :popup
|
||||||
'(" *Agenda Commands*" :size 30 :noselect t)
|
'(" *Agenda Commands*" :size 30 :noselect t)
|
||||||
'(" *Org todo*" :size 5 :noselect t)
|
'(" *Org todo*" :size 5 :noselect t)
|
||||||
'("*Calendar*" :size 0.4 :noselect t)
|
'("*Calendar*" :size 0.4 :noselect t)
|
||||||
|
@ -216,10 +216,10 @@
|
||||||
(sp-local-pair "{" nil))
|
(sp-local-pair "{" nil))
|
||||||
|
|
||||||
;; bullets
|
;; bullets
|
||||||
(@def-package org-bullets :commands org-bullets-mode)
|
(def-package! org-bullets :commands org-bullets-mode)
|
||||||
|
|
||||||
;; Keybinds
|
;; Keybinds
|
||||||
(@map (:map org-mode-map
|
(map! (:map org-mode-map
|
||||||
"RET" nil
|
"RET" nil
|
||||||
"C-j" nil
|
"C-j" nil
|
||||||
"C-k" nil
|
"C-k" nil
|
||||||
|
@ -262,18 +262,18 @@
|
||||||
:nv "k" 'evil-previous-visual-line
|
:nv "k" 'evil-previous-visual-line
|
||||||
:v "<S-tab>" '+snippets/expand-on-region
|
:v "<S-tab>" '+snippets/expand-on-region
|
||||||
|
|
||||||
:i "M-a" (@λ (evil-visual-state) (org-mark-element))
|
:i "M-a" (λ! (evil-visual-state) (org-mark-element))
|
||||||
:n "M-a" 'org-mark-element
|
:n "M-a" 'org-mark-element
|
||||||
:v "M-a" 'mark-whole-buffer
|
:v "M-a" 'mark-whole-buffer
|
||||||
|
|
||||||
:ni "<M-return>" (@λ (+org/insert-item 'below))
|
:ni "<M-return>" (λ! (+org/insert-item 'below))
|
||||||
:ni "<S-M-return>" (@λ (+org/insert-item 'above))
|
:ni "<S-M-return>" (λ! (+org/insert-item 'above))
|
||||||
|
|
||||||
;; Formatting shortcuts
|
;; Formatting shortcuts
|
||||||
:i "M-b" (@λ (+org-surround "*")) ; bold
|
:i "M-b" (λ! (+org-surround "*")) ; bold
|
||||||
:i "M-u" (@λ (+org-surround "_")) ; underline
|
:i "M-u" (λ! (+org-surround "_")) ; underline
|
||||||
:i "M-i" (@λ (+org-surround "/")) ; italics
|
:i "M-i" (λ! (+org-surround "/")) ; italics
|
||||||
:i "M-`" (@λ (+org-surround "+")) ; strikethrough
|
:i "M-`" (λ! (+org-surround "+")) ; strikethrough
|
||||||
|
|
||||||
:v "M-b" "S*"
|
:v "M-b" "S*"
|
||||||
:v "M-u" "S_"
|
:v "M-u" "S_"
|
||||||
|
@ -288,17 +288,17 @@
|
||||||
:n "?" 'org-tags-view
|
:n "?" 'org-tags-view
|
||||||
:n "D" 'org-deadline
|
:n "D" 'org-deadline
|
||||||
:nv "L" 'org-store-link
|
:nv "L" 'org-store-link
|
||||||
:n "R" (@λ (org-metaleft) (org-archive-to-archive-sibling)) ; archive to parent sibling
|
:n "R" (λ! (org-metaleft) (org-archive-to-archive-sibling)) ; archive to parent sibling
|
||||||
:n "T" 'org-todo
|
:n "T" 'org-todo
|
||||||
:n "a" 'org-agenda
|
:n "a" 'org-agenda
|
||||||
:n "d" 'org-time-stamp
|
:n "d" 'org-time-stamp
|
||||||
:n "e" 'org-edit-special
|
:n "e" 'org-edit-special
|
||||||
:n "l" 'org-insert-link
|
:n "l" 'org-insert-link
|
||||||
:n "n" (@λ (if (buffer-narrowed-p) (widen) (org-narrow-to-subtree)))
|
:n "n" (λ! (if (buffer-narrowed-p) (widen) (org-narrow-to-subtree)))
|
||||||
:n "r" 'org-refile
|
:n "r" 'org-refile
|
||||||
:n "s" 'org-schedule
|
:n "s" 'org-schedule
|
||||||
:n "t" (@λ (org-todo (if (org-entry-is-todo-p) 'none 'todo)))
|
:n "t" (λ! (org-todo (if (org-entry-is-todo-p) 'none 'todo)))
|
||||||
:v "t" (@λ (evil-ex-normal evil-visual-beginning evil-visual-end "\\t"))
|
:v "t" (λ! (evil-ex-normal evil-visual-beginning evil-visual-end "\\t"))
|
||||||
:n "v" 'variable-pitch-mode
|
:n "v" 'variable-pitch-mode
|
||||||
;; :n "w" 'writing-mode
|
;; :n "w" 'writing-mode
|
||||||
;; :n "x" '+org/remove-link
|
;; :n "x" '+org/remove-link
|
||||||
|
@ -308,25 +308,25 @@
|
||||||
:n "za" '+org/toggle-fold
|
:n "za" '+org/toggle-fold
|
||||||
:n "zA" 'org-shifttab
|
:n "zA" 'org-shifttab
|
||||||
:n "zc" 'outline-hide-subtree
|
:n "zc" 'outline-hide-subtree
|
||||||
:n "zC" (@λ (outline-hide-sublevels 1))
|
:n "zC" (λ! (outline-hide-sublevels 1))
|
||||||
:n "zd" (lambda (&optional arg) (interactive "p") (outline-hide-sublevels (or arg 3)))
|
:n "zd" (lambda (&optional arg) (interactive "p") (outline-hide-sublevels (or arg 3)))
|
||||||
:n "zm" (@λ (outline-hide-sublevels 1))
|
:n "zm" (λ! (outline-hide-sublevels 1))
|
||||||
:n "zo" 'outline-show-subtree
|
:n "zo" 'outline-show-subtree
|
||||||
:n "zO" 'outline-show-all
|
:n "zO" 'outline-show-all
|
||||||
:n "zr" 'outline-show-all
|
:n "zr" 'outline-show-all
|
||||||
|
|
||||||
:m "]]" (@λ (call-interactively 'org-forward-heading-same-level) (org-beginning-of-line))
|
: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 "[[" (λ! (call-interactively 'org-backward-heading-same-level) (org-beginning-of-line))
|
||||||
:m "]l" 'org-next-link
|
:m "]l" 'org-next-link
|
||||||
:m "[l" 'org-previous-link
|
:m "[l" 'org-previous-link
|
||||||
|
|
||||||
:m "gh" 'outline-up-heading
|
:m "gh" 'outline-up-heading
|
||||||
:m "gj" 'org-forward-heading-same-level
|
:m "gj" 'org-forward-heading-same-level
|
||||||
:m "gk" 'org-backward-heading-same-level
|
:m "gk" 'org-backward-heading-same-level
|
||||||
:m "gl" (@λ (call-interactively 'outline-next-visible-heading) (show-children))
|
: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))
|
:n "gO" (λ! (let ((org-link-frame-setup (append '((file . find-file-other-window)) org-link-frame-setup))
|
||||||
(org-file-apps '(("\\.org$" . emacs)
|
(org-file-apps '(("\\.org$" . emacs)
|
||||||
(t . "open \"%s\""))))
|
(t . "open \"%s\""))))
|
||||||
(call-interactively 'org-open-at-point)))
|
(call-interactively 'org-open-at-point)))
|
||||||
|
@ -336,13 +336,13 @@
|
||||||
:m "^" 'org-beginning-of-line
|
:m "^" 'org-beginning-of-line
|
||||||
:n "<" 'org-metaleft
|
:n "<" 'org-metaleft
|
||||||
:n ">" 'org-metaright
|
:n ">" 'org-metaright
|
||||||
:v "<" (@λ (org-metaleft) (evil-visual-restore))
|
:v "<" (λ! (org-metaleft) (evil-visual-restore))
|
||||||
:v ">" (@λ (org-metaright) (evil-visual-restore))
|
:v ">" (λ! (org-metaright) (evil-visual-restore))
|
||||||
:n "-" 'org-cycle-list-bullet
|
:n "-" 'org-cycle-list-bullet
|
||||||
:m "<tab>" 'org-cycle)
|
:m "<tab>" 'org-cycle)
|
||||||
|
|
||||||
(:map org-src-mode-map
|
(:map org-src-mode-map
|
||||||
:n "<escape>" (@λ (message "Exited") (org-edit-src-exit)))
|
:n "<escape>" (λ! (message "Exited") (org-edit-src-exit)))
|
||||||
|
|
||||||
(:after org-agenda
|
(:after org-agenda
|
||||||
(:map org-agenda-mode-map
|
(:map org-agenda-mode-map
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/org/packages.el
|
;;; lang/org/packages.el
|
||||||
|
|
||||||
(@package org-plus-contrib :pin "org")
|
(package! org-plus-contrib :pin "org")
|
||||||
(@package org-download)
|
(package! org-download)
|
||||||
;; (@package ox-pandox)
|
;; (package! ox-pandox)
|
||||||
;; (@package org-bullets)
|
;; (package! org-bullets)
|
||||||
;; (@package ob-go :recipe (:fetcher github :repo "pope/ob-go"))
|
;; (package! ob-go :recipe (:fetcher github :repo "pope/ob-go"))
|
||||||
;; (@package ob-http)
|
;; (package! ob-http)
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
;;; lang/php/config.el
|
;;; lang/php/config.el
|
||||||
|
|
||||||
;; (@def-package hack-mode
|
;; (def-package! hack-mode
|
||||||
;; :mode "\\.hh$"
|
;; :mode "\\.hh$"
|
||||||
;; :config
|
;; :config
|
||||||
;; (@set :company-backend 'hack-mode '(company-capf)))
|
;; (set! :company-backend 'hack-mode '(company-capf)))
|
||||||
|
|
||||||
|
|
||||||
(@def-package php-mode
|
(def-package! php-mode
|
||||||
:mode ("\\.php[s345]?$" "\\.inc$")
|
:mode ("\\.php[s345]?$" "\\.inc$")
|
||||||
:interpreter "php"
|
:interpreter "php"
|
||||||
:init
|
:init
|
||||||
|
@ -14,10 +14,10 @@
|
||||||
:config
|
:config
|
||||||
(setq php-template-compatibility nil)
|
(setq php-template-compatibility nil)
|
||||||
|
|
||||||
(@set :repl 'php-mode 'php-boris)
|
(set! :repl 'php-mode 'php-boris)
|
||||||
(@set :company-bakend 'php-mode '(php-extras-company company-yasnippet))
|
(set! :company-bakend 'php-mode '(php-extras-company company-yasnippet))
|
||||||
|
|
||||||
(@add-hook php-mode (setq-local sp-max-pair-length 6))
|
(add-hook! php-mode (setq-local sp-max-pair-length 6))
|
||||||
|
|
||||||
(sp-with-modes '(php-mode)
|
(sp-with-modes '(php-mode)
|
||||||
(sp-local-pair "/*" "*/" :post-handlers '(("||\n[i]" "RET") ("| " "SPC")))
|
(sp-local-pair "/*" "*/" :post-handlers '(("||\n[i]" "RET") ("| " "SPC")))
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
(sp-local-pair "<?" "?>" :when '(("RET")) :post-handlers '("||\n[i]"))
|
(sp-local-pair "<?" "?>" :when '(("RET")) :post-handlers '("||\n[i]"))
|
||||||
(sp-local-pair "<?php" "?>" :when '(("RET")) :post-handlers '("||\n[i]")))
|
(sp-local-pair "<?php" "?>" :when '(("RET")) :post-handlers '("||\n[i]")))
|
||||||
|
|
||||||
(@map :map php-mode-map
|
(map! :map php-mode-map
|
||||||
:localleader
|
:localleader
|
||||||
:nv ";" 'doom/append-semicolon
|
:nv ";" 'doom/append-semicolon
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
:n "s" 'phpunit-current-test))
|
:n "s" 'phpunit-current-test))
|
||||||
|
|
||||||
|
|
||||||
(@def-package php-extras
|
(def-package! php-extras
|
||||||
:after php-mode
|
:after php-mode
|
||||||
:init
|
:init
|
||||||
(add-hook 'php-mode-hook 'eldoc-mode)
|
(add-hook 'php-mode-hook 'eldoc-mode)
|
||||||
|
@ -65,28 +65,28 @@
|
||||||
(message "PHP eldoc updated!")))))
|
(message "PHP eldoc updated!")))))
|
||||||
|
|
||||||
|
|
||||||
(@def-package php-refactor-mode
|
(def-package! php-refactor-mode
|
||||||
:commands 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
|
(def-package! phpunit
|
||||||
:commands (phpunit-current-test phpunit-current-class phpunit-current-project))
|
:commands (phpunit-current-test phpunit-current-class phpunit-current-project))
|
||||||
|
|
||||||
|
|
||||||
(@def-package php-boris :commands php-boris)
|
(def-package! php-boris :commands php-boris)
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; Projects
|
;; Projects
|
||||||
;;
|
;;
|
||||||
|
|
||||||
;; (@def-project laravel "laravel"
|
;; (def-project! laravel "laravel"
|
||||||
;; :modes (php-mode yaml-mode web-mode nxml-mode js2-mode scss-mode)
|
;; :modes (php-mode yaml-mode web-mode nxml-mode js2-mode scss-mode)
|
||||||
;; :files ("artisan" "server.php"))
|
;; :files ("artisan" "server.php"))
|
||||||
|
|
||||||
;; (defvar php-composer-conf (make-hash-table :test 'equal))
|
;; (defvar php-composer-conf (make-hash-table :test 'equal))
|
||||||
;; (@def-project composer "composer"
|
;; (def-project! composer "composer"
|
||||||
;; :modes (web-mode php-mode)
|
;; :modes (web-mode php-mode)
|
||||||
;; :files ("composer.json")
|
;; :files ("composer.json")
|
||||||
;; :when
|
;; :when
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/php/packages.el
|
;;; lang/php/packages.el
|
||||||
|
|
||||||
(@package php-boris)
|
(package! php-boris)
|
||||||
(@package php-extras :recipe (:fetcher github :repo "arnested/php-extras"))
|
(package! php-extras :recipe (:fetcher github :repo "arnested/php-extras"))
|
||||||
(@package php-mode)
|
(package! php-mode)
|
||||||
(@package php-refactor-mode)
|
(package! php-refactor-mode)
|
||||||
(@package phpunit)
|
(package! phpunit)
|
||||||
|
|
||||||
;; (@package hack-mode
|
;; (package! hack-mode
|
||||||
;; :recipe
|
;; :recipe
|
||||||
;; (:fetcher url :url "https://raw.githubusercontent.com/facebook/hhvm/master/hphp/hack/editor-plugins/emacs/hack-mode.el"))
|
;; (:fetcher url :url "https://raw.githubusercontent.com/facebook/hhvm/master/hphp/hack/editor-plugins/emacs/hack-mode.el"))
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
;;; module-processing.el
|
;;; module-processing.el
|
||||||
|
|
||||||
(@def-package processing-mode
|
(def-package! processing-mode
|
||||||
:commands (processing-mode processing-find-sketch)
|
:commands (processing-mode processing-find-sketch)
|
||||||
:mode "\\.pde$"
|
:mode "\\.pde$"
|
||||||
:init
|
:init
|
||||||
(add-hook 'processing-compilation-mode-hook 'doom-hide-modeline-mode)
|
(add-hook 'processing-compilation-mode-hook 'doom-hide-modeline-mode)
|
||||||
:config
|
: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! :popup "*processing-compilation*" :size 10 :noselect t)
|
||||||
(@set :eval 'processing-mode
|
(set! :eval 'processing-mode
|
||||||
'((:command . ,processing-location)
|
'((:command . ,processing-location)
|
||||||
(:exec . (lambda () (format "--sketch=%s --output=%s --force --run"
|
(:exec . (lambda () (format "--sketch=%s --output=%s --force --run"
|
||||||
(doom/project-root) processing-output-dir)))
|
(doom/project-root) processing-output-dir)))
|
||||||
(:description . "Run Processing sketch")))
|
(:description . "Run Processing sketch")))
|
||||||
(@set :company-backend 'processing-mode
|
(set! :company-backend 'processing-mode
|
||||||
'(company-keywords :with company-yasnippet company-dabbrev-code))
|
'(company-keywords :with company-yasnippet company-dabbrev-code))
|
||||||
|
|
||||||
(setq processing-location "/usr/local/bin/processing-java"
|
(setq processing-location "/usr/local/bin/processing-java"
|
||||||
|
@ -21,7 +21,7 @@
|
||||||
processing-sketchbook-dir "~/Dropbox/work/pde"
|
processing-sketchbook-dir "~/Dropbox/work/pde"
|
||||||
processing-output-dir "/tmp")
|
processing-output-dir "/tmp")
|
||||||
|
|
||||||
(@map :map processing-mode-map
|
(map! :map processing-mode-map
|
||||||
:nv "M-r" 'processing-sketch-run
|
:nv "M-r" 'processing-sketch-run
|
||||||
:m "gd" 'processing-find-in-reference
|
:m "gd" 'processing-find-in-reference
|
||||||
:m "gF" 'processing-find-sketch
|
:m "gF" 'processing-find-sketch
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
:n "e" 'processing-open-examples
|
:n "e" 'processing-open-examples
|
||||||
:n "o" 'processing-open-sketchbook)
|
:n "o" 'processing-open-sketchbook)
|
||||||
|
|
||||||
(@after company-keywords
|
(after! company-keywords
|
||||||
(nconc company-keywords-alist
|
(nconc company-keywords-alist
|
||||||
(cons 'processing-mode (append processing-functions
|
(cons 'processing-mode (append processing-functions
|
||||||
processing-builtins
|
processing-builtins
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/processing/packages.el
|
;;; lang/processing/packages.el
|
||||||
|
|
||||||
(@package processing-mode)
|
(package! processing-mode)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; lang/python/config.el
|
;;; lang/python/config.el
|
||||||
|
|
||||||
(@def-package python
|
(def-package! python
|
||||||
:commands python-mode
|
:commands python-mode
|
||||||
:init
|
:init
|
||||||
(setq python-environment-directory doom-cache-dir
|
(setq python-environment-directory doom-cache-dir
|
||||||
|
@ -17,11 +17,11 @@
|
||||||
(add-hook 'python-mode-hook 'flycheck-mode)
|
(add-hook 'python-mode-hook 'flycheck-mode)
|
||||||
|
|
||||||
:config
|
:config
|
||||||
(@set :repl 'python-mode '+python/repl)
|
(set! :repl 'python-mode '+python/repl)
|
||||||
(define-key python-mode-map (kbd "DEL") nil)) ; interferes with smartparens
|
(define-key python-mode-map (kbd "DEL") nil)) ; interferes with smartparens
|
||||||
|
|
||||||
|
|
||||||
(@def-package anaconda-mode
|
(def-package! anaconda-mode
|
||||||
:after python
|
:after python
|
||||||
:init
|
:init
|
||||||
(add-hook 'python-mode-hook 'anaconda-mode)
|
(add-hook 'python-mode-hook 'anaconda-mode)
|
||||||
|
@ -30,17 +30,17 @@
|
||||||
anaconda-mode-eldoc-as-single-line t)
|
anaconda-mode-eldoc-as-single-line t)
|
||||||
|
|
||||||
:config
|
:config
|
||||||
(@set :company-backend 'python-mode '(company-anaconda))
|
(set! :company-backend 'python-mode '(company-anaconda))
|
||||||
|
|
||||||
(@map :map anaconda-mode-map :m "gd" 'anaconda-mode-find-definitions
|
(map! :map anaconda-mode-map :m "gd" 'anaconda-mode-find-definitions
|
||||||
:map anaconda-nav-mode-map :n [escape] 'anaconda-nav-quit)
|
:map anaconda-nav-mode-map :n [escape] 'anaconda-nav-quit)
|
||||||
|
|
||||||
(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
|
(def-package! company-anaconda
|
||||||
:after anaconda-mode
|
:after anaconda-mode
|
||||||
:config
|
:config
|
||||||
(@set :emr 'python-mode
|
(set! :emr 'python-mode
|
||||||
'(:nv anaconda-mode-show-doc "view documentation")
|
'(:nv anaconda-mode-show-doc "view documentation")
|
||||||
'(:nv anaconda-mode-find-assignments "find assignments")
|
'(:nv anaconda-mode-find-assignments "find assignments")
|
||||||
'(:nv anaconda-mode-find-definitions "find definitions")
|
'(:nv anaconda-mode-find-definitions "find definitions")
|
||||||
|
@ -48,20 +48,20 @@
|
||||||
'(:n anaconda-mode-find-references "show usages")))
|
'(:n anaconda-mode-find-references "show usages")))
|
||||||
|
|
||||||
|
|
||||||
(@def-package pip-requirements
|
(def-package! pip-requirements
|
||||||
:mode ("/requirements.txt$" . pip-requirements-mode))
|
:mode ("/requirements.txt$" . pip-requirements-mode))
|
||||||
|
|
||||||
|
|
||||||
(@def-package nose
|
(def-package! nose
|
||||||
:commands nose-mode
|
:commands nose-mode
|
||||||
:preface
|
:preface
|
||||||
(defvar nose-mode-map (make-sparse-keymap))
|
(defvar nose-mode-map (make-sparse-keymap))
|
||||||
:init
|
:init
|
||||||
(@associate nose-mode :match "/test_.+\\.py$" :in (python-mode))
|
(associate! nose-mode :match "/test_.+\\.py$" :in (python-mode))
|
||||||
:config
|
:config
|
||||||
(@set :popup "*nosetests*" :size 0.4 :noselect t)
|
(set! :popup "*nosetests*" :size 0.4 :noselect t)
|
||||||
(@set :yas-minor-mode 'nose-mode)
|
(set! :yas-minor-mode 'nose-mode)
|
||||||
(@map :map nose-mode-map
|
(map! :map nose-mode-map
|
||||||
:localleader
|
:localleader
|
||||||
:n "tr" 'nosetests-again
|
:n "tr" 'nosetests-again
|
||||||
:n "ta" 'nosetests-all
|
:n "ta" 'nosetests-all
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/python/packages.el
|
;;; lang/python/packages.el
|
||||||
|
|
||||||
(@package anaconda-mode)
|
(package! anaconda-mode)
|
||||||
(@package nose)
|
(package! nose)
|
||||||
(@package pip-requirements)
|
(package! pip-requirements)
|
||||||
|
|
||||||
(when (@featurep :completion company)
|
(when (featurep! :completion company)
|
||||||
(@package company-anaconda))
|
(package! company-anaconda))
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
;;; lang/ruby/config.el
|
;;; lang/ruby/config.el
|
||||||
|
|
||||||
(@def-package ruby-mode
|
(def-package! ruby-mode
|
||||||
:mode ("\\.rb$" "\\.rake$" "\\.gemspec$" "\\.?pryrc$"
|
:mode ("\\.rb$" "\\.rake$" "\\.gemspec$" "\\.?pryrc$"
|
||||||
"/\\(Gem\\|Cap\\|Vagrant\\|Rake\\)file$")
|
"/\\(Gem\\|Cap\\|Vagrant\\|Rake\\)file$")
|
||||||
:interpreter "ruby"
|
:interpreter "ruby"
|
||||||
:init
|
:init
|
||||||
(add-hook 'ruby-mode-hook 'flycheck-mode)
|
(add-hook 'ruby-mode-hook 'flycheck-mode)
|
||||||
:config
|
:config
|
||||||
(@set :build 'rake 'ruby-mode '+ruby/rake)
|
(set! :build 'rake 'ruby-mode '+ruby/rake)
|
||||||
(@set :company-backend 'ruby-mode '(company-dabbrev-code))
|
(set! :company-backend 'ruby-mode '(company-dabbrev-code))
|
||||||
(@set :electric 'ruby-mode :words '("else" "end" "elseif"))
|
(set! :electric 'ruby-mode :words '("else" "end" "elseif"))
|
||||||
(@set :repl 'ruby-mode 'inf-ruby)
|
(set! :repl 'ruby-mode 'inf-ruby)
|
||||||
(setq ruby-deep-indent-paren t)
|
(setq ruby-deep-indent-paren t)
|
||||||
;; Don't interfere with my custom RET behavior
|
;; Don't interfere with my custom RET behavior
|
||||||
(define-key ruby-mode-map [?\n] nil)
|
(define-key ruby-mode-map [?\n] nil)
|
||||||
|
|
||||||
(@map :map ruby-mode-map
|
(map! :map ruby-mode-map
|
||||||
:localleader
|
:localleader
|
||||||
:prefix "r"
|
:prefix "r"
|
||||||
:desc "toggle block" :nv "b" 'ruby-toggle-block
|
:desc "toggle block" :nv "b" 'ruby-toggle-block
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
:desc "convert post conditional" :nv "cc" 'ruby-refactor-convert-post-conditional))
|
:desc "convert post conditional" :nv "cc" 'ruby-refactor-convert-post-conditional))
|
||||||
|
|
||||||
|
|
||||||
(@def-package ruby-refactor
|
(def-package! ruby-refactor
|
||||||
:commands
|
:commands
|
||||||
(ruby-refactor-extract-to-method ruby-refactor-extract-local-variable
|
(ruby-refactor-extract-to-method ruby-refactor-extract-local-variable
|
||||||
ruby-refactor-extract-constant ruby-refactor-add-parameter
|
ruby-refactor-extract-constant ruby-refactor-add-parameter
|
||||||
|
@ -35,16 +35,16 @@
|
||||||
|
|
||||||
|
|
||||||
;; Highlight doc comments
|
;; Highlight doc comments
|
||||||
(@def-package yard-mode
|
(def-package! yard-mode
|
||||||
:commands 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
|
(def-package! rspec-mode
|
||||||
:mode ("/\\.rspec$" . text-mode)
|
:mode ("/\\.rspec$" . text-mode)
|
||||||
:init
|
:init
|
||||||
(@associate rspec-mode :match "/\\.rspec$")
|
(associate! rspec-mode :match "/\\.rspec$")
|
||||||
(@associate rspec-mode :in (ruby-mode yaml-mode) :files ("/spec/"))
|
(associate! rspec-mode :in (ruby-mode yaml-mode) :files ("/spec/"))
|
||||||
(defvar rspec-mode-verifiable-map (make-sparse-keymap))
|
(defvar rspec-mode-verifiable-map (make-sparse-keymap))
|
||||||
(defvar evilmi-ruby-match-tags
|
(defvar evilmi-ruby-match-tags
|
||||||
'((("unless" "if") ("elsif" "else") "end")
|
'((("unless" "if") ("elsif" "else") "end")
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
;; Rake
|
;; Rake
|
||||||
(("task" "namespace") () "end")))
|
(("task" "namespace") () "end")))
|
||||||
:config
|
:config
|
||||||
(@map :map rspec-mode-map
|
(map! :map rspec-mode-map
|
||||||
:localleader
|
:localleader
|
||||||
:n "tr" 'rspec-rerun
|
:n "tr" 'rspec-rerun
|
||||||
:n "ta" 'rspec-verify-all
|
:n "ta" 'rspec-verify-all
|
||||||
|
@ -62,19 +62,19 @@
|
||||||
:n "tv" 'rspec-verify))
|
:n "tv" 'rspec-verify))
|
||||||
|
|
||||||
|
|
||||||
(@def-package inf-ruby
|
(def-package! inf-ruby
|
||||||
:commands (inf-ruby inf-ruby-console-auto)
|
:commands (inf-ruby inf-ruby-console-auto)
|
||||||
:config
|
:config
|
||||||
(@set :company-backend 'inf-ruby-mode '(company-inf-ruby)))
|
(set! :company-backend 'inf-ruby-mode '(company-inf-ruby)))
|
||||||
|
|
||||||
|
|
||||||
(@def-package company-inf-ruby
|
(def-package! company-inf-ruby
|
||||||
:after inf-ruby)
|
:after inf-ruby)
|
||||||
|
|
||||||
;;
|
;;
|
||||||
;; TODO Frameworks
|
;; TODO Frameworks
|
||||||
;;
|
;;
|
||||||
|
|
||||||
;; (@def-project rake "rake"
|
;; (def-project! rake "rake"
|
||||||
;; :files ("Rakefile"))
|
;; :files ("Rakefile"))
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/ruby/packages.el
|
;;; lang/ruby/packages.el
|
||||||
|
|
||||||
(@package inf-ruby)
|
(package! inf-ruby)
|
||||||
(@package rspec-mode)
|
(package! rspec-mode)
|
||||||
(@package ruby-refactor)
|
(package! ruby-refactor)
|
||||||
(@package yard-mode)
|
(package! yard-mode)
|
||||||
|
|
||||||
(when (@featurep :completion company)
|
(when (featurep! :completion company)
|
||||||
(@package company-inf-ruby))
|
(package! company-inf-ruby))
|
||||||
|
|
|
@ -3,33 +3,33 @@
|
||||||
(defvar +rust-cache-dir (concat doom-cache-dir "+rust/")
|
(defvar +rust-cache-dir (concat doom-cache-dir "+rust/")
|
||||||
"TODO")
|
"TODO")
|
||||||
|
|
||||||
(@def-package rust-mode
|
(def-package! rust-mode
|
||||||
:mode "\\.rs$"
|
:mode "\\.rs$"
|
||||||
:init
|
:init
|
||||||
(add-hook 'rust-mode-hook 'flycheck-mode)
|
(add-hook 'rust-mode-hook 'flycheck-mode)
|
||||||
:config
|
:config
|
||||||
(@set :build 'cargo-run '(rust-mode toml-mode)
|
(set! :build 'cargo-run '(rust-mode toml-mode)
|
||||||
'+rust-is-cargo-project-p '+rust/cargo-run))
|
'+rust-is-cargo-project-p '+rust/cargo-run))
|
||||||
|
|
||||||
|
|
||||||
(@def-package racer
|
(def-package! racer
|
||||||
:after rust-mode
|
:after rust-mode
|
||||||
:preface
|
:preface
|
||||||
:init
|
:init
|
||||||
(@add-hook rust-mode '(racer-mode eldoc-mode flycheck-rust-setup))
|
(add-hook! rust-mode '(racer-mode eldoc-mode flycheck-rust-setup))
|
||||||
:config
|
:config
|
||||||
(setq racer-cmd (expand-file-name "racer/target/release/racer" +rust-cache-dir)
|
(setq racer-cmd (expand-file-name "racer/target/release/racer" +rust-cache-dir)
|
||||||
racer-rust-src-path (expand-file-name "rust/src/" +rust-cache-dir))
|
racer-rust-src-path (expand-file-name "rust/src/" +rust-cache-dir))
|
||||||
|
|
||||||
;; TODO Unit test keybinds
|
;; TODO Unit test keybinds
|
||||||
(@set :company-backend 'rust-mode '(company-racer))
|
(set! :company-backend 'rust-mode '(company-racer))
|
||||||
(@map :map rust-mode-map :m "gd" 'racer-find-definition))
|
(map! :map rust-mode-map :m "gd" 'racer-find-definition))
|
||||||
|
|
||||||
|
|
||||||
(@def-package company-racer
|
(def-package! company-racer
|
||||||
:after racer)
|
:after racer)
|
||||||
|
|
||||||
|
|
||||||
(@def-package flycheck-rust
|
(def-package! flycheck-rust
|
||||||
:after rust-mode)
|
:after rust-mode)
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/rust/packages.el
|
;;; lang/rust/packages.el
|
||||||
|
|
||||||
(@package racer)
|
(package! racer)
|
||||||
(@package rust-mode)
|
(package! rust-mode)
|
||||||
|
|
||||||
(when (@featurep :feature syntax-checker)
|
(when (featurep! :feature syntax-checker)
|
||||||
(@package flycheck-rust))
|
(package! flycheck-rust))
|
||||||
(when (@featurep :completion company)
|
(when (featurep! :completion company)
|
||||||
(@package company-racer))
|
(package! company-racer))
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
;;; lang/scala/config.el
|
;;; lang/scala/config.el
|
||||||
|
|
||||||
(@def-package scala-mode
|
(def-package! scala-mode
|
||||||
:mode "\\.s\\(cala\\|bt\\)$"
|
:mode "\\.s\\(cala\\|bt\\)$"
|
||||||
:init
|
:init
|
||||||
(add-hook 'scala-mode-hook 'eldoc-mode)
|
(add-hook 'scala-mode-hook 'eldoc-mode)
|
||||||
:config
|
:config
|
||||||
(@set :company-backend 'scala-mode '(ensime-company (company-yasnippet))))
|
(set! :company-backend 'scala-mode '(ensime-company (company-yasnippet))))
|
||||||
|
|
||||||
|
|
||||||
(@def-package sbt-mode :after scala-mode)
|
(def-package! sbt-mode :after scala-mode)
|
||||||
|
|
||||||
|
|
||||||
(@def-package ensime
|
(def-package! ensime
|
||||||
:commands (ensime ensime-mode ensime-scala-mode-hook)
|
:commands (ensime ensime-mode ensime-scala-mode-hook)
|
||||||
:init
|
:init
|
||||||
(add-hook 'scala-mode-hook 'ensime-scala-mode-hook))
|
(add-hook 'scala-mode-hook 'ensime-scala-mode-hook))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/scala/packages.el
|
;;; lang/scala/packages.el
|
||||||
|
|
||||||
(@package ensime)
|
(package! ensime)
|
||||||
(@package sbt-mode)
|
(package! sbt-mode)
|
||||||
(@package scala-mode)
|
(package! scala-mode)
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
;;; lang/sh/config.el
|
;;; lang/sh/config.el
|
||||||
|
|
||||||
(@def-package sh-script ; built-in
|
(def-package! sh-script ; built-in
|
||||||
:mode (("\\.zsh$" . sh-mode)
|
:mode (("\\.zsh$" . sh-mode)
|
||||||
("/bspwmrc$" . sh-mode))
|
("/bspwmrc$" . sh-mode))
|
||||||
:init
|
: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
|
:config
|
||||||
(@set :company-backend 'sh-mode '(company-shell))
|
(set! :company-backend 'sh-mode '(company-shell))
|
||||||
(@set :electric 'sh-mode :words '("else" "elif" "fi" "done" "then" "do" "esac" ";;"))
|
(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)
|
(setq sh-indent-after-continuation 'always)
|
||||||
|
|
||||||
;; [pedantry intensifies]
|
;; [pedantry intensifies]
|
||||||
(@add-hook sh-mode (setq mode-name "sh"))
|
(add-hook! sh-mode (setq mode-name "sh"))
|
||||||
|
|
||||||
(defun +sh|detect-zsh ()
|
(defun +sh|detect-zsh ()
|
||||||
(when (and buffer-file-name (string-match-p "\\.zsh\\'" buffer-file-name))
|
(when (and buffer-file-name (string-match-p "\\.zsh\\'" buffer-file-name))
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
(add-hook 'sh-mode-hook '+sh|detect-zsh))
|
(add-hook 'sh-mode-hook '+sh|detect-zsh))
|
||||||
|
|
||||||
|
|
||||||
(@def-package company-shell
|
(def-package! company-shell
|
||||||
:after sh-script
|
:after sh-script
|
||||||
:config (setq company-shell-delete-duplicates t))
|
:config (setq company-shell-delete-duplicates t))
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/sh/packages.el
|
;;; lang/sh/packages.el
|
||||||
|
|
||||||
(when (@featurep :completion company)
|
(when (featurep! :completion company)
|
||||||
(@package company-shell))
|
(package! company-shell))
|
||||||
|
|
|
@ -2,17 +2,17 @@
|
||||||
|
|
||||||
;; TODO Set up emacs task runners for fruitstrap
|
;; TODO Set up emacs task runners for fruitstrap
|
||||||
|
|
||||||
(@def-package swift-mode
|
(def-package! swift-mode
|
||||||
:mode "\\.swift$"
|
:mode "\\.swift$"
|
||||||
:init
|
:init
|
||||||
(add-hook 'swift-mode-hook 'flycheck-mode)
|
(add-hook 'swift-mode-hook 'flycheck-mode)
|
||||||
:config
|
:config
|
||||||
(@set :repl 'swift-mode 'swift-mode-run-repl) ; TODO test this
|
(set! :repl 'swift-mode 'swift-mode-run-repl) ; TODO test this
|
||||||
(@after flycheck (push 'swift flycheck-checkers)))
|
(after! flycheck (push 'swift flycheck-checkers)))
|
||||||
|
|
||||||
|
|
||||||
(@def-package company-sourcekit
|
(def-package! company-sourcekit
|
||||||
:after swift-mode
|
:after swift-mode
|
||||||
:config
|
:config
|
||||||
(@set :company-backend 'swift-mode '(company-sourcekit company-yasnippet)))
|
(set! :company-backend 'swift-mode '(company-sourcekit company-yasnippet)))
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/swift/packages.el
|
;;; lang/swift/packages.el
|
||||||
|
|
||||||
(@package swift-mode)
|
(package! swift-mode)
|
||||||
|
|
||||||
(when (@featurep :completion company)
|
(when (featurep! :completion company)
|
||||||
(@package company-sourcekit))
|
(package! company-sourcekit))
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
;;; lang/typescript/config.el
|
;;; lang/typescript/config.el
|
||||||
|
|
||||||
(@def-package typescript-mode
|
(def-package! typescript-mode
|
||||||
:mode "\\.ts$"
|
:mode "\\.ts$"
|
||||||
:init
|
:init
|
||||||
(add-hook 'typescript-mode-hook 'rainbow-delimiters-mode)
|
(add-hook 'typescript-mode-hook 'rainbow-delimiters-mode)
|
||||||
:config
|
:config
|
||||||
(@set :company-backend 'typescript-mode '(company-tide))
|
(set! :company-backend 'typescript-mode '(company-tide))
|
||||||
(@set :electric 'typescript-mode :chars '(?\} ?\)) :words '("||" "&&"))
|
(set! :electric 'typescript-mode :chars '(?\} ?\)) :words '("||" "&&"))
|
||||||
|
|
||||||
;; TODO emr definitions for:
|
;; TODO emr definitions for:
|
||||||
;; + tide-jump-back
|
;; + tide-jump-back
|
||||||
;; + (tide-jump-to-definition t)
|
;; + (tide-jump-to-definition t)
|
||||||
(@set :emr 'typescript-mode
|
(set! :emr 'typescript-mode
|
||||||
'(tide-find-references "find usages")
|
'(tide-find-references "find usages")
|
||||||
'(tide-rename-symbol "rename symbol")
|
'(tide-rename-symbol "rename symbol")
|
||||||
'(tide-jump-to-definition "jump to definition")
|
'(tide-jump-to-definition "jump to definition")
|
||||||
|
@ -26,16 +26,16 @@
|
||||||
(tide-setup)
|
(tide-setup)
|
||||||
(flycheck-mode +1)
|
(flycheck-mode +1)
|
||||||
(eldoc-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
|
(map! :map typescript-mode-map
|
||||||
:m "gd" 'tide-jump-to-definition
|
:m "gd" 'tide-jump-to-definition
|
||||||
:m "K" 'tide-documentation-at-point))
|
:m "K" 'tide-documentation-at-point))
|
||||||
|
|
||||||
|
|
||||||
(@def-package tide
|
(def-package! tide
|
||||||
:after typescript-mode
|
:after typescript-mode
|
||||||
:config
|
:config
|
||||||
(setq tide-format-options
|
(setq tide-format-options
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; lang/typescript/packages.el
|
;;; lang/typescript/packages.el
|
||||||
|
|
||||||
(@package tide)
|
(package! tide)
|
||||||
(@package typescript-mode)
|
(package! typescript-mode)
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
(sp-with-modes '(css-mode scss-mode less-css-mode stylus-mode)
|
(sp-with-modes '(css-mode scss-mode less-css-mode stylus-mode)
|
||||||
(sp-local-pair "/*" "*/" :post-handlers '(("[d-3]||\n[i]" "RET") ("| " "SPC"))))
|
(sp-local-pair "/*" "*/" :post-handlers '(("[d-3]||\n[i]" "RET") ("| " "SPC"))))
|
||||||
|
|
||||||
(@map :map* (css-mode-map scss-mode-map less-css-mode-map)
|
(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
|
:localleader
|
||||||
:nv ";" '+css/append-semicolon
|
:nv ";" '+css/append-semicolon
|
||||||
|
@ -15,33 +15,33 @@
|
||||||
;; Packages
|
;; Packages
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package css-mode
|
(def-package! css-mode
|
||||||
:mode "\\.css$"
|
:mode "\\.css$"
|
||||||
:mode ("\\.scss$" . scss-mode)
|
:mode ("\\.scss$" . scss-mode)
|
||||||
:init
|
:init
|
||||||
(@add-hook css-mode
|
(add-hook! css-mode
|
||||||
'(yas-minor-mode-on flycheck-mode rainbow-mode highlight-numbers-mode
|
'(yas-minor-mode-on flycheck-mode rainbow-mode highlight-numbers-mode
|
||||||
;; doom|counsel-css-imenu-setup
|
;; doom|counsel-css-imenu-setup
|
||||||
))
|
))
|
||||||
|
|
||||||
:config
|
:config
|
||||||
(@set :company-backend '(css-mode scss-mode) '(company-css company-yasnippet))
|
(set! :company-backend '(css-mode scss-mode) '(company-css company-yasnippet))
|
||||||
(@set :build 'scss 'scss-mode '+css/scss-build))
|
(set! :build 'scss 'scss-mode '+css/scss-build))
|
||||||
|
|
||||||
|
|
||||||
(@def-package sass-mode
|
(def-package! sass-mode
|
||||||
:mode "\\.sass$"
|
:mode "\\.sass$"
|
||||||
:config
|
:config
|
||||||
(setq sass-command-options '("--style compressed"))
|
(setq sass-command-options '("--style compressed"))
|
||||||
(@set :build 'sass 'sass-mode '+css/sass-build)
|
(set! :build 'sass 'sass-mode '+css/sass-build)
|
||||||
(@set :company-backend 'sass-mode '(company-css company-yasnippet)))
|
(set! :company-backend 'sass-mode '(company-css company-yasnippet)))
|
||||||
|
|
||||||
|
|
||||||
(@def-package less-css-mode
|
(def-package! less-css-mode
|
||||||
:mode "\\.less$")
|
:mode "\\.less$")
|
||||||
|
|
||||||
|
|
||||||
(@def-package stylus-mode
|
(def-package! stylus-mode
|
||||||
:mode "\\.styl$"
|
:mode "\\.styl$"
|
||||||
:init (@add-hook stylus-mode '(yas-minor-mode-on flycheck-mode)))
|
:init (add-hook! stylus-mode '(yas-minor-mode-on flycheck-mode)))
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; lang/web/config.el
|
;;; lang/web/config.el
|
||||||
|
|
||||||
(@def-package web-mode
|
(def-package! web-mode
|
||||||
:mode ("\\.p?html?$"
|
:mode ("\\.p?html?$"
|
||||||
"\\.\\(tpl\\|blade\\)\\(\\.php\\)?$"
|
"\\.\\(tpl\\|blade\\)\\(\\.php\\)?$"
|
||||||
"\\.erb$"
|
"\\.erb$"
|
||||||
|
@ -12,13 +12,13 @@
|
||||||
:init
|
:init
|
||||||
(add-hook 'web-mode-hook 'turn-off-smartparens-mode)
|
(add-hook 'web-mode-hook 'turn-off-smartparens-mode)
|
||||||
:config
|
:config
|
||||||
(@set :company-backend 'web-mode '(company-web-html company-yasnippet))
|
(set! :company-backend 'web-mode '(company-web-html company-yasnippet))
|
||||||
(setq web-mode-enable-html-entities-fontification t)
|
(setq web-mode-enable-html-entities-fontification t)
|
||||||
|
|
||||||
;; Fix blank line numbers after unfolding
|
;; 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
|
(map! :map web-mode-map
|
||||||
(:localleader :n "t" 'web-mode-element-rename)
|
(:localleader :n "t" 'web-mode-element-rename)
|
||||||
"M-/" 'web-mode-comment-or-uncomment
|
"M-/" 'web-mode-comment-or-uncomment
|
||||||
:i "SPC" 'self-insert-command
|
:i "SPC" 'self-insert-command
|
||||||
|
@ -31,17 +31,17 @@
|
||||||
:nv "]T" 'web-mode-element-child
|
:nv "]T" 'web-mode-element-child
|
||||||
:nv "[T" 'web-mode-element-parent)
|
:nv "[T" 'web-mode-element-parent)
|
||||||
|
|
||||||
(@def-package company-web :after company))
|
(def-package! company-web :after company))
|
||||||
|
|
||||||
|
|
||||||
(@def-package haml-mode :mode "\\.haml$")
|
(def-package! haml-mode :mode "\\.haml$")
|
||||||
|
|
||||||
|
|
||||||
(@def-package pug-mode
|
(def-package! pug-mode
|
||||||
:mode ("\\.jade$" "\\.pug$")
|
:mode ("\\.jade$" "\\.pug$")
|
||||||
:config
|
:config
|
||||||
(@set :company-backend 'pug-mode '(company-yasnippet))
|
(set! :company-backend 'pug-mode '(company-yasnippet))
|
||||||
(@map :map pug-mode-map
|
(map! :map pug-mode-map
|
||||||
:i [tab] 'doom/dumb-indent
|
:i [tab] 'doom/dumb-indent
|
||||||
:i [backtab] 'doom/dumb-dedent))
|
:i [backtab] 'doom/dumb-dedent))
|
||||||
|
|
||||||
|
@ -50,14 +50,14 @@
|
||||||
;; Tools
|
;; Tools
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(@def-package emmet-mode
|
(def-package! emmet-mode
|
||||||
:commands emmet-mode
|
:commands emmet-mode
|
||||||
:preface (defvar emmet-mode-keymap (make-sparse-keymap))
|
:preface (defvar emmet-mode-keymap (make-sparse-keymap))
|
||||||
:init
|
:init
|
||||||
(@add-hook (scss-mode web-mode html-mode haml-mode nxml-mode) 'emmet-mode)
|
(add-hook! (scss-mode web-mode html-mode haml-mode nxml-mode) 'emmet-mode)
|
||||||
:config
|
:config
|
||||||
(setq emmet-move-cursor-between-quotes t)
|
(setq emmet-move-cursor-between-quotes t)
|
||||||
(@map :map emmet-mode-keymap
|
(map! :map emmet-mode-keymap
|
||||||
:v "M-e" 'emmet-wrap-with-markup
|
:v "M-e" 'emmet-wrap-with-markup
|
||||||
:i "M-e" 'emmet-expand-yas
|
:i "M-e" 'emmet-expand-yas
|
||||||
:i "M-E" 'emmet-expand-line))
|
:i "M-E" 'emmet-expand-line))
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
;;; lang/web/config.el
|
;;; lang/web/config.el
|
||||||
|
|
||||||
(@load +html)
|
(load! +html)
|
||||||
(@load +css)
|
(load! +css)
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
;;
|
;;
|
||||||
|
|
||||||
;; (defvar bower-conf (make-hash-table :test 'equal))
|
;; (defvar bower-conf (make-hash-table :test 'equal))
|
||||||
;; (@def-project bower "bower"
|
;; (def-project! bower "bower"
|
||||||
;; :modes (web-mode js-mode coffee-mode css-mode sass-mode pug-mode)
|
;; :modes (web-mode js-mode coffee-mode css-mode sass-mode pug-mode)
|
||||||
;; :files ("bower.json")
|
;; :files ("bower.json")
|
||||||
;; :when
|
;; :when
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
;; (puthash project-path it bower-conf)))
|
;; (puthash project-path it bower-conf)))
|
||||||
;; t))
|
;; t))
|
||||||
|
|
||||||
;; (@def-project angularjs "angular"
|
;; (def-project! angularjs "angular"
|
||||||
;; :modes (nodejs-project-mode bower-project-mode)
|
;; :modes (nodejs-project-mode bower-project-mode)
|
||||||
;; :when
|
;; :when
|
||||||
;; (lambda (&rest _)
|
;; (lambda (&rest _)
|
||||||
|
@ -36,15 +36,15 @@
|
||||||
;; (cdr-safe (assq 'devDependencies npm)))))
|
;; (cdr-safe (assq 'devDependencies npm)))))
|
||||||
;; (assq 'angular deps))))
|
;; (assq 'angular deps))))
|
||||||
|
|
||||||
;; (@def-project jekyll ":{"
|
;; (def-project! jekyll ":{"
|
||||||
;; :modes (web-mode js-mode coffee-mode css-mode haml-mode pug-mode)
|
;; :modes (web-mode js-mode coffee-mode css-mode haml-mode pug-mode)
|
||||||
;; :match "/\\(\\(css\\|_\\(layouts\\|posts\\|sass\\)\\)/.+\\|.+.html\\)$"
|
;; :match "/\\(\\(css\\|_\\(layouts\\|posts\\|sass\\)\\)/.+\\|.+.html\\)$"
|
||||||
;; :files ("config.yml" "_layouts/")
|
;; :files ("config.yml" "_layouts/")
|
||||||
;; (@add-hook mode
|
;; (add-hook! mode
|
||||||
;; (when (eq major-mode 'web-mode)
|
;; (when (eq major-mode 'web-mode)
|
||||||
;; (web-mode-set-engine "django"))))
|
;; (web-mode-set-engine "django"))))
|
||||||
|
|
||||||
;; (@def-project wordpress "wp"
|
;; (def-project! wordpress "wp"
|
||||||
;; :modes (php-mode web-mode css-mode haml-mode pug-mode)
|
;; :modes (php-mode web-mode css-mode haml-mode pug-mode)
|
||||||
;; :match "/wp-\\(\\(content\\|admin\\|includes\\)/\\)?.+$"
|
;; :match "/wp-\\(\\(content\\|admin\\|includes\\)/\\)?.+$"
|
||||||
;; :files ("wp-config.php" "wp-content/"))
|
;; :files ("wp-config.php" "wp-content/"))
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue