diff --git a/core/autoload/memoize.el b/core/autoload/memoize.el index a7e95d090..aef54c1e9 100644 --- a/core/autoload/memoize.el +++ b/core/autoload/memoize.el @@ -22,7 +22,7 @@ (puthash args (apply ',func args) doom-memoized-table)))) ;;;###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 have the same meaning as in `defun'." (declare (indent defun) (doc-string 3)) diff --git a/core/autoload/mplist.el b/core/autoload/mplist.el index 6b82ca072..27f1dd4aa 100644 --- a/core/autoload/mplist.el +++ b/core/autoload/mplist.el @@ -9,15 +9,15 @@ ;; regular plists. ;; ;; (let ((a '(abc :commands 1 :config 3 4 5))) -;; (@mplist a &delete :commands :config)) +;; (mplist! a &delete :commands :config)) ;;;###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. Examples: - (@mplist plist &delete :x :y) - (@mplist plist &get :x)" + (mplist! plist &delete :x :y) + (mplist! plist &get :x)" (declare (indent defun)) (let ((fn-sym (intern (format "doom-mplist-%s" (substring (symbol-name action) 1))))) (when (fboundp fn-sym) diff --git a/core/autoload/packages.el b/core/autoload/packages.el index fdd64afb3..51fb31d3c 100644 --- a/core/autoload/packages.el +++ b/core/autoload/packages.el @@ -102,7 +102,7 @@ Used by `doom/packages-autoremove'." (defun doom-get-missing-packages () "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 -taken from that package's `@package' declaration. +taken from that package's `package!' declaration. Used by `doom/packages-install'." (cl-remove-if (lambda (pkgsym) diff --git a/core/core-editor.el b/core/core-editor.el index 5abce09e3..1551c3042 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -55,10 +55,10 @@ recentf-max-menu-items 0 recentf-max-saved-items 250 recentf-filename-handlers '(abbreviate-file-name)) -(@quiet (recentf-mode 1)) +(quiet! (recentf-mode 1)) ;; Ediff -(@add-hook ediff-load +(add-hook! ediff-load (setq ediff-diff-options "-w" ediff-split-window-function 'split-window-horizontally ediff-window-setup-function 'ediff-setup-windows-plain)) ; no extra frames @@ -85,15 +85,15 @@ ;; Handles whitespace (tabs/spaces) settings externally. This way projects can ;; specify their own formatting rules. -(@def-package editorconfig :demand t +(def-package! editorconfig :demand t :mode ("\\.?editorconfig$" . editorconfig-conf-mode) :config (editorconfig-mode +1) ;; Show whitespace in tabs indentation mode - (@add-hook 'editorconfig-custom-hooks + (add-hook! 'editorconfig-custom-hooks (if indent-tabs-mode (whitespace-mode +1)))) ;; Auto-close delimiters and blocks as you type -(@def-package smartparens :demand t +(def-package! smartparens :demand t :init (setq sp-autowrap-region nil ; let evil-surround handle this sp-highlight-pair-overlay nil @@ -129,49 +129,49 @@ ;; Autoloaded Plugins ;; -(@def-package ace-link +(def-package! ace-link :commands (ace-link-help ace-link-org)) -(@def-package ace-window +(def-package! ace-window :commands ace-window :config (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l) aw-scope 'frame aw-background t)) -(@def-package avy +(def-package! avy :commands (avy-goto-char-2 avy-goto-line) :config (setq avy-all-windows nil avy-background t)) -(@def-package command-log-mode +(def-package! command-log-mode :commands (command-log-mode global-command-log-mode) :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 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)) -(@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 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)) -(@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)) -(@def-package wgrep +(def-package! wgrep :commands (wgrep-setup wgrep-change-to-wgrep-mode) :config (setq wgrep-auto-save-buffer t) diff --git a/core/core-keybinds.el b/core/core-keybinds.el index 70172acf9..f086914ae 100644 --- a/core/core-keybinds.el +++ b/core/core-keybinds.el @@ -12,7 +12,7 @@ (defvar doom--which-key-defs '(nil)) -(@def-package which-key +(def-package! which-key :defer 1 :config (setq which-key-sort-order 'which-key-prefix-then-key-order @@ -50,7 +50,7 @@ state)) (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 ':map 'lisp-indent-function 'defun) (put ':map* 'lisp-indent-function 'defun) @@ -59,7 +59,7 @@ (put ':unless '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*', `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 @@ -96,7 +96,7 @@ Conditional keybinds (:unless [CONDITION] [...]) Example - (@map :map magit-mode-map + (map! :map magit-mode-map :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 \"C-x C-r\" 'a-global-keybind @@ -113,7 +113,7 @@ Example (cond ;; it's a sub expr ((listp key) - (push (macroexpand `(@map ,@key)) forms)) + (push (macroexpand `(map! ,@key)) forms)) ;; it's a flag ((keywordp key) @@ -126,9 +126,9 @@ Example (setq key :prefix desc ""))) (pcase key - (:when (prog1 `((if ,(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 '()))) + (:when (prog1 `((if ,(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 '()))) (:desc (setq desc (pop rest))) (:map* (setq defer t) (push :map rest)) (:map @@ -166,7 +166,7 @@ Example (when prefix (setq key (append prefix (list key)))) (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)) (when desc (push `(nconc doom--which-key-defs (list ,(key-description (eval key)) ,desc)) diff --git a/core/core-lib.el b/core/core-lib.el index 18c838894..e57c9c92d 100644 --- a/core/core-lib.el +++ b/core/core-lib.el @@ -42,12 +42,12 @@ ;; Library ;; -(defmacro @λ (&rest body) +(defmacro λ! (&rest body) "A shortcut for inline interactive lambdas." (declare (doc-string 1)) `(lambda () (interactive) ,@body)) -(defmacro @after (feature &rest forms) +(defmacro after! (feature &rest forms) "A smart wrapper around `with-eval-after-load'. Supresses warnings during compilation." (declare (indent defun) (debug t)) @@ -60,7 +60,7 @@ compilation." 'with-no-warnings) (with-eval-after-load ',feature ,@forms))) -(defmacro @quiet (&rest forms) +(defmacro quiet! (&rest forms) "Run FORMS without making any noise." `(if doom-debug-mode (progn ,@forms) @@ -77,7 +77,7 @@ compilation." (save-silently t)) ,@forms))) -(defmacro @add-hook (hook &rest func-or-forms) +(defmacro add-hook! (hook &rest func-or-forms) "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 @@ -88,14 +88,14 @@ will be wrapped in a lambda. A list of symbols will expand into a series of add-hook calls. Examples: - (@add-hook 'some-mode-hook 'enable-something) - (@add-hook some-mode '(enable-something and-another)) - (@add-hook '(one-mode-hook second-mode-hook) 'enable-something) - (@add-hook (one-mode second-mode) 'enable-something) - (@add-hook (one-mode second-mode) (setq v 5) (setq a 2))" + (add-hook! 'some-mode-hook 'enable-something) + (add-hook! some-mode '(enable-something and-another)) + (add-hook! '(one-mode-hook second-mode-hook) 'enable-something) + (add-hook! (one-mode second-mode) 'enable-something) + (add-hook! (one-mode second-mode) (setq v 5) (setq a 2))" (declare (indent defun) (debug t)) (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)) (quoted-p (eq (car-safe hook) 'quote)) (hook (if quoted-p (cadr hook) hook)) @@ -113,7 +113,7 @@ Examples: 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." (declare (indent 1)) (unless noninteractive @@ -126,7 +126,7 @@ Examples: (when (and files (not (or (listp 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)))) (macroexp-progn (list `(defun ,hook-name () @@ -146,21 +146,21 @@ Examples: (match `(add-to-list ',(if minor 'doom-auto-minor-mode-alist 'auto-mode-alist) (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)))))) ;; 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 -;; 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 ;; concise, do-what-I-mean front-facing configuration, believe it or not. ;; ;; 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 -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)) (unless (keywordp 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 ,@forms)) -(defmacro @set (keyword &rest values) - "Set an option defined by `@def-setting'. Skip if doesn't exist." +(defmacro set! (keyword &rest values) + "Set an option defined by `def-setting!'. Skip if doesn't exist." (declare (indent defun)) (unless values - (error "Empty @set for %s" keyword)) + (error "Empty set! for %s" keyword)) (let ((fn (intern (format "doom-setting--setter%s" keyword)))) (if (functionp fn) (apply fn (eval `(list ,@values))) diff --git a/core/core-os.el b/core/core-os.el index 6d2761c96..b786f3672 100644 --- a/core/core-os.el +++ b/core/core-os.el @@ -38,7 +38,7 @@ (when (require 'osx-clipboard nil t) (osx-clipboard-mode +1)))) - (@after evil + (after! evil ;; 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 ;; Most of this code grokked from: diff --git a/core/core-packages.el b/core/core-packages.el index 91b0ee7e3..d9b9c65e2 100644 --- a/core/core-packages.el +++ b/core/core-packages.el @@ -51,7 +51,7 @@ This will be nil if you have byte-compiled your configuration (as intended).") (defvar doom-packages nil "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' declaration. Set by `doom-initialize-packages'.") +`package!' declaration. Set by `doom-initialize-packages'.") (defvar doom-protected-packages '(persistent-soft quelpa use-package) @@ -65,7 +65,7 @@ missing) and shouldn't be deleted.") (append (list doom-core-dir doom-modules-dir) load-path) "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.") (setq load-prefer-newer nil @@ -150,7 +150,7 @@ to speed up startup." "Ensures that `doom-autoload-file' exists and is loaded. Otherwise run `doom/reload-autoloads' to generate it." (unless (file-exists-p doom-autoload-file) - (@quiet (doom/reload-autoloads)))) + (quiet! (doom/reload-autoloads)))) (defun doom-initialize-packages (&optional force-p load-p) "Crawls across your emacs.d in order to fill `doom-modules' (from init.el) and @@ -189,7 +189,7 @@ files." (cond ((keywordp m) (setq mode m)) ((not mode) - (error "No namespace specified on `@doom' for %s" m)) + (error "No namespace specified on `doom!' for %s" m)) ((eq m '*) (doom-initialize-modules (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 'emacs-lisp. -Used by `@require' and `@depends-on'." +Used by `require!' and `depends-on!'." (unless (or force-p (doom-module-loaded-p module submodule)) (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) -(defmacro @doom (&rest modules) +(defmacro doom! (&rest modules) "DOOM Emacs bootstrap macro. List the modules to load. Benefits from byte-compilation." (doom-initialize-modules modules) @@ -267,7 +267,7 @@ byte-compilation." (setq doom-modules ',doom-modules) (unless noninteractive - ,@(mapcar (lambda (module) `(@require ,(car module) ,(cdr module) t)) + ,@(mapcar (lambda (module) `(require! ,(car module) ,(cdr module) t)) (doom--module-pairs)) (when (display-graphic-p) @@ -278,15 +278,15 @@ byte-compilation." ;; Benchmark (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 -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." (when (or (featurep name) (package-installed-p name)) `(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 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." @@ -304,9 +304,9 @@ throw an error if the file doesn't exist." (if (file-exists-p file) `(load ,(file-name-sans-extension file) ,noerror (not doom-debug-mode)) (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 it hasn't already, and if it exists." (when (or (not noninteractive) @@ -315,9 +315,9 @@ it hasn't already, and if it exists." (when (or reload-p (not loaded-p)) (unless loaded-p (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'." `(doom-module-loaded-p ,module ',submodule)) @@ -326,7 +326,7 @@ it hasn't already, and if it exists." ;; 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 nor install them. @@ -359,11 +359,11 @@ them." (assq-delete-all ',name 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 SUBMODULE is a symbol." (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 ;; unless evil is enabled. (unless (and (equal (file-name-nondirectory file) "evil.el") - (not (@featurep :feature evil))) + (not (featurep! :feature evil))) (push file autoload-files))) (file-expand-wildcards (expand-file-name "*.el" auto-dir) t))))) (when (file-exists-p generated-autoload-file) diff --git a/core/core-popups.el b/core/core-popups.el index af7e1e014..3aac9e6cf 100644 --- a/core/core-popups.el +++ b/core/core-popups.el @@ -38,7 +38,7 @@ "A list of window parameters that are set (and cleared) when `doom-popup-mode is enabled/disabled.'") -(@def-setting :popup (&rest rules) +(def-setting! :popup (&rest rules) "Prepend a new popup rule to `shackle-rules'." (if (cl-every 'listp rules) `(nconc shackle-rules ',rules) @@ -49,7 +49,7 @@ is enabled/disabled.'") ;; Bootstrap ;; -(@def-package shackle :demand t +(def-package! shackle :demand t :init (setq shackle-default-alignment 'below ;;; Baseline popup-window rules @@ -146,7 +146,7 @@ for :align t on every rule." (set-window-parameter window param nil)))))) ;; 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) @@ -203,7 +203,7 @@ properties." ;; Hacks ;; -(@after evil +(after! evil (let ((map doom-popup-mode-map)) (define-key map [remap evil-window-delete] 'doom/popup-close) (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)) -(@after help-mode +(after! help-mode ;; Help buffers use `other-window' to decide where to open followed links, ;; which can be unpredictable. It should *only* replace the original buffer we ;; opened the popup from. To fix this these three button @@ -318,12 +318,12 @@ the command buffer." (message "Unable to find location in file")))))) -;; (@after magit +;; (after! magit ;; ;; Don't open files (from magit) within the magit popup ;; (advice-add 'magit-display-file-buffer-traditional :around 'doom*popups-save)) -(@after neotree +(after! neotree (defun doom*popups-save-neotree (orig-fn &rest args) "Prevents messing up the neotree buffer on window changes." (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)) -(@add-hook org-load +(add-hook! org-load ;; Ensures org-src-edit yields control of its buffer to shackle. (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) @@ -382,8 +382,8 @@ the command buffer." (setq org-agenda-archives-mode nil org-agenda-buffer nil)))) - (@after org-agenda - (@after evil + (after! org-agenda + (after! evil (evil-define-key* 'motion org-agenda-mode-map [escape] '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)))) -(@after repl-toggle - (@add-hook doom-popup-close +(after! repl-toggle + (add-hook! doom-popup-close (setq rtog/--last-buffer nil))) (provide 'core-popups) diff --git a/core/core-projects.el b/core/core-projects.el index 5f78c02cf..d1ee3197a 100644 --- a/core/core-projects.el +++ b/core/core-projects.el @@ -4,7 +4,7 @@ ;; digging through project files and exposing an API I can use to make other ;; plugins/features project-aware. -(@def-package projectile :demand t +(def-package! projectile :demand t :init (setq projectile-cache-file (concat doom-cache-dir "projectile.cache") projectile-enable-caching (not noninteractive) diff --git a/core/core-ui.el b/core/core-ui.el index 289fc0416..ac8e53a92 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -44,8 +44,8 @@ ;; show typed keystrokes in minibuffer (setq echo-keystrokes 0.02) ;; ...but hide them while isearch is active -(@add-hook isearch-mode (setq echo-keystrokes 0)) -(@add-hook isearch-mode-end (setq echo-keystrokes 0.02)) +(add-hook! isearch-mode (setq echo-keystrokes 0)) +(add-hook! isearch-mode-end (setq echo-keystrokes 0.02)) ;; A minor mode for toggling the mode-line (defvar doom--hidden-modeline-format nil @@ -90,7 +90,7 @@ disabled.") (push (cons 'left-fringe doom-ui-fringe-size) default-frame-alist) (push (cons 'right-fringe doom-ui-fringe-size) default-frame-alist) ;; 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))) @@ -101,7 +101,7 @@ disabled.") ;; 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 ;; 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) :init (defun doom*autoload-hideshow () @@ -112,7 +112,7 @@ disabled.") (setq hs-hide-comments-when-hiding-all nil)) ;; Show uninterrupted indentation markers with some whitespace voodoo. -(@def-package highlight-indent-guides +(def-package! highlight-indent-guides :commands highlight-indent-guides-mode :config (setq highlight-indent-guides-method 'character) @@ -154,7 +154,7 @@ file." (set-buffer-modified-p nil)) nil) - (@add-hook highlight-indent-guides-mode + (add-hook! highlight-indent-guides-mode (if highlight-indent-guides-mode (progn (doom|inject-trailing-whitespace) @@ -163,10 +163,10 @@ file." (delete-trailing-whitespace)))) ;; 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 -(@def-package hl-line ; built-in +(def-package! hl-line ; built-in :config ;; stickiness doesn't play nice with emacs 25+ (setq hl-line-sticky-flag nil @@ -174,35 +174,35 @@ file." ;; Line number column. A faster (or equivalent, in the worst case) line number ;; plugin than the built-in `linum'. -(@def-package nlinum +(def-package! nlinum :commands nlinum-mode :preface (defvar linum-format "%3d ") (defvar nlinum-format "%4d ") :init - (@add-hook + (add-hook! (markdown-mode prog-mode scss-mode web-mode conf-mode groovy-mode nxml-mode snippet-mode php-mode) 'nlinum-mode) :config ;; 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)) (format-mode-line "%l"))))) ;; Disable nlinum explicitly before making a frame, otherwise nlinum throws ;; 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))) ;; Helps us distinguish stacked delimiter pairs. Especially in parentheses-drunk ;; languages like Lisp. -(@def-package rainbow-delimiters +(def-package! rainbow-delimiters :commands rainbow-delimiters-mode :config (setq rainbow-delimiters-max-face-count 3) :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)) @@ -211,7 +211,7 @@ file." ;; ;; 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." (declare (indent defun) (doc-string 2)) `(defun ,(intern (format "doom-modeline-segment--%s" name)) () @@ -226,11 +226,11 @@ file." (list (intern (format "doom-modeline-segment--%s" (symbol-name seg)))))) segments))) -(defmacro @def-modeline (name lhs &optional rhs) +(defmacro def-modeline! (name lhs &optional rhs) "Defines a modeline format and byte-compiles it. Example: - (@def-modeline minimal + (def-modeline! minimal (bar matches \" \" buffer-info) (media-info major-mode)) (setq-default mode-line-format (doom-modeline 'minimal))" diff --git a/core/core.el b/core/core.el index ccb211979..e15b812bf 100644 --- a/core/core.el +++ b/core/core.el @@ -9,7 +9,7 @@ ;; doom|... hook function ;; doom*... advising functions ;; 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 ;; +... 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-keybinds))) ; centralized keybind system + which-key -(@add-hook 'window-setup-hook +(add-hook! 'window-setup-hook (setq gc-cons-threshold 134217728 gc-cons-percentage 0.3)) diff --git a/core/packages.el b/core/packages.el index f3185418c..bf9245606 100644 --- a/core/packages.el +++ b/core/packages.el @@ -2,42 +2,42 @@ ;;; core/packages.el ;; core packages -(@package async) -(@package s) -(@package f) +(package! async) +(package! s) +(package! f) ;; core-os.el (when IS-MAC - (@package exec-path-from-shell) - (@package osx-clipboard)) + (package! exec-path-from-shell) + (package! osx-clipboard)) ;; core-ui.el -(@package highlight-indent-guides) -(@package highlight-numbers) -(@package nlinum) -(@package rainbow-delimiters) +(package! highlight-indent-guides) +(package! highlight-numbers) +(package! nlinum) +(package! rainbow-delimiters) ;; core-popups.el -(@package shackle) +(package! shackle) ;; core-editor.el -(@package editorconfig) -(@package smartparens) -(@package ace-link) -(@package ace-window) -(@package avy) -(@package command-log-mode) -(@package expand-region) -(@package goto-last-change) -(@package help-fns+) -(@package imenu-anywhere) -(@package imenu-list) -(@package pcre2el) -(@package smart-forward) -(@package wgrep) +(package! editorconfig) +(package! smartparens) +(package! ace-link) +(package! ace-window) +(package! avy) +(package! command-log-mode) +(package! expand-region) +(package! goto-last-change) +(package! help-fns+) +(package! imenu-anywhere) +(package! imenu-list) +(package! pcre2el) +(package! smart-forward) +(package! wgrep) ;; core-projects.el -(@package projectile) +(package! projectile) ;; core-keybinds.el -(@package which-key) +(package! which-key) diff --git a/init.example.el b/init.example.el index 322f59787..1dd29b910 100644 --- a/init.example.el +++ b/init.example.el @@ -30,7 +30,7 @@ (require 'core (concat user-emacs-directory "core/core")) -(@doom :feature +(doom! :feature evil ; come to the dark side, we have cookies ;; TODO jump ; navigating your code snippets ; my elves. They type so I don't have to diff --git a/modules/README.md b/modules/README.md index 3768e6e7a..0a4d9c15a 100644 --- a/modules/README.md +++ b/modules/README.md @@ -5,7 +5,7 @@ Modules are made up of three (optional) parts: + A `config.el` file, automatically loaded when the module is loaded (through `@doom` or `@require`). It uses `@def-package` calls (thin 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 `doom-packages` and `doom-modules` for the package management system. diff --git a/modules/completion/company/config.el b/modules/completion/company/config.el index 45ad44e22..d28214e9a 100644 --- a/modules/completion/company/config.el +++ b/modules/completion/company/config.el @@ -1,6 +1,6 @@ ;;; completion/company/config.el -(@def-setting :company-backend (modes backends) +(def-setting! :company-backend (modes backends) "Register company BACKENDS to MODES." (let* ((modes (if (listp modes) modes (list modes))) (backends (if (listp backends) backends (list backends))) @@ -13,14 +13,14 @@ (require 'company) (set (make-local-variable 'company-backends) (append '((,@backends)) company-backends))) - (@add-hook ,modes ',def-name)))) + (add-hook! ,modes ',def-name)))) ;; ;; Packages ;; -(@def-package company +(def-package! company :commands (company-mode global-company-mode company-complete company-complete-common company-manual-begin company-grab-line) :config @@ -36,14 +36,14 @@ company-frontends '(company-pseudo-tooltip-frontend company-echo-metadata-frontend) 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) - (@after yasnippet + (after! 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' "C-w" nil @@ -57,20 +57,20 @@ "C-SPC" 'company-complete-common [tab] 'company-complete-common-or-cycle [backtab] 'company-select-previous - [escape] (@λ (company-abort) (evil-normal-state 1)) + [escape] (λ! (company-abort) (evil-normal-state 1)) [C-return] 'counsel-company) ;; Automatically applies to `company-filter-map' (:map company-search-map "C-n" 'company-search-repeat-forward "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)) (global-company-mode +1)) -(@def-package company-statistics +(def-package! company-statistics :after company :config (setq company-statistics-file (concat doom-cache-dir "company-stats-cache.el")) @@ -78,14 +78,14 @@ ;; Looks ugly on OSX without emacs-mac build -(@def-package company-quickhelp +(def-package! company-quickhelp :after company :config (setq company-quickhelp-delay nil) (company-quickhelp-mode +1)) -(@def-package company-dict +(def-package! company-dict :commands company-dict) diff --git a/modules/completion/company/packages.el b/modules/completion/company/packages.el index 97dceb218..8afbdd127 100644 --- a/modules/completion/company/packages.el +++ b/modules/completion/company/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/company/packages.el -(@package company) -(@package company-dict) -(@package company-quickhelp) -(@package company-statistics) +(package! company) +(package! company-dict) +(package! company-quickhelp) +(package! company-statistics) diff --git a/modules/completion/helm/config.el b/modules/completion/helm/config.el index a1bdb9a60..4c435c21a 100644 --- a/modules/completion/helm/config.el +++ b/modules/completion/helm/config.el @@ -12,7 +12,7 @@ ;; Packages ;; -(@def-package helm :demand t +(def-package! helm :demand t :init (setq helm-quick-update t ;; Speedier without fuzzy matching @@ -35,7 +35,7 @@ :config (setq projectile-completion-system 'helm) - (@map "M-x" 'helm-M-x + (map! "M-x" 'helm-M-x "A-x" 'helm-M-x "M-X" 'helm-apropos "A-X" 'helm-apropos @@ -60,7 +60,7 @@ :e "ESC" 'helm-keyboard-quit)) ;;; Popup setup - (@set :popup "\\` ?\\*[hH]elm.*?\\*\\'" :size 14 :regexp t) + (set! :popup "\\` ?\\*[hH]elm.*?\\*\\'" :size 14 :regexp t) ;;; Helm hacks (defconst doom-helm-header-fg (face-attribute 'helm-source-header :foreground)) @@ -74,7 +74,7 @@ (require 'helm-mode) (helm-mode +1) - (@map :map helm-mode-map + (map! :map helm-mode-map [remap find-file] 'helm-find-files [remap switch-to-buffer] 'doom/helm-buffers-dwim [remap projectile-switch-to-buffer] (λ! (doom/helm-buffers-dwim t)) @@ -94,40 +94,40 @@ (set-keymap-parent helm-projectile-find-file-map helm-map)) -(@def-package helm-locate +(def-package! helm-locate :init (defvar helm-generic-files-map (make-sparse-keymap) "Generic Keymap for files.") :config (set-keymap-parent helm-generic-files-map helm-map)) -(@def-package helm-buffers +(def-package! helm-buffers :commands (helm-buffers-list helm-mini) :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)) -(@def-package helm-bookmark +(def-package! helm-bookmark :commands (helm-bookmarks helm-filtered-bookmarks) :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) :config (setq helm-boring-file-regexp-list (append (list "\\.projects$" "\\.DS_Store$") 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 "TAB" 'helm-execute-persistent-action)) -(@def-package helm-ag +(def-package! helm-ag :commands (helm-ag helm-ag-mode helm-do-ag @@ -139,7 +139,7 @@ helm-ag-buffers helm-ag-clear-stack) :config - (@map (:map helm-ag-map + (map! (:map helm-ag-map "" 'helm-ag-edit) (:map helm-ag-edit-map "" 'helm-ag--edit-abort @@ -147,7 +147,7 @@ :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 helm-css-scss-multi helm-css-scss-insert-close-comment) @@ -156,7 +156,7 @@ 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) :config (setq helm-swoop-use-line-number-face t @@ -165,18 +165,18 @@ helm-swoop-pre-input-function (lambda () ""))) -(@def-package helm-describe-modes :commands helm-describe-modes) -(@def-package helm-ring :commands helm-show-kill-ring) -(@def-package helm-semantic :commands helm-semantic-or-imenu) -(@def-package helm-elisp :commands helm-apropos) -(@def-package helm-command :commands helm-M-x) +(def-package! helm-describe-modes :commands helm-describe-modes) +(def-package! helm-ring :commands helm-show-kill-ring) +(def-package! helm-semantic :commands helm-semantic-or-imenu) +(def-package! helm-elisp :commands helm-apropos) +(def-package! helm-command :commands helm-M-x) ;; ;; Popup hacks ;; -(@after helm +(after! helm ;; 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 ;; 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 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)))) -(@after helm-ag +(after! helm-ag ;; This prevents helm-ag from switching between windows and buffers. (defadvice helm-ag--edit-abort (around helm-ag-edit-abort-popup-compat activate) (cl-letf (((symbol-function 'select-window) 'ignore)) ad-do-it) diff --git a/modules/completion/helm/packages.el b/modules/completion/helm/packages.el index 8ef580d67..ca7338972 100644 --- a/modules/completion/helm/packages.el +++ b/modules/completion/helm/packages.el @@ -1,11 +1,11 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/helm/packages.el -(@package helm) -(@package helm-ag) -(@package helm-c-yasnippet) -(@package helm-company) -(@package helm-css-scss) -(@package helm-describe-modes :recipe (:fetcher github :repo "emacs-helm/helm-describe-modes")) -(@package helm-projectile) -(@package helm-swoop) +(package! helm) +(package! helm-ag) +(package! helm-c-yasnippet) +(package! helm-company) +(package! helm-css-scss) +(package! helm-describe-modes :recipe (:fetcher github :repo "emacs-helm/helm-describe-modes")) +(package! helm-projectile) +(package! helm-swoop) diff --git a/modules/completion/ido/config.el b/modules/completion/ido/config.el index fe6669a80..1aafc37e7 100644 --- a/modules/completion/ido/config.el +++ b/modules/completion/ido/config.el @@ -1,6 +1,6 @@ ;;; emacs/ido/config.el -(@def-package ido +(def-package! ido :init (setq ido-ignore-buffers '("\\` " "^\\*ESS\\*" "^\\*Messages\\*" "^\\*Help\\*" "^\\*Buffer" @@ -24,12 +24,12 @@ (ido-everywhere 1) (require 'ido-ubiquitous) - (@add-hook ido-setup + (add-hook! ido-setup (require 'ido-vertical-mode) (require 'flx-ido) (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-p" 'ido-prev-match "C-w" 'ido-delete-backward-word-updir)) @@ -47,21 +47,21 @@ (lambda (x) (and (char-equal (string-to-char x) ?.) x)) ido-temp-list)))) (advice-add 'ido-sort-mtime :override '+ido*sort-mtime) - (@add-hook (ido-make-file-list ido-make-dir-list) '+ido*sort-mtime) + (add-hook! (ido-make-file-list ido-make-dir-list) '+ido*sort-mtime) (defun +ido|setup-home-keybind () "Go to $HOME with ~" (define-key ido-file-completion-map (kbd "~") - (@λ (if (looking-back "/") + (λ! (if (looking-back "/") (insert "~/") (call-interactively 'self-insert-command))))) (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)) diff --git a/modules/completion/ido/packages.el b/modules/completion/ido/packages.el index a7d1574b5..f1c440d44 100644 --- a/modules/completion/ido/packages.el +++ b/modules/completion/ido/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; emacs/ido/packages.el -(@package flx-ido) -(@package ido-ubiquitous) -(@package ido-vertical-mode) -(@package crm-custom) +(package! flx-ido) +(package! ido-ubiquitous) +(package! ido-vertical-mode) +(package! crm-custom) diff --git a/modules/completion/ivy/config.el b/modules/completion/ivy/config.el index 0e927284c..9d0846801 100644 --- a/modules/completion/ivy/config.el +++ b/modules/completion/ivy/config.el @@ -10,7 +10,7 @@ ;; `counsel-imenu'. ;; 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))) () (interactive) (ivy-set-action ',@forms) @@ -22,7 +22,7 @@ ;; Packages ;; -(@def-package ivy :demand t +(def-package! ivy :demand t :config (setq ivy-height 14 ivy-do-completion-in-region nil @@ -33,12 +33,12 @@ ;; highlight til EOL ivy-format-function 'ivy-format-function-line) - (@after magit (setq magit-completing-read-function 'ivy-completing-read)) - (@after yasnippet (push '+ivy-yas-prompt yas-prompt-functions)) + (after! magit (setq magit-completing-read-function 'ivy-completing-read)) + (after! yasnippet (push '+ivy-yas-prompt yas-prompt-functions)) (ivy-mode +1) - (@map :map ivy-minibuffer-map + (map! :map ivy-minibuffer-map [escape] 'keyboard-escape-quit "C-r" 'evil-paste-from-register "M-v" 'clipboard-yank @@ -47,7 +47,7 @@ "C-b" 'backward-word "C-f" 'forward-word) - (@map :map ivy-mode-map + (map! :map ivy-mode-map [remap find-file] 'counsel-find-file [remap switch-to-buffer] '+ivy/switch-buffer [remap persp-switch-to-buffer] '+ivy/switch-workspace-buffer @@ -59,7 +59,7 @@ [remap imenu-anywhere] 'ivy-imenu-anywhere [remap execute-extended-command] 'counsel-M-x) - (when (@featurep :feature workspaces) + (when (featurep! :feature workspaces) (nconc ivy-sort-functions-alist '((persp-kill-buffer . nil) (persp-remove-buffer . nil) @@ -71,20 +71,20 @@ (+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 :config (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) ;; FIXME Messy workaround, refactor this - (@def-counsel-action ag-open-in-other-window + (def-counsel-action! ag-open-in-other-window (lambda (x) (when (string-match "\\`\\(.*?\\):\\([0-9]+\\):\\(.*\\)\\'" x) (let ((file-name (match-string-no-properties 1 x)) @@ -104,21 +104,21 @@ (when 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) (ivy-wgrep-change-to-wgrep-mode))) (defun +ivy*recenter (&rest _) (recenter)) (advice-add 'counsel-ag-function :override '+ivy*counsel-ag-function) (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 "C-SPC" 'counsel-git-grep-recenter ; preview "M-RET" '+ivy/counsel-ag-open-in-other-window)) ;; Used by `counsel-M-x' -(@def-package smex +(def-package! smex :commands (smex smex-major-mode-commands) :config (setq smex-save-file (concat doom-cache-dir "/smex-items")) diff --git a/modules/completion/ivy/packages.el b/modules/completion/ivy/packages.el index b732086e6..067451a87 100644 --- a/modules/completion/ivy/packages.el +++ b/modules/completion/ivy/packages.el @@ -1,8 +1,8 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/ivy/packages.el -(@package ivy) -(@package counsel) -(@package counsel-projectile) -(@package smex) -(@package swiper) +(package! ivy) +(package! counsel) +(package! counsel-projectile) +(package! smex) +(package! swiper) diff --git a/modules/feature/debug/autoload.el b/modules/feature/debug/autoload.el index 16c617f86..932340404 100644 --- a/modules/feature/debug/autoload.el +++ b/modules/feature/debug/autoload.el @@ -11,7 +11,7 @@ ;;;###autoload (autoload '+debug:debug-toggle-breakpoint "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) "Initiate debugger for current major mode" (interactive "") diff --git a/modules/feature/debug/config.el b/modules/feature/debug/config.el index 8b3fde5ea..498d76b99 100644 --- a/modules/feature/debug/config.el +++ b/modules/feature/debug/config.el @@ -1,17 +1,17 @@ ;;; feature/debug/config.el -(@after debug +(after! debug ;; For elisp debugging - (@map :map debugger-mode-map + (map! :map debugger-mode-map :n "RET" 'debug-help-follow :n "n" 'debugger-step-through :n "c" 'debugger-continue)) -(@def-package realgud +(def-package! realgud :commands (realgud:gdb realgud:trepanjs realgud:bashdb realgud:zshdb) :config - (@map :map realgud:shortkey-mode-map + (map! :map realgud:shortkey-mode-map :n "j" 'evil-next-line :n "k" 'evil-previous-line :n "h" 'evil-backward-char @@ -22,7 +22,7 @@ :n "c" 'realgud:cmd-continue) ;; Popup rules - (@set :popup + (set! :popup '("^\\*\\(g\\|zsh\\|bash\\)db.*?\\*$" :size 20 :regexp t) '("^\\*trepanjs.*?\\*$" :size 20 :regexp t)) diff --git a/modules/feature/debug/packages.el b/modules/feature/debug/packages.el index c234e5bc2..b5da02cc9 100644 --- a/modules/feature/debug/packages.el +++ b/modules/feature/debug/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; feature/debug/packages.el -(@package realgud) +(package! realgud) diff --git a/modules/feature/eval/autoload/repl.el b/modules/feature/eval/autoload/repl.el index 3bccbf71d..2345baa7e 100644 --- a/modules/feature/eval/autoload/repl.el +++ b/modules/feature/eval/autoload/repl.el @@ -15,7 +15,7 @@ ;;;###autoload (autoload '+repl:open "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) :repeat nil (interactive "") diff --git a/modules/feature/eval/config.el b/modules/feature/eval/config.el index f5fae03f1..cb83db91d 100644 --- a/modules/feature/eval/config.el +++ b/modules/feature/eval/config.el @@ -17,13 +17,13 @@ by `+eval/build', and filled with the `:build' setting") (setq eval-expression-print-length 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'." (if (featurep 'repl-toggle) (list 'rtog/add-repl mode command) `(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 -- a symbol -- PRED-FN is a predicate function that determines this builder's suitability for the current buffer." @@ -34,7 +34,7 @@ suitability for the current buffer." (list :predicate ,pred-fn :fn ,build-fn) +eval-builders)) -(@def-setting :eval (mode command) +(def-setting! :eval (mode command) "Define a code evaluator for `quickrun'. 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. (quickrun-add-command MODE COMMAND :mode MODE)" (if (stringp command) - `(@after quickrun + `(after! quickrun (push ,(cons mode command) ,(if (stringp mode) 'quickrun-file-alist 'quickrun--major-mode-alist))) - `(@after quickrun + `(after! quickrun (quickrun-add-command ,(symbol-name mode) ',command :mode ',mode)))) @@ -60,7 +60,7 @@ suitability for the current buffer." ;; Packages ;; -(@def-package quickrun +(def-package! quickrun :commands (quickrun quickrun-region quickrun-with-arg @@ -69,7 +69,7 @@ suitability for the current buffer." quickrun-replace-region) :init (add-hook 'quickrun/mode-hook 'linum-mode) :config - (@set :popup "*quickrun*" :size 10) + (set! :popup "*quickrun*" :size 10) ;; don't auto-focus quickrun windows. Shackle handles that for us. (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)) -(@def-package repl-toggle +(def-package! repl-toggle :commands rtog/toggle-repl :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 - (@set :popup + (set! :popup '(:custom (lambda (b &rest _) (when (and (featurep 'repl-toggle) (string-prefix-p "*" (buffer-name (get-buffer b)))) @@ -109,7 +109,7 @@ suitability for the current buffer." (dolist (repl +eval--repls) (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-p" 'comint-previous-input :ei "" 'comint-next-input diff --git a/modules/feature/eval/packages.el b/modules/feature/eval/packages.el index fb82835e8..f02a86bce 100644 --- a/modules/feature/eval/packages.el +++ b/modules/feature/eval/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; feature/repl/packages.el -(@package quickrun) -(@package repl-toggle) +(package! quickrun) +(package! repl-toggle) diff --git a/modules/feature/evil/config.el b/modules/feature/evil/config.el index ebe0a984f..d52d048cb 100644 --- a/modules/feature/evil/config.el +++ b/modules/feature/evil/config.el @@ -3,7 +3,7 @@ ;; 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. -(@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'." (if (cl-every 'listp mode-state-list) (let (forms) @@ -22,7 +22,7 @@ ;; evil-mode ;; -(@def-package evil :demand t +(def-package! evil :demand t :init (setq evil-want-C-u-scroll t evil-want-visual-char-semi-exclusive t @@ -44,12 +44,12 @@ (evil-mode +1) (evil-select-search-module 'evil-search-module 'evil-search) - (@set :popup + (set! :popup '("*evil-registers*" :size 0.3) '("*Command Line*" :size 8)) ;; 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) evil-normal-state-cursor 'box evil-emacs-state-cursor `(,(face-attribute 'warning :foreground nil nil) box) @@ -153,19 +153,19 @@ ;; Plugins ;; -(@def-package evil-args +(def-package! evil-args :commands (evil-inner-arg evil-outer-arg evil-forward-arg evil-backward-arg evil-jump-out-args) :init (+evil--textobj "a" 'evil-inner-arg 'evil-outer-arg)) -(@def-package evil-commentary +(def-package! evil-commentary :commands (evil-commentary evil-commentary-yank evil-commentary-line) :config (evil-commentary-mode 1)) -(@def-package evil-easymotion +(def-package! evil-easymotion :defer 1 :commands evilem-define :config @@ -192,7 +192,7 @@ (evil-snipe-enable-incremental-highlight))))) -(@def-package evil-embrace +(def-package! evil-embrace :after evil-surround :config (setq evil-embrace-show-help-p nil) @@ -238,15 +238,15 @@ ;; Add extra pairs (add-hook 'LaTeX-mode-hook 'embrace-LaTeX-mode-hook) (add-hook 'org-mode-hook 'embrace-org-mode-hook) - (@add-hook emacs-lisp-mode + (add-hook! emacs-lisp-mode (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)) - (@add-hook (org-mode LaTeX-mode) + (add-hook! (org-mode LaTeX-mode) (embrace-add-pair-regexp ?l "\\[a-z]+{" "}" '+evil--embrace-latex))) -(@def-package evil-escape +(def-package! evil-escape :commands evil-escape-mode :init (defun +evil|escape-disable () (evil-escape-mode -1)) @@ -261,7 +261,7 @@ evil-escape-delay 0.25)) -(@def-package evil-exchange +(def-package! evil-exchange :commands evil-exchange :config (defun +evil*exchange-off () @@ -269,7 +269,7 @@ (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 evil-indent-plus-a-indent 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)) -(@def-package evil-matchit +(def-package! evil-matchit :commands (evilmi-jump-items evilmi-text-object global-evil-matchit-mode) :config (global-evil-matchit-mode 1) :init (+evil--textobj "%" 'evilmi-text-object)) -(@def-package evil-multiedit +(def-package! evil-multiedit :commands (evil-multiedit-match-all evil-multiedit-match-and-next evil-multiedit-match-and-prev @@ -302,20 +302,20 @@ :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) :init (+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) :config (global-evil-search-highlight-persist t) (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 (setq evil-snipe-smart-case t evil-snipe-scope 'line @@ -331,12 +331,12 @@ (evil-snipe-mode 1) (evil-snipe-override-mode 1) ;; Switch to evil-easymotion/avy after first snipe - (@map :map evil-snipe-parent-transient-map - "C-;" (@λ (require 'evil-easymotion) + (map! :map evil-snipe-parent-transient-map + "C-;" (λ! (require 'evil-easymotion) (call-interactively +evil--snipe-repeat-fn)))) -(@def-package evil-surround +(def-package! evil-surround :commands (global-evil-surround-mode evil-surround-edit evil-Surround-edit @@ -344,7 +344,7 @@ :config (global-evil-surround-mode 1)) -(@def-package evil-visualstar +(def-package! evil-visualstar :commands (global-evil-visualstar-mode evil-visualstar/begin-search evil-visualstar/begin-search-forward @@ -353,7 +353,7 @@ ;; A side-panel for browsing my project files. Inspired by vim's NERDTree. -(@def-package neotree +(def-package! neotree :commands (neotree-show neotree-hide 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) @@ -390,7 +390,7 @@ ;; overridden when the neotree buffer is spawned). So we bind them in a hook. (add-hook 'neo-after-create-hook '+evil|neotree-init-keymap) (defun +evil|neotree-init-keymap (&rest _) - (@map :Lm "\\\\" 'evil-window-prev + (map! :Lm "\\\\" 'evil-window-prev :Lm "RET" 'neotree-enter :Lm "" 'neotree-enter :Lm "ESC ESC" 'neotree-hide diff --git a/modules/feature/evil/packages.el b/modules/feature/evil/packages.el index 016d61d65..1da49f08b 100644 --- a/modules/feature/evil/packages.el +++ b/modules/feature/evil/packages.el @@ -1,20 +1,20 @@ ;; -*- no-byte-compile: t; -*- ;;; feature/evil/packages.el -(@package evil) -(@package evil-args) -(@package evil-commentary) -(@package evil-easymotion) -(@package evil-embrace) -(@package evil-escape) -(@package evil-exchange) -(@package evil-indent-plus) -(@package evil-matchit) -(@package evil-multiedit) -(@package evil-numbers) -(@package evil-textobj-anyblock) -(@package evil-search-highlight-persist) -(@package evil-snipe) -(@package evil-surround) -(@package evil-visualstar) -(@package neotree) +(package! evil) +(package! evil-args) +(package! evil-commentary) +(package! evil-easymotion) +(package! evil-embrace) +(package! evil-escape) +(package! evil-exchange) +(package! evil-indent-plus) +(package! evil-matchit) +(package! evil-multiedit) +(package! evil-numbers) +(package! evil-textobj-anyblock) +(package! evil-search-highlight-persist) +(package! evil-snipe) +(package! evil-surround) +(package! evil-visualstar) +(package! neotree) diff --git a/modules/feature/file-templates/config.el b/modules/feature/file-templates/config.el index f2396638e..b13fe05b3 100644 --- a/modules/feature/file-templates/config.el +++ b/modules/feature/file-templates/config.el @@ -1,12 +1,12 @@ ;;; feature/file-templates/config.el -(@require :feature snippets) +(require! :feature snippets) (defvar +file-templates-dir (expand-file-name "templates/" (file-name-directory load-file-name)) "") -(@def-package autoinsert ; built-in +(def-package! autoinsert ; built-in :after yasnippet :init (setq auto-insert-query nil ; Don't prompt before insertion diff --git a/modules/feature/file-templates/packages.el b/modules/feature/file-templates/packages.el index ed57f341a..8259e198e 100644 --- a/modules/feature/file-templates/packages.el +++ b/modules/feature/file-templates/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; feature/file-templates/packages.el -(@depends-on :feature snippets) +(depends-on! :feature snippets) diff --git a/modules/feature/snippets/config.el b/modules/feature/snippets/config.el index 2fe3acaae..41862650f 100644 --- a/modules/feature/snippets/config.el +++ b/modules/feature/snippets/config.el @@ -3,7 +3,7 @@ ;; Snippets! I've thrown together a few hacks to make `yasnippet' and `evil' ;; behave together. -(@def-package yasnippet +(def-package! yasnippet :commands (yas-minor-mode yas-minor-mode-on yas-expand @@ -14,7 +14,7 @@ (defvar yas-minor-mode-map (make-sparse-keymap)) :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) :config @@ -34,8 +34,8 @@ ;; fix an error caused by smartparens interfering with yasnippet bindings (advice-add 'yas-expand :before 'sp-remove-active-pair-overlay) - (@after evil - (@map (:map yas-keymap + (after! evil + (map! (:map yas-keymap "C-e" '+snippets/goto-end-of-field "C-a" '+snippets/goto-start-of-field "" '+snippets/goto-end-of-field @@ -73,10 +73,10 @@ (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) :init - (@map :i [C-tab] 'aya-expand + (map! :i [C-tab] 'aya-expand :nv [C-tab] 'aya-create) :config (setq aya-persist-snippets-dir (concat doom-local-dir "auto-snippets/"))) diff --git a/modules/feature/snippets/packages.el b/modules/feature/snippets/packages.el index fe4cbe54c..b02077c18 100644 --- a/modules/feature/snippets/packages.el +++ b/modules/feature/snippets/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; feature/snippets/packages.el -(@package yasnippet) -(@package auto-yasnippet) +(package! yasnippet) +(package! auto-yasnippet) diff --git a/modules/feature/spellcheck/config.el b/modules/feature/spellcheck/config.el index ff9f73360..4860a7634 100644 --- a/modules/feature/spellcheck/config.el +++ b/modules/feature/spellcheck/config.el @@ -1,6 +1,6 @@ ;;; feature/spellcheck/config.el -(@def-package flyspell ; built-in +(def-package! flyspell ; built-in :commands flyspell-mode :init (add-hook 'text-mode-hook 'flyspell-mode) @@ -9,25 +9,25 @@ ispell-list-command "--list" ispell-extr-args '("--dont-tex-check-comments")) - (@map :map flyspell-mode-map + (map! :map flyspell-mode-map :localleader :n "s" 'flyspell-correct-word-generic :n "S" 'flyspell-correct-previous-word-generic)) -(@def-package flyspell-correct +(def-package! flyspell-correct :commands (flyspell-correct-word-generic flyspell-correct-previous-word-generic)) -(@def-package flyspell-correct-popup +(def-package! flyspell-correct-popup :after flyspell-correct :config (setq flyspell-popup-correct-delay 0.8) (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) diff --git a/modules/feature/spellcheck/packages.el b/modules/feature/spellcheck/packages.el index 66ad82e4a..bb01a00ba 100644 --- a/modules/feature/spellcheck/packages.el +++ b/modules/feature/spellcheck/packages.el @@ -1,11 +1,11 @@ ;; -*- no-byte-compile: t; -*- ;;; feature/spellcheck/packages.el -(@package flyspell-correct) -(cond ((@featurep :completion ivy) - (@package flyspell-correct-ivy)) - ((@featurep :completion helm) - (@package flyspell-correct-helm)) +(package! flyspell-correct) +(cond ((featurep! :completion ivy) + (package! flyspell-correct-ivy)) + ((featurep! :completion helm) + (package! flyspell-correct-helm)) (t - (@package flyspell-correct-popup))) + (package! flyspell-correct-popup))) diff --git a/modules/feature/syntax-checker/config.el b/modules/feature/syntax-checker/config.el index 42993af1d..3c2fd10d3 100644 --- a/modules/feature/syntax-checker/config.el +++ b/modules/feature/syntax-checker/config.el @@ -1,6 +1,6 @@ ;;; feature/syntax-checker/config.el -(@def-package flycheck +(def-package! flycheck :commands (flycheck-mode flycheck-list-errors flycheck-buffer) :config (setq flycheck-indication-mode 'right-fringe ; git-gutter is in the left fringe @@ -9,9 +9,9 @@ flycheck-highlighting-mode 'symbols 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-p" 'flycheck-error-list-previous-error :n "j" 'flycheck-error-list-next-error @@ -27,7 +27,7 @@ (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 (setq flycheck-pos-tip-timeout 10 flycheck-display-errors-delay 0.5) diff --git a/modules/feature/syntax-checker/packages.el b/modules/feature/syntax-checker/packages.el index 532e353da..540671c12 100644 --- a/modules/feature/syntax-checker/packages.el +++ b/modules/feature/syntax-checker/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; feature/syntax-checker/packages.el -(@package flycheck) -(@package flycheck-pos-tip) +(package! flycheck) +(package! flycheck-pos-tip) diff --git a/modules/feature/version-control/+git.el b/modules/feature/version-control/+git.el index 3882594cb..1e3e9d63b 100644 --- a/modules/feature/version-control/+git.el +++ b/modules/feature/version-control/+git.el @@ -1,44 +1,44 @@ ;;; feature/version-control/+git.el -(@def-package gitconfig-mode +(def-package! gitconfig-mode :mode "/\\.?git/?config$" :mode "/\\.gitmodules$" :init (add-hook 'gitconfig-mode-hook 'flyspell-mode)) -(@def-package gitignore-mode +(def-package! gitignore-mode :mode "/\\.gitignore$") -(@def-package git-gutter-fringe +(def-package! git-gutter-fringe :commands git-gutter-mode :init - (@add-hook (text-mode prog-mode conf-mode) 'git-gutter-mode) + (add-hook! (text-mode prog-mode conf-mode) 'git-gutter-mode) :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) (add-hook 'focus-in-hook 'git-gutter:update-all-windows) - (@after evil + (after! evil ;; Refreshing git-gutter on ESC (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)) -(@def-package magit +(def-package! magit :commands magit-status :config - (@set :popup "^\\*magit" :regexp t) - (@map :map magit-mode-map + (set! :popup "^\\*magit" :regexp t) + (map! :map magit-mode-map ;; Don't interfere with window movement keys :nv "C-j" nil :nv "C-k" nil)) -(@def-package evil-magit +(def-package! evil-magit :after magit :config ;; evil-snipe conflicts with magit diff --git a/modules/feature/version-control/config.el b/modules/feature/version-control/config.el index c9f1dad8d..0f0f0d801 100644 --- a/modules/feature/version-control/config.el +++ b/modules/feature/version-control/config.el @@ -1,19 +1,19 @@ ;;; feature/version-control/config.el -(@load +git) -;; (@load +hg) +(load! +git) +;; (load! +hg) -(@after vc-annotate - (@set :popup +(after! vc-annotate + (set! :popup '("*vc-diff*" :size 15 :noselect t) '("*vc-change-log*" :size 15) '(vc-annotate-mode :same t)) - (@set :evil-state + (set! :evil-state '(vc-annotate-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 "d" 'vc-annotate-show-diff-revision-at-line :n "D" 'vc-annotate-show-changeset-diff-revision-at-line diff --git a/modules/feature/version-control/packages.el b/modules/feature/version-control/packages.el index bd425c235..b7d537d54 100644 --- a/modules/feature/version-control/packages.el +++ b/modules/feature/version-control/packages.el @@ -5,12 +5,12 @@ ;; n/a ;;; +git -(@package browse-at-remote) -(@package git-gutter-fringe) -(@package gitconfig-mode) -(@package gitignore-mode) -(@package magit) -(when (@featurep :feature evil) - (@package evil-magit)) +(package! browse-at-remote) +(package! git-gutter-fringe) +(package! gitconfig-mode) +(package! gitignore-mode) +(package! magit) +(when (featurep! :feature evil) + (package! evil-magit)) ;;; TODO +hg diff --git a/modules/feature/workspaces/config.el b/modules/feature/workspaces/config.el index 5ff6a0ca1..a044797c6 100644 --- a/modules/feature/workspaces/config.el +++ b/modules/feature/workspaces/config.el @@ -15,7 +15,7 @@ "A hook that runs when persp loads a new session.") -(@def-package persp-mode :demand t +(def-package! persp-mode :demand t :config (setq persp-autokill-buffer-on-remove 'kill-weak persp-nil-name "main" @@ -55,7 +55,7 @@ ;; TODO Test per-frame perspectives ;; 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) ;; Add a hook to session loading diff --git a/modules/feature/workspaces/packages.el b/modules/feature/workspaces/packages.el index 27cb70b4e..f3c63aba6 100644 --- a/modules/feature/workspaces/packages.el +++ b/modules/feature/workspaces/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; feature/workspaces/packages.el -(@package persp-mode) +(package! persp-mode) diff --git a/modules/lang/assembly/config.el b/modules/lang/assembly/config.el index 921411fb6..f7ef7cb00 100644 --- a/modules/lang/assembly/config.el +++ b/modules/lang/assembly/config.el @@ -1,8 +1,8 @@ ;;; 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) diff --git a/modules/lang/assembly/packages.el b/modules/lang/assembly/packages.el index ee4acaf9e..df770051e 100644 --- a/modules/lang/assembly/packages.el +++ b/modules/lang/assembly/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/assembly/packages.el -(@package mips-mode) -(@package haxor-mode) -(@package nasm-mode) +(package! mips-mode) +(package! haxor-mode) +(package! nasm-mode) diff --git a/modules/lang/cc/config.el b/modules/lang/cc/config.el index be7f2ad88..99a319b69 100644 --- a/modules/lang/cc/config.el +++ b/modules/lang/cc/config.el @@ -1,6 +1,6 @@ ;;; 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) :mode ("\\.mm" . objc-mode) :init @@ -32,10 +32,10 @@ ;; Fontification of C++11 string literals (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 ?\})) - (@set :company-backend + (set! :company-backend '(c-mode c++-mode objc-mode) '(company-irony-c-headers company-irony)) @@ -74,7 +74,7 @@ ;; Certain mappings interfere with smartparens and custom bindings, ;; so unbind them - (@map :map c-mode-map + (map! :map c-mode-map "DEL" nil "#" 'self-insert-command "{" 'self-insert-command @@ -99,58 +99,58 @@ :i ">" '+cc/autoclose->-maybe)) -(@def-package modern-cpp-font-lock +(def-package! modern-cpp-font-lock :commands 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 :config (setq irony-server-install-prefix (concat doom-cache-dir "irony-server/")) - (@add-hook 'irony-mode-hook '(irony-eldoc flycheck-mode)) - (@add-hook 'c++-mode-hook + (add-hook! 'irony-mode-hook '(irony-eldoc flycheck-mode)) + (add-hook! 'c++-mode-hook (make-local-variable 'irony-additional-clang-options) (push "-std=c++11" irony-additional-clang-options))) -(@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 ;; -(@def-package disaster :commands disaster) +(def-package! disaster :commands disaster) ;; ;; 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 ;; -(@def-package cmake-mode +(def-package! cmake-mode :mode "CMakeLists\\.txt$" :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 :init (add-hook 'llvm-mode-hook 'demangle-mode)) diff --git a/modules/lang/cc/packages.el b/modules/lang/cc/packages.el index 34ace102d..259e5e847 100644 --- a/modules/lang/cc/packages.el +++ b/modules/lang/cc/packages.el @@ -1,19 +1,19 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/cc/packages.el -(@package cmake-mode) -(@package cuda-mode) -(@package demangle-mode) -(@package disaster) -(@package glsl-mode) -(@package irony) -(@package irony-eldoc) -(@package opencl-mode) -(@package modern-cpp-font-lock) +(package! cmake-mode) +(package! cuda-mode) +(package! demangle-mode) +(package! disaster) +(package! glsl-mode) +(package! irony) +(package! irony-eldoc) +(package! opencl-mode) +(package! modern-cpp-font-lock) -(when (@featurep :feature syntax-checker) - (@package flycheck-irony)) +(when (featurep! :feature syntax-checker) + (package! flycheck-irony)) -(when (@featurep :completion company) - (@package company-irony) - (@package company-irony-c-headers)) +(when (featurep! :completion company) + (package! company-irony) + (package! company-irony-c-headers)) diff --git a/modules/lang/crystal/config.el b/modules/lang/crystal/config.el index 3f7119ebf..814281f18 100644 --- a/modules/lang/crystal/config.el +++ b/modules/lang/crystal/config.el @@ -1,10 +1,10 @@ ;;; module-crystal.el -(@def-package crystal-mode +(def-package! crystal-mode :mode "\\.cr$" :interpreter "crystal" :config - (@set :eval 'crystal-mode + (set! :eval 'crystal-mode '((:command . "crystal") (:exec . "%c %s") (:description . "Run Crystal script")))) diff --git a/modules/lang/crystal/packages.el b/modules/lang/crystal/packages.el index b565b26c9..e2c61e67d 100644 --- a/modules/lang/crystal/packages.el +++ b/modules/lang/crystal/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; 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")) diff --git a/modules/lang/csharp/config.el b/modules/lang/csharp/config.el index 531f6f225..a546939ea 100644 --- a/modules/lang/csharp/config.el +++ b/modules/lang/csharp/config.el @@ -1,23 +1,23 @@ ;;; module-csharp.el -(@def-package csharp-mode +(def-package! csharp-mode :mode "\\.cs$" :init (add-hook 'csharp-mode-hook 'flycheck-mode)) -(@def-package omnisharp +(def-package! omnisharp :commands omnisharp-mode :preface (setq omnisharp-auto-complete-want-documentation nil omnisharp-server-executable-path (concat doom-local-dir "OmniSharp.exe")) :when (file-exists-p omnisharp-server-executable-path) :init - (@add-hook csharp-mode '(eldoc-mode omnisharp-mode)) + (add-hook! csharp-mode '(eldoc-mode omnisharp-mode)) :config - (@set :company-backend 'csharp-mode '(company-omnisharp)) + (set! :company-backend 'csharp-mode '(company-omnisharp)) ;; Map all refactor commands (see emr) - (@map :map omnisharp-mode-map + (map! :map omnisharp-mode-map :n "gd" 'omnisharp-go-to-definition :localleader @@ -40,10 +40,10 @@ :n "o" 'omnisharp-show-overloads-at-point :prefix "t" - :n "tr" (@λ (omnisharp-unit-test "fixture")) - :n "ts" (@λ (omnisharp-unit-test "single")) - :n "ta" (@λ (omnisharp-unit-test "all")))) + :n "tr" (λ! (omnisharp-unit-test "fixture")) + :n "ts" (λ! (omnisharp-unit-test "single")) + :n "ta" (λ! (omnisharp-unit-test "all")))) -(@def-package shader-mode :mode "\\.shader$") ; unity shaders +(def-package! shader-mode :mode "\\.shader$") ; unity shaders diff --git a/modules/lang/csharp/packages.el b/modules/lang/csharp/packages.el index 96e7f4edd..57ba0f02e 100644 --- a/modules/lang/csharp/packages.el +++ b/modules/lang/csharp/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/csharp/packages.el -(@package csharp-mode) -(@package omnisharp) -(@package shader-mode) +(package! csharp-mode) +(package! omnisharp) +(package! shader-mode) diff --git a/modules/lang/data/config.el b/modules/lang/data/config.el index c865e95e5..8add6dc19 100644 --- a/modules/lang/data/config.el +++ b/modules/lang/data/config.el @@ -1,41 +1,41 @@ ;;; module-data.el -(@associate conf-mode :match "/sxhkdrc$") +(associate! conf-mode :match "/sxhkdrc$") -(@def-package nxml-mode +(def-package! nxml-mode :mode "\\.plist$" :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$" :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 - (@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$")) -(@def-package dockerfile-mode +(def-package! dockerfile-mode :mode "/Dockerfile$" :config ;; 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 -(@def-package hexl-mode +(def-package! hexl-mode :mode ("\\.hex$" "\\.nes$")) @@ -43,10 +43,10 @@ ;; Frameworks ;; -;; (@def-project ansible-mode "ans" +;; (def-project! ansible-mode "ans" ;; :modes (yaml-mode) ;; :files ("roles/")) -;; (@def-project vagrant "vagrant" +;; (def-project! vagrant "vagrant" ;; :files ("Vagrantfile")) diff --git a/modules/lang/data/packages.el b/modules/lang/data/packages.el index 07441794b..6de75af15 100644 --- a/modules/lang/data/packages.el +++ b/modules/lang/data/packages.el @@ -1,9 +1,9 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/data/packages.el -(@package dockerfile-mode) -(@package json-mode) -(@package toml-mode) -(@package vimrc-mode) -(@package yaml-mode) +(package! dockerfile-mode) +(package! json-mode) +(package! toml-mode) +(package! vimrc-mode) +(package! yaml-mode) diff --git a/modules/lang/emacs-lisp/config.el b/modules/lang/emacs-lisp/config.el index 45ec9ed55..69a331657 100644 --- a/modules/lang/emacs-lisp/config.el +++ b/modules/lang/emacs-lisp/config.el @@ -1,16 +1,16 @@ ;;; lang/emacs-lisp/config.el -(@def-package elisp-mode ; built-in +(def-package! elisp-mode ; built-in :mode ("/Cask$" . emacs-lisp-mode) :init (add-hook 'emacs-lisp-mode-hook '+emacs-lisp|hook) :config - (@map :map emacs-lisp-mode-map + (map! :map emacs-lisp-mode-map :m "gd" '+emacs-lisp/find-function :leader :m "gd" '+emacs-lisp/find-function-in-other-window) - (@set :rotate 'emacs-lisp-mode + (set! :rotate 'emacs-lisp-mode :symbols '(("t" "nil") ("let" "let*") ("when" "unless") @@ -35,17 +35,14 @@ nil `(;; Display "lambda" as λ ("(\\(lambda\\)" (1 (ignore (compose-region (match-beginning 1) (match-end 1) ?λ 'decompose-region)))) ;; Highlight doom/module functions - ("\\(^\\|\\s-\\|,\\)(\\(\\(doom\\|\\+\\)[^) ]+\\)[) \n]" (2 font-lock-builtin-face)) - ;; Highlight doom macros (no need, macros are fontified in emacs 25+) - ;; ("\\(^\\|\\s-\\)(\\(@[^) ]+\\)[) \n]" (2 font-lock-preprocessor-face append)) - )) + ("\\(^\\|\\s-\\|,\\)(\\(\\(doom\\|\\+\\)[^) ]+\\)[) \n]" (2 font-lock-builtin-face)))) (setq imenu-generic-expression '(("Evil Commands" "^\\s-*(evil-define-\\(?:command\\|operator\\|motion\\) +\\(\\_<[^ ()\n]+\\_>\\)" 1) - ("Package" "^\\s-*(@\\(?:use-package\\|package\\) +\\(\\_<[^ ()\n]+\\_>\\)" 1) - ("Settings" "^\\s-*(@def-setting +\\([^ ()\n]+\\)" 1) - ("Modelines" "^\\s-*(@def-modeline +\\([^ ()\n]+\\)" 1) - ("Modeline Segments" "^\\s-*(@def-modeline-segment +\\([^ ()\n]+\\)" 1) + ("Package" "^\\s-*(\\(?:def-\\)?package! +\\(\\_<[^ ()\n]+\\_>\\)" 1) + ("Settings" "^\\s-*(def-setting! +\\([^ ()\n]+\\)" 1) + ("Modelines" "^\\s-*(def-modeline! +\\([^ ()\n]+\\)" 1) + ("Modeline Segments" "^\\s-*(def-modeline-segment! +\\([^ ()\n]+\\)" 1) ("Advice" "^\\s-*(def\\(?:\\(?:ine-\\)?advice\\))") ("Modes" "^\\s-*(define-\\(?:global\\(?:ized\\)?-minor\\|generic\\|minor\\)-mode +\\([^ ()\n]+\\)" 1) ("Macros" "^\\s-*(\\(?:cl-\\)?def\\(?:ine-compile-macro\\|macro\\) +\\([^ )\n]+\\)" 1) @@ -61,17 +58,17 @@ ;; Plugins ;; -(@def-package auto-compile +(def-package! auto-compile :commands auto-compile-on-save-mode :config (setq auto-compile-display-buffer nil auto-compile-use-mode-line nil)) -(@def-package highlight-quoted +(def-package! highlight-quoted :commands highlight-quoted-mode) -(@def-package slime +(def-package! slime :config (setq inferior-lisp-program "clisp")) diff --git a/modules/lang/emacs-lisp/packages.el b/modules/lang/emacs-lisp/packages.el index 9ed0a5a63..5432cd499 100644 --- a/modules/lang/emacs-lisp/packages.el +++ b/modules/lang/emacs-lisp/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/emacs-lisp/packages.el -(@package auto-compile) -(@package highlight-quoted) -(@package slime) +(package! auto-compile) +(package! highlight-quoted) +(package! slime) diff --git a/modules/lang/go/config.el b/modules/lang/go/config.el index 4d026ee57..6de64d887 100644 --- a/modules/lang/go/config.el +++ b/modules/lang/go/config.el @@ -1,17 +1,17 @@ ;;; lang/go/config.el -(@def-package go-mode +(def-package! go-mode :mode "\\.go$" :interpreter "go" :init (add-hook 'go-mode-hook 'flycheck-mode) - (@add-hook go-mode (add-hook 'before-save-hook 'gofmt-before-save)) + (add-hook! go-mode (add-hook 'before-save-hook 'gofmt-before-save)) :config - (@set :build 'go-build 'go-mode '+go/build) - (@set :company-backend 'go-mode '(company-go company-yasnippet)) - (@set :repl 'go-mode 'gorepl-run) + (set! :build 'go-build 'go-mode '+go/build) + (set! :company-backend 'go-mode '(company-go company-yasnippet)) + (set! :repl 'go-mode 'gorepl-run) - (@map :map go-mode-map + (map! :map go-mode-map :n "gd" 'godef-jump (:localleader :n "k" 'godef-describe @@ -24,14 +24,14 @@ :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 :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)) diff --git a/modules/lang/go/packages.el b/modules/lang/go/packages.el index 3924bf608..0c88ee864 100644 --- a/modules/lang/go/packages.el +++ b/modules/lang/go/packages.el @@ -1,8 +1,8 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/go/packages.el -(@package go-eldoc) -(@package go-mode) -(@package gorepl-mode) -(when (@featurep :completion company) - (@package company-go)) +(package! go-eldoc) +(package! go-mode) +(package! gorepl-mode) +(when (featurep! :completion company) + (package! company-go)) diff --git a/modules/lang/haskell/config.el b/modules/lang/haskell/config.el index 132def0a7..6a08a7283 100644 --- a/modules/lang/haskell/config.el +++ b/modules/lang/haskell/config.el @@ -1,20 +1,20 @@ ;;; module-haskell.el -(@def-package haskell +(def-package! haskell :mode (("\\.hs$" . haskell-mode) ("\\.ghci$" . ghci-script-mode) ("\\.cabal$" . haskell-cabal-mode)) :interpreter (("runghc" . haskell-mode) ("runhaskell" . haskell-mode)) :init - (@add-hook haskell-mode '(interactive-haskell-mode flycheck-mode)) + (add-hook! haskell-mode '(interactive-haskell-mode flycheck-mode)) :config - (@set :popup "*debug:haskell*" :size 20) - (@set :repl 'haskell-mode 'switch-to-haskell) + (set! :popup "*debug:haskell*" :size 20) + (set! :repl 'haskell-mode 'switch-to-haskell) (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) - :config (@map :map inf-haskell-mode-map "ESC ESC" 'doom/popup-close)) + :config (map! :map inf-haskell-mode-map "ESC ESC" 'doom/popup-close)) diff --git a/modules/lang/haskell/packages.el b/modules/lang/haskell/packages.el index 64517ab35..7b09b8e01 100644 --- a/modules/lang/haskell/packages.el +++ b/modules/lang/haskell/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/haskell/packages.el -(@package haskell-mode) +(package! haskell-mode) diff --git a/modules/lang/java/config.el b/modules/lang/java/config.el index 94f8e2151..fdfc7d969 100644 --- a/modules/lang/java/config.el +++ b/modules/lang/java/config.el @@ -1,35 +1,35 @@ ;;; lang/java/config.el -(@def-package meghanada +(def-package! meghanada :commands meghanada-mode :init - (@add-hook java-mode '(meghanada-mode flycheck-mode)) + (add-hook! java-mode '(meghanada-mode flycheck-mode)) :config - (@set :build 'compile-file 'java-mode 'meghanada-compile-file) - (@set :build 'compile-project 'java-mode 'meghanada-compile-project) + (set! :build 'compile-file 'java-mode 'meghanada-compile-file) + (set! :build 'compile-project 'java-mode 'meghanada-compile-project) (setq meghanada-server-install-dir (expand-file-name "meghanada-server" doom-cache-dir) meghanada-use-company t meghanada-use-flycheck t meghanada-use-auto-start t) - (@map :map meghanada-mode-map :m "gd" 'meghanada-jump-declaration) + (map! :map meghanada-mode-map :m "gd" 'meghanada-jump-declaration) (unless (file-exists-p (meghanada--locate-server-jar)) (meghanada-install-server))) -(@def-package android-mode +(def-package! android-mode :commands android-mode :init - (@add-hook (java-mode groovy-mode nxml-mode) '+java|android-mode-maybe) + (add-hook! (java-mode groovy-mode nxml-mode) '+java|android-mode-maybe) :config - (@set :yas-minor-mode 'android-mode) - (@set :company-dict-minor-mode 'android-mode)) + (set! :yas-minor-mode 'android-mode) + (set! :company-dict-minor-mode 'android-mode)) -(@def-package groovy-mode +(def-package! groovy-mode :mode "\\.g\\(radle\\|roovy\\)$" :config - (@set :eval 'groovy-mode "groovy")) + (set! :eval 'groovy-mode "groovy")) diff --git a/modules/lang/java/packages.el b/modules/lang/java/packages.el index e6f72de5f..abcc37749 100644 --- a/modules/lang/java/packages.el +++ b/modules/lang/java/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/java/packages.el -(@package meghanada) -(@package android-mode) -(@package groovy-mode) +(package! meghanada) +(package! android-mode) +(package! groovy-mode) diff --git a/modules/lang/javascript/+screeps.el b/modules/lang/javascript/+screeps.el index f2f5a8558..bb6ffd145 100644 --- a/modules/lang/javascript/+screeps.el +++ b/modules/lang/javascript/+screeps.el @@ -166,11 +166,11 @@ "REACTIONS" "BODYPARTS_ALL" "RESOURCES_ALL" "COLORS_ALL")) ;; TODO -;; (@def-project screeps "screeps" +;; (def-project! screeps "screeps" ;; :match "/screeps/.+$" ;; :modes (nodejs-project-mode)) -;; (@add-hook screeps-project-mode +;; (add-hook! screeps-project-mode ;; (when (eq major-mode 'js2-mode) ;; (add-to-list 'flycheck-disabled-checkers 'javascript-jshint) ;; (setq js2-additional-externs (append '("_") screeps-objects screeps-constants)))) diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index 634ed9f21..4b315b69d 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -1,8 +1,8 @@ ;; lang/javascript/config.el -;; TODO (@load +screeps) +;; TODO (load! +screeps) -(@def-package js2-mode +(def-package! js2-mode :mode "\\.js$" :interpreter "node" :config @@ -10,19 +10,19 @@ js2-highlight-external-variables 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 - (@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 ?\} ?\) ?. :words "||" "&&") - (@map :map js2-mode-map + (map! :map js2-mode-map :localleader :nv ";" 'doom/append-semicolon @@ -55,10 +55,10 @@ :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 (js2r-extract-function js2r-extract-method js2r-introduce-parameter js2r-localize-parameter js2r-expand-object js2r-contract-object @@ -70,16 +70,16 @@ js2r-debug-this js2r-forward-slurp js2r-forward-barf)) -(@def-package company-tern +(def-package! company-tern :when (featurep 'company) :commands company-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$" :init (setq coffee-indent-like-python-mode t)) diff --git a/modules/lang/javascript/packages.el b/modules/lang/javascript/packages.el index 6e029318d..87495e8d8 100644 --- a/modules/lang/javascript/packages.el +++ b/modules/lang/javascript/packages.el @@ -1,13 +1,13 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/javascript/packages.el -(@package coffee-mode) -(@package js2-mode) -(@package js2-refactor) -(@package jsx-mode) -(@package nodejs-repl) -(@package tern) +(package! coffee-mode) +(package! js2-mode) +(package! js2-refactor) +(package! jsx-mode) +(package! nodejs-repl) +(package! tern) -(when (@featurep :completion company) - (@package company-tern)) +(when (featurep! :completion company) + (package! company-tern)) diff --git a/modules/lang/julia/config.el b/modules/lang/julia/config.el index a7a63a7de..a7bc5b603 100644 --- a/modules/lang/julia/config.el +++ b/modules/lang/julia/config.el @@ -4,5 +4,5 @@ :mode "\\.jl$" :interpreter "julia" :config - (@set :repl 'julia-mode '+julia/repl)) + (set! :repl 'julia-mode '+julia/repl)) diff --git a/modules/lang/julia/packages.el b/modules/lang/julia/packages.el index 53b7f1379..5e3bb5611 100644 --- a/modules/lang/julia/packages.el +++ b/modules/lang/julia/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/julia/packages.el -(@package julia-mode) +(package! julia-mode) diff --git a/modules/lang/latex/config.el b/modules/lang/latex/config.el index 7ce96223f..345b54445 100644 --- a/modules/lang/latex/config.el +++ b/modules/lang/latex/config.el @@ -13,7 +13,7 @@ ;; Plugins ;; -(@def-package auctex +(def-package! auctex :mode ("\\.tex$" . LaTeX-mode) :init (add-hook 'LaTeX-mode-hook 'turn-on-auto-fill) @@ -23,25 +23,25 @@ TeX-source-correlate-start-server 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 (setq bibtex-dialect 'biblatex bibtex-align-at-equal-sign t bibtex-text-indentation 20 bibtex-completion-bibliography (list +latex-bibtex-default-file)) - (@map :map bibtex-mode-map + (map! :map bibtex-mode-map "C-c \\" 'bibtex-fill-entry)) -(@def-package reftex ; built-in +(def-package! reftex ; built-in :commands turn-on-reftex :init (add-hook 'LaTeX-mode-hook 'turn-on-reftex) @@ -49,13 +49,13 @@ (setq reftex-plug-into-AUCTeX t reftex-default-bibliography (list +latex-bibtex-default-file)) - (@map :map reftex-mode-map + (map! :map reftex-mode-map :leader :n ";" 'reftex-toc)) -(@def-package ivy-bibtex +(def-package! ivy-bibtex :commands ivy-bibtex) -(@def-package helm-bibtex +(def-package! helm-bibtex :commands helm-bibtex) diff --git a/modules/lang/latex/packages.el b/modules/lang/latex/packages.el index 4a01aa37a..ebf26c035 100644 --- a/modules/lang/latex/packages.el +++ b/modules/lang/latex/packages.el @@ -1,12 +1,12 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/latex/packages.el -(@package auctex) -;; (@package auctex-latexmk) +(package! auctex) +;; (package! auctex-latexmk) -(when (@featurep :completion company) - (@package company-auctex)) -(when (@featurep :completion ivy) - (@package ivy-bibtex)) -(when (@featurep :completion helm) - (@package helm-bibtex)) +(when (featurep! :completion company) + (package! company-auctex)) +(when (featurep! :completion ivy) + (package! ivy-bibtex)) +(when (featurep! :completion helm) + (package! helm-bibtex)) diff --git a/modules/lang/lua/config.el b/modules/lang/lua/config.el index 90adb8ee9..ab14d83b8 100644 --- a/modules/lang/lua/config.el +++ b/modules/lang/lua/config.el @@ -1,24 +1,24 @@ ;;; lang/lua/config.el --- lua + Love2D -(@def-package lua-mode +(def-package! lua-mode :mode "\\.lua$" :interpreter "lua" :init (add-hook 'lua-mode-hook 'flycheck-mode) :config - (@set :company-backend 'lua-mode '(company-lua company-yasnippet)) - (@set :electric 'lua-mode :words '("else" "end")) - (@set :repl 'lua-mode '+lua/repl) + (set! :company-backend 'lua-mode '(company-lua company-yasnippet)) + (set! :electric 'lua-mode :words '("else" "end")) + (set! :repl 'lua-mode '+lua/repl) ;; sp's lua-specific rules are obnoxious, so we disable them (setq sp-pairs (delete (assq 'lua-mode sp-pairs) sp-pairs))) -(@def-package company-lua +(def-package! company-lua :after lua-mode) -(@def-package moonscript +(def-package! moonscript :mode ("\\.moon$" . moonscript-mode) :config (push '(moonscript-mode moonscript-indent-offset) editorconfig-indentation-alist)) diff --git a/modules/lang/lua/packages.el b/modules/lang/lua/packages.el index b615badda..c5fe05e07 100644 --- a/modules/lang/lua/packages.el +++ b/modules/lang/lua/packages.el @@ -1,9 +1,9 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/lua/packages.el -(@package lua-mode) -(@package moonscript) +(package! lua-mode) +(package! moonscript) -(when (@featurep :completion company) - (@package company-lua)) +(when (featurep! :completion company) + (package! company-lua)) diff --git a/modules/lang/markdown/config.el b/modules/lang/markdown/config.el index 331d3779b..8ef61802d 100644 --- a/modules/lang/markdown/config.el +++ b/modules/lang/markdown/config.el @@ -1,6 +1,6 @@ ;;; lang/markdown/config.el -(@def-package markdown-mode +(def-package! markdown-mode :mode ("\\.m\\(d\\|arkdown\\)$" "/README$" ("/README\\.md$" . gfm-mode)) :init @@ -11,9 +11,9 @@ markdown-gfm-additional-languages '("sh")) :config - (@set :electric 'markdown-mode :chars '(?+ ?#)) + (set! :electric 'markdown-mode :chars '(?+ ?#)) - (@add-hook markdown-mode + (add-hook! markdown-mode (auto-fill-mode +1) (setq line-spacing 2 fill-column 70)) @@ -22,7 +22,7 @@ '(markdown-mode gfm-mode) "\`\`\`" "\`\`\`" :post-handlers '(("||\n" "RET"))) - (@map :map gfm-mode-map + (map! :map gfm-mode-map "`" 'self-insert-command :map markdown-mode-map @@ -54,6 +54,6 @@ :nv "L" 'markdown-insert-reference-link-dwim)))) -(@def-package markdown-toc +(def-package! markdown-toc :commands markdown-toc-generate-toc) diff --git a/modules/lang/markdown/packages.el b/modules/lang/markdown/packages.el index 596a73e28..72eee45f7 100644 --- a/modules/lang/markdown/packages.el +++ b/modules/lang/markdown/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/markdown/packages.el -(@package markdown-mode) -(@package markdown-toc) +(package! markdown-mode) +(package! markdown-toc) diff --git a/modules/lang/octave/config.el b/modules/lang/octave/config.el index 6cac56de6..2a1df2efa 100644 --- a/modules/lang/octave/config.el +++ b/modules/lang/octave/config.el @@ -1,14 +1,14 @@ ;;; lang/octave/config.el ;; built-in -(@def-package octave +(def-package! octave :mode (("\\.m$" . octave-mode)) :commands (octave-mode run-octave) - :config (@set :repl 'octave-mode 'run-octave)) + :config (set! :repl 'octave-mode 'run-octave)) ;; (use-package ac-octave ;; :config -;; (@add-hook octave-mode +;; (add-hook! octave-mode ;; (require 'ac-octave) ;; (setq ac-sources '(ac-source-octave)))) diff --git a/modules/lang/org/+attach.el b/modules/lang/org/+attach.el index c219d95aa..ca22a73bc 100644 --- a/modules/lang/org/+attach.el +++ b/modules/lang/org/+attach.el @@ -39,6 +39,6 @@ ,@dnd-protocol-alist)) ;; keybinds - ;; (@map :leader :n "oa" (@find-file-in +org-attachment-dir)) + ;; (map! :leader :n "oa" (find-file-in! +org-attachment-dir)) ) diff --git a/modules/lang/org/+capture.el b/modules/lang/org/+capture.el index d188d59d2..3167a3e36 100644 --- a/modules/lang/org/+capture.el +++ b/modules/lang/org/+capture.el @@ -13,7 +13,7 @@ (require 'org-capture) (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) "If org-capture creates a new frame, this initializes it properly, by diff --git a/modules/lang/org/+export.el b/modules/lang/org/+export.el index 8c3b71e1c..427fd9cd4 100644 --- a/modules/lang/org/+export.el +++ b/modules/lang/org/+export.el @@ -23,6 +23,6 @@ ;; (setq org-pandoc-options '((standalone . t) (mathjax . t) (parse-raw . t))) ;; keybinds - ;; (@map :leader :n "oe" (@find-file-in org-export-directory)) + ;; (map! :leader :n "oe" (find-file-in! org-export-directory)) ) diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index 049515a33..a4c3e18fe 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -35,9 +35,9 @@ ;; "A list of attachments for the current buffer. This is so my custom attachment ;; system can keep track of each buffer's attachments.") -(@load +attach) -(@load +capture) -(@load +export) +(load! +attach) +(load! +capture) +(load! +export) ;; @@ -75,7 +75,7 @@ :keymap (make-sparse-keymap) :group 'evil-org) - (@set :popup + (set! :popup '(" *Agenda Commands*" :size 30 :noselect t) '(" *Org todo*" :size 5 :noselect t) '("*Calendar*" :size 0.4 :noselect t) @@ -216,10 +216,10 @@ (sp-local-pair "{" nil)) ;; bullets - (@def-package org-bullets :commands org-bullets-mode) + (def-package! org-bullets :commands org-bullets-mode) ;; Keybinds - (@map (:map org-mode-map + (map! (:map org-mode-map "RET" nil "C-j" nil "C-k" nil @@ -262,18 +262,18 @@ :nv "k" 'evil-previous-visual-line :v "" '+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 :v "M-a" 'mark-whole-buffer - :ni "" (@λ (+org/insert-item 'below)) - :ni "" (@λ (+org/insert-item 'above)) + :ni "" (λ! (+org/insert-item 'below)) + :ni "" (λ! (+org/insert-item 'above)) ;; Formatting shortcuts - :i "M-b" (@λ (+org-surround "*")) ; bold - :i "M-u" (@λ (+org-surround "_")) ; underline - :i "M-i" (@λ (+org-surround "/")) ; italics - :i "M-`" (@λ (+org-surround "+")) ; strikethrough + :i "M-b" (λ! (+org-surround "*")) ; bold + :i "M-u" (λ! (+org-surround "_")) ; underline + :i "M-i" (λ! (+org-surround "/")) ; italics + :i "M-`" (λ! (+org-surround "+")) ; strikethrough :v "M-b" "S*" :v "M-u" "S_" @@ -288,17 +288,17 @@ :n "?" 'org-tags-view :n "D" 'org-deadline :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 "a" 'org-agenda :n "d" 'org-time-stamp :n "e" 'org-edit-special :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 "s" 'org-schedule - :n "t" (@λ (org-todo (if (org-entry-is-todo-p) 'none 'todo))) - :v "t" (@λ (evil-ex-normal evil-visual-beginning evil-visual-end "\\t")) + :n "t" (λ! (org-todo (if (org-entry-is-todo-p) 'none 'todo))) + :v "t" (λ! (evil-ex-normal evil-visual-beginning evil-visual-end "\\t")) :n "v" 'variable-pitch-mode ;; :n "w" 'writing-mode ;; :n "x" '+org/remove-link @@ -308,25 +308,25 @@ :n "za" '+org/toggle-fold :n "zA" 'org-shifttab :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 "zm" (@λ (outline-hide-sublevels 1)) + :n "zm" (λ! (outline-hide-sublevels 1)) :n "zo" 'outline-show-subtree :n "zO" 'outline-show-all :n "zr" 'outline-show-all - :m "]]" (@λ (call-interactively 'org-forward-heading-same-level) (org-beginning-of-line)) - :m "[[" (@λ (call-interactively 'org-backward-heading-same-level) (org-beginning-of-line)) + :m "]]" (λ! (call-interactively 'org-forward-heading-same-level) (org-beginning-of-line)) + :m "[[" (λ! (call-interactively 'org-backward-heading-same-level) (org-beginning-of-line)) :m "]l" 'org-next-link :m "[l" 'org-previous-link :m "gh" 'outline-up-heading :m "gj" 'org-forward-heading-same-level :m "gk" 'org-backward-heading-same-level - :m "gl" (@λ (call-interactively 'outline-next-visible-heading) (show-children)) + :m "gl" (λ! (call-interactively 'outline-next-visible-heading) (show-children)) :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) (t . "open \"%s\"")))) (call-interactively 'org-open-at-point))) @@ -336,13 +336,13 @@ :m "^" 'org-beginning-of-line :n "<" 'org-metaleft :n ">" 'org-metaright - :v "<" (@λ (org-metaleft) (evil-visual-restore)) - :v ">" (@λ (org-metaright) (evil-visual-restore)) + :v "<" (λ! (org-metaleft) (evil-visual-restore)) + :v ">" (λ! (org-metaright) (evil-visual-restore)) :n "-" 'org-cycle-list-bullet :m "" 'org-cycle) (:map org-src-mode-map - :n "" (@λ (message "Exited") (org-edit-src-exit))) + :n "" (λ! (message "Exited") (org-edit-src-exit))) (:after org-agenda (:map org-agenda-mode-map diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el index bee0431c5..6b249c314 100644 --- a/modules/lang/org/packages.el +++ b/modules/lang/org/packages.el @@ -1,10 +1,10 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/org/packages.el -(@package org-plus-contrib :pin "org") -(@package org-download) -;; (@package ox-pandox) -;; (@package org-bullets) -;; (@package ob-go :recipe (:fetcher github :repo "pope/ob-go")) -;; (@package ob-http) +(package! org-plus-contrib :pin "org") +(package! org-download) +;; (package! ox-pandox) +;; (package! org-bullets) +;; (package! ob-go :recipe (:fetcher github :repo "pope/ob-go")) +;; (package! ob-http) diff --git a/modules/lang/php/config.el b/modules/lang/php/config.el index 9b929f3d5..1cd1cd7d2 100644 --- a/modules/lang/php/config.el +++ b/modules/lang/php/config.el @@ -1,12 +1,12 @@ ;;; lang/php/config.el -;; (@def-package hack-mode +;; (def-package! hack-mode ;; :mode "\\.hh$" ;; :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$") :interpreter "php" :init @@ -14,10 +14,10 @@ :config (setq php-template-compatibility nil) - (@set :repl 'php-mode 'php-boris) - (@set :company-bakend 'php-mode '(php-extras-company company-yasnippet)) + (set! :repl 'php-mode 'php-boris) + (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-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]"))) - (@map :map php-mode-map + (map! :map php-mode-map :localleader :nv ";" 'doom/append-semicolon @@ -44,7 +44,7 @@ :n "s" 'phpunit-current-test)) -(@def-package php-extras +(def-package! php-extras :after php-mode :init (add-hook 'php-mode-hook 'eldoc-mode) @@ -65,28 +65,28 @@ (message "PHP eldoc updated!"))))) -(@def-package php-refactor-mode +(def-package! php-refactor-mode :commands 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)) -(@def-package php-boris :commands php-boris) +(def-package! php-boris :commands php-boris) ;; ;; Projects ;; -;; (@def-project laravel "laravel" +;; (def-project! laravel "laravel" ;; :modes (php-mode yaml-mode web-mode nxml-mode js2-mode scss-mode) ;; :files ("artisan" "server.php")) ;; (defvar php-composer-conf (make-hash-table :test 'equal)) -;; (@def-project composer "composer" +;; (def-project! composer "composer" ;; :modes (web-mode php-mode) ;; :files ("composer.json") ;; :when diff --git a/modules/lang/php/packages.el b/modules/lang/php/packages.el index ea449573e..7ae4a781a 100644 --- a/modules/lang/php/packages.el +++ b/modules/lang/php/packages.el @@ -1,13 +1,13 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/php/packages.el -(@package php-boris) -(@package php-extras :recipe (:fetcher github :repo "arnested/php-extras")) -(@package php-mode) -(@package php-refactor-mode) -(@package phpunit) +(package! php-boris) +(package! php-extras :recipe (:fetcher github :repo "arnested/php-extras")) +(package! php-mode) +(package! php-refactor-mode) +(package! phpunit) -;; (@package hack-mode +;; (package! hack-mode ;; :recipe ;; (:fetcher url :url "https://raw.githubusercontent.com/facebook/hhvm/master/hphp/hack/editor-plugins/emacs/hack-mode.el")) diff --git a/modules/lang/processing/config.el b/modules/lang/processing/config.el index 4fc08193e..c8f5f0ac2 100644 --- a/modules/lang/processing/config.el +++ b/modules/lang/processing/config.el @@ -1,19 +1,19 @@ ;;; module-processing.el -(@def-package processing-mode +(def-package! processing-mode :commands (processing-mode processing-find-sketch) :mode "\\.pde$" :init (add-hook 'processing-compilation-mode-hook 'doom-hide-modeline-mode) :config - (@set :build 'build-sketch 'processing-mode 'processing-sketch-build) - (@set :popup "*processing-compilation*" :size 10 :noselect t) - (@set :eval 'processing-mode + (set! :build 'build-sketch 'processing-mode 'processing-sketch-build) + (set! :popup "*processing-compilation*" :size 10 :noselect t) + (set! :eval 'processing-mode '((:command . ,processing-location) (:exec . (lambda () (format "--sketch=%s --output=%s --force --run" (doom/project-root) processing-output-dir))) (:description . "Run Processing sketch"))) - (@set :company-backend 'processing-mode + (set! :company-backend 'processing-mode '(company-keywords :with company-yasnippet company-dabbrev-code)) (setq processing-location "/usr/local/bin/processing-java" @@ -21,7 +21,7 @@ processing-sketchbook-dir "~/Dropbox/work/pde" processing-output-dir "/tmp") - (@map :map processing-mode-map + (map! :map processing-mode-map :nv "M-r" 'processing-sketch-run :m "gd" 'processing-find-in-reference :m "gF" 'processing-find-sketch @@ -32,7 +32,7 @@ :n "e" 'processing-open-examples :n "o" 'processing-open-sketchbook) - (@after company-keywords + (after! company-keywords (nconc company-keywords-alist (cons 'processing-mode (append processing-functions processing-builtins diff --git a/modules/lang/processing/packages.el b/modules/lang/processing/packages.el index d133bf69f..6c405e710 100644 --- a/modules/lang/processing/packages.el +++ b/modules/lang/processing/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/processing/packages.el -(@package processing-mode) +(package! processing-mode) diff --git a/modules/lang/python/config.el b/modules/lang/python/config.el index dd6f4cd51..45af602ae 100644 --- a/modules/lang/python/config.el +++ b/modules/lang/python/config.el @@ -1,6 +1,6 @@ ;;; lang/python/config.el -(@def-package python +(def-package! python :commands python-mode :init (setq python-environment-directory doom-cache-dir @@ -17,11 +17,11 @@ (add-hook 'python-mode-hook 'flycheck-mode) :config - (@set :repl 'python-mode '+python/repl) + (set! :repl 'python-mode '+python/repl) (define-key python-mode-map (kbd "DEL") nil)) ; interferes with smartparens -(@def-package anaconda-mode +(def-package! anaconda-mode :after python :init (add-hook 'python-mode-hook 'anaconda-mode) @@ -30,17 +30,17 @@ anaconda-mode-eldoc-as-single-line t) :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) (advice-add 'anaconda-mode-doc-buffer :after 'doom*anaconda-mode-doc-buffer)) -(@def-package company-anaconda +(def-package! company-anaconda :after anaconda-mode :config - (@set :emr 'python-mode + (set! :emr 'python-mode '(:nv anaconda-mode-show-doc "view documentation") '(:nv anaconda-mode-find-assignments "find assignments") '(:nv anaconda-mode-find-definitions "find definitions") @@ -48,20 +48,20 @@ '(:n anaconda-mode-find-references "show usages"))) -(@def-package pip-requirements +(def-package! pip-requirements :mode ("/requirements.txt$" . pip-requirements-mode)) -(@def-package nose +(def-package! nose :commands nose-mode :preface (defvar nose-mode-map (make-sparse-keymap)) :init - (@associate nose-mode :match "/test_.+\\.py$" :in (python-mode)) + (associate! nose-mode :match "/test_.+\\.py$" :in (python-mode)) :config - (@set :popup "*nosetests*" :size 0.4 :noselect t) - (@set :yas-minor-mode 'nose-mode) - (@map :map nose-mode-map + (set! :popup "*nosetests*" :size 0.4 :noselect t) + (set! :yas-minor-mode 'nose-mode) + (map! :map nose-mode-map :localleader :n "tr" 'nosetests-again :n "ta" 'nosetests-all diff --git a/modules/lang/python/packages.el b/modules/lang/python/packages.el index 3ba8b7bfa..c994f2ba6 100644 --- a/modules/lang/python/packages.el +++ b/modules/lang/python/packages.el @@ -1,9 +1,9 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/python/packages.el -(@package anaconda-mode) -(@package nose) -(@package pip-requirements) +(package! anaconda-mode) +(package! nose) +(package! pip-requirements) -(when (@featurep :completion company) - (@package company-anaconda)) +(when (featurep! :completion company) + (package! company-anaconda)) diff --git a/modules/lang/ruby/config.el b/modules/lang/ruby/config.el index 9c41b2888..e085ecbbd 100644 --- a/modules/lang/ruby/config.el +++ b/modules/lang/ruby/config.el @@ -1,21 +1,21 @@ ;;; lang/ruby/config.el -(@def-package ruby-mode +(def-package! ruby-mode :mode ("\\.rb$" "\\.rake$" "\\.gemspec$" "\\.?pryrc$" "/\\(Gem\\|Cap\\|Vagrant\\|Rake\\)file$") :interpreter "ruby" :init (add-hook 'ruby-mode-hook 'flycheck-mode) :config - (@set :build 'rake 'ruby-mode '+ruby/rake) - (@set :company-backend 'ruby-mode '(company-dabbrev-code)) - (@set :electric 'ruby-mode :words '("else" "end" "elseif")) - (@set :repl 'ruby-mode 'inf-ruby) + (set! :build 'rake 'ruby-mode '+ruby/rake) + (set! :company-backend 'ruby-mode '(company-dabbrev-code)) + (set! :electric 'ruby-mode :words '("else" "end" "elseif")) + (set! :repl 'ruby-mode 'inf-ruby) (setq ruby-deep-indent-paren t) ;; Don't interfere with my custom RET behavior (define-key ruby-mode-map [?\n] nil) - (@map :map ruby-mode-map + (map! :map ruby-mode-map :localleader :prefix "r" :desc "toggle block" :nv "b" 'ruby-toggle-block @@ -27,7 +27,7 @@ :desc "convert post conditional" :nv "cc" 'ruby-refactor-convert-post-conditional)) -(@def-package ruby-refactor +(def-package! ruby-refactor :commands (ruby-refactor-extract-to-method ruby-refactor-extract-local-variable ruby-refactor-extract-constant ruby-refactor-add-parameter @@ -35,16 +35,16 @@ ;; Highlight doc comments -(@def-package yard-mode +(def-package! yard-mode :commands yard-mode :init (add-hook 'ruby-mode-hook 'yard-mode)) -(@def-package rspec-mode +(def-package! rspec-mode :mode ("/\\.rspec$" . text-mode) :init - (@associate rspec-mode :match "/\\.rspec$") - (@associate rspec-mode :in (ruby-mode yaml-mode) :files ("/spec/")) + (associate! rspec-mode :match "/\\.rspec$") + (associate! rspec-mode :in (ruby-mode yaml-mode) :files ("/spec/")) (defvar rspec-mode-verifiable-map (make-sparse-keymap)) (defvar evilmi-ruby-match-tags '((("unless" "if") ("elsif" "else") "end") @@ -54,7 +54,7 @@ ;; Rake (("task" "namespace") () "end"))) :config - (@map :map rspec-mode-map + (map! :map rspec-mode-map :localleader :n "tr" 'rspec-rerun :n "ta" 'rspec-verify-all @@ -62,19 +62,19 @@ :n "tv" 'rspec-verify)) -(@def-package inf-ruby +(def-package! inf-ruby :commands (inf-ruby inf-ruby-console-auto) :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) ;; ;; TODO Frameworks ;; -;; (@def-project rake "rake" +;; (def-project! rake "rake" ;; :files ("Rakefile")) diff --git a/modules/lang/ruby/packages.el b/modules/lang/ruby/packages.el index 8859d6239..0a6c6f538 100644 --- a/modules/lang/ruby/packages.el +++ b/modules/lang/ruby/packages.el @@ -1,10 +1,10 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/ruby/packages.el -(@package inf-ruby) -(@package rspec-mode) -(@package ruby-refactor) -(@package yard-mode) +(package! inf-ruby) +(package! rspec-mode) +(package! ruby-refactor) +(package! yard-mode) -(when (@featurep :completion company) - (@package company-inf-ruby)) +(when (featurep! :completion company) + (package! company-inf-ruby)) diff --git a/modules/lang/rust/config.el b/modules/lang/rust/config.el index 43938a604..20d0de42b 100644 --- a/modules/lang/rust/config.el +++ b/modules/lang/rust/config.el @@ -3,33 +3,33 @@ (defvar +rust-cache-dir (concat doom-cache-dir "+rust/") "TODO") -(@def-package rust-mode +(def-package! rust-mode :mode "\\.rs$" :init (add-hook 'rust-mode-hook 'flycheck-mode) :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)) -(@def-package racer +(def-package! racer :after rust-mode :preface :init - (@add-hook rust-mode '(racer-mode eldoc-mode flycheck-rust-setup)) + (add-hook! rust-mode '(racer-mode eldoc-mode flycheck-rust-setup)) :config (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)) ;; TODO Unit test keybinds - (@set :company-backend 'rust-mode '(company-racer)) - (@map :map rust-mode-map :m "gd" 'racer-find-definition)) + (set! :company-backend 'rust-mode '(company-racer)) + (map! :map rust-mode-map :m "gd" 'racer-find-definition)) -(@def-package company-racer +(def-package! company-racer :after racer) -(@def-package flycheck-rust +(def-package! flycheck-rust :after rust-mode) diff --git a/modules/lang/rust/packages.el b/modules/lang/rust/packages.el index 8151c1ea6..ed106a64c 100644 --- a/modules/lang/rust/packages.el +++ b/modules/lang/rust/packages.el @@ -1,10 +1,10 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/rust/packages.el -(@package racer) -(@package rust-mode) +(package! racer) +(package! rust-mode) -(when (@featurep :feature syntax-checker) - (@package flycheck-rust)) -(when (@featurep :completion company) - (@package company-racer)) +(when (featurep! :feature syntax-checker) + (package! flycheck-rust)) +(when (featurep! :completion company) + (package! company-racer)) diff --git a/modules/lang/scala/config.el b/modules/lang/scala/config.el index 79c4415c9..0547305c6 100644 --- a/modules/lang/scala/config.el +++ b/modules/lang/scala/config.el @@ -1,17 +1,17 @@ ;;; lang/scala/config.el -(@def-package scala-mode +(def-package! scala-mode :mode "\\.s\\(cala\\|bt\\)$" :init (add-hook 'scala-mode-hook 'eldoc-mode) :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) :init (add-hook 'scala-mode-hook 'ensime-scala-mode-hook)) diff --git a/modules/lang/scala/packages.el b/modules/lang/scala/packages.el index 80bfcde54..c458f6851 100644 --- a/modules/lang/scala/packages.el +++ b/modules/lang/scala/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/scala/packages.el -(@package ensime) -(@package sbt-mode) -(@package scala-mode) +(package! ensime) +(package! sbt-mode) +(package! scala-mode) diff --git a/modules/lang/sh/config.el b/modules/lang/sh/config.el index 6e5166287..af8b4cbdd 100644 --- a/modules/lang/sh/config.el +++ b/modules/lang/sh/config.el @@ -1,18 +1,18 @@ ;;; lang/sh/config.el -(@def-package sh-script ; built-in +(def-package! sh-script ; built-in :mode (("\\.zsh$" . sh-mode) ("/bspwmrc$" . sh-mode)) :init - (@add-hook sh-mode '(flycheck-mode highlight-numbers-mode +sh|extra-fontify)) + (add-hook! sh-mode '(flycheck-mode highlight-numbers-mode +sh|extra-fontify)) :config - (@set :company-backend 'sh-mode '(company-shell)) - (@set :electric 'sh-mode :words '("else" "elif" "fi" "done" "then" "do" "esac" ";;")) - (@set :repl 'sh-mode '+sh/repl) + (set! :company-backend 'sh-mode '(company-shell)) + (set! :electric 'sh-mode :words '("else" "elif" "fi" "done" "then" "do" "esac" ";;")) + (set! :repl 'sh-mode '+sh/repl) (setq sh-indent-after-continuation 'always) ;; [pedantry intensifies] - (@add-hook sh-mode (setq mode-name "sh")) + (add-hook! sh-mode (setq mode-name "sh")) (defun +sh|detect-zsh () (when (and buffer-file-name (string-match-p "\\.zsh\\'" buffer-file-name)) @@ -20,7 +20,7 @@ (add-hook 'sh-mode-hook '+sh|detect-zsh)) -(@def-package company-shell +(def-package! company-shell :after sh-script :config (setq company-shell-delete-duplicates t)) diff --git a/modules/lang/sh/packages.el b/modules/lang/sh/packages.el index f6411290f..751744560 100644 --- a/modules/lang/sh/packages.el +++ b/modules/lang/sh/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/sh/packages.el -(when (@featurep :completion company) - (@package company-shell)) +(when (featurep! :completion company) + (package! company-shell)) diff --git a/modules/lang/swift/config.el b/modules/lang/swift/config.el index 31a3877af..dc026cffc 100644 --- a/modules/lang/swift/config.el +++ b/modules/lang/swift/config.el @@ -2,17 +2,17 @@ ;; TODO Set up emacs task runners for fruitstrap -(@def-package swift-mode +(def-package! swift-mode :mode "\\.swift$" :init (add-hook 'swift-mode-hook 'flycheck-mode) :config - (@set :repl 'swift-mode 'swift-mode-run-repl) ; TODO test this - (@after flycheck (push 'swift flycheck-checkers))) + (set! :repl 'swift-mode 'swift-mode-run-repl) ; TODO test this + (after! flycheck (push 'swift flycheck-checkers))) -(@def-package company-sourcekit +(def-package! company-sourcekit :after swift-mode :config - (@set :company-backend 'swift-mode '(company-sourcekit company-yasnippet))) + (set! :company-backend 'swift-mode '(company-sourcekit company-yasnippet))) diff --git a/modules/lang/swift/packages.el b/modules/lang/swift/packages.el index 00f382ce6..a9cc3a778 100644 --- a/modules/lang/swift/packages.el +++ b/modules/lang/swift/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/swift/packages.el -(@package swift-mode) +(package! swift-mode) -(when (@featurep :completion company) - (@package company-sourcekit)) +(when (featurep! :completion company) + (package! company-sourcekit)) diff --git a/modules/lang/typescript/config.el b/modules/lang/typescript/config.el index 59b361ef3..4684a99bf 100644 --- a/modules/lang/typescript/config.el +++ b/modules/lang/typescript/config.el @@ -1,17 +1,17 @@ ;;; lang/typescript/config.el -(@def-package typescript-mode +(def-package! typescript-mode :mode "\\.ts$" :init (add-hook 'typescript-mode-hook 'rainbow-delimiters-mode) :config - (@set :company-backend 'typescript-mode '(company-tide)) - (@set :electric 'typescript-mode :chars '(?\} ?\)) :words '("||" "&&")) + (set! :company-backend 'typescript-mode '(company-tide)) + (set! :electric 'typescript-mode :chars '(?\} ?\)) :words '("||" "&&")) ;; TODO emr definitions for: ;; + tide-jump-back ;; + (tide-jump-to-definition t) - (@set :emr 'typescript-mode + (set! :emr 'typescript-mode '(tide-find-references "find usages") '(tide-rename-symbol "rename symbol") '(tide-jump-to-definition "jump to definition") @@ -26,16 +26,16 @@ (tide-setup) (flycheck-mode +1) (eldoc-mode +1))) - (@add-hook (typescript-mode web-mode) '+typescript|tide-setup) + (add-hook! (typescript-mode web-mode) '+typescript|tide-setup) (advice-add 'tide-project-root :override 'doom-project-root) - (@map :map typescript-mode-map + (map! :map typescript-mode-map :m "gd" 'tide-jump-to-definition :m "K" 'tide-documentation-at-point)) -(@def-package tide +(def-package! tide :after typescript-mode :config (setq tide-format-options diff --git a/modules/lang/typescript/packages.el b/modules/lang/typescript/packages.el index f99382fff..41af79318 100644 --- a/modules/lang/typescript/packages.el +++ b/modules/lang/typescript/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/typescript/packages.el -(@package tide) -(@package typescript-mode) +(package! tide) +(package! typescript-mode) diff --git a/modules/lang/web/+css.el b/modules/lang/web/+css.el index eae4c0114..32f69e2af 100644 --- a/modules/lang/web/+css.el +++ b/modules/lang/web/+css.el @@ -3,7 +3,7 @@ (sp-with-modes '(css-mode scss-mode less-css-mode stylus-mode) (sp-local-pair "/*" "*/" :post-handlers '(("[d-3]||\n[i]" "RET") ("| " "SPC")))) -(@map :map* (css-mode-map scss-mode-map less-css-mode-map) +(map! :map* (css-mode-map scss-mode-map less-css-mode-map) :n "M-R" '+css/web-refresh-browser :localleader :nv ";" '+css/append-semicolon @@ -15,33 +15,33 @@ ;; Packages ;; -(@def-package css-mode +(def-package! css-mode :mode "\\.css$" :mode ("\\.scss$" . scss-mode) :init - (@add-hook css-mode + (add-hook! css-mode '(yas-minor-mode-on flycheck-mode rainbow-mode highlight-numbers-mode ;; doom|counsel-css-imenu-setup )) :config - (@set :company-backend '(css-mode scss-mode) '(company-css company-yasnippet)) - (@set :build 'scss 'scss-mode '+css/scss-build)) + (set! :company-backend '(css-mode scss-mode) '(company-css company-yasnippet)) + (set! :build 'scss 'scss-mode '+css/scss-build)) -(@def-package sass-mode +(def-package! sass-mode :mode "\\.sass$" :config (setq sass-command-options '("--style compressed")) - (@set :build 'sass 'sass-mode '+css/sass-build) - (@set :company-backend 'sass-mode '(company-css company-yasnippet))) + (set! :build 'sass 'sass-mode '+css/sass-build) + (set! :company-backend 'sass-mode '(company-css company-yasnippet))) -(@def-package less-css-mode +(def-package! less-css-mode :mode "\\.less$") -(@def-package stylus-mode +(def-package! stylus-mode :mode "\\.styl$" - :init (@add-hook stylus-mode '(yas-minor-mode-on flycheck-mode))) + :init (add-hook! stylus-mode '(yas-minor-mode-on flycheck-mode))) diff --git a/modules/lang/web/+html.el b/modules/lang/web/+html.el index a6de48642..12108266a 100644 --- a/modules/lang/web/+html.el +++ b/modules/lang/web/+html.el @@ -1,6 +1,6 @@ ;;; lang/web/config.el -(@def-package web-mode +(def-package! web-mode :mode ("\\.p?html?$" "\\.\\(tpl\\|blade\\)\\(\\.php\\)?$" "\\.erb$" @@ -12,13 +12,13 @@ :init (add-hook 'web-mode-hook 'turn-off-smartparens-mode) :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) ;; Fix blank line numbers after unfolding (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) "M-/" 'web-mode-comment-or-uncomment :i "SPC" 'self-insert-command @@ -31,17 +31,17 @@ :nv "]T" 'web-mode-element-child :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$") :config - (@set :company-backend 'pug-mode '(company-yasnippet)) - (@map :map pug-mode-map + (set! :company-backend 'pug-mode '(company-yasnippet)) + (map! :map pug-mode-map :i [tab] 'doom/dumb-indent :i [backtab] 'doom/dumb-dedent)) @@ -50,14 +50,14 @@ ;; Tools ;; -(@def-package emmet-mode +(def-package! emmet-mode :commands emmet-mode :preface (defvar emmet-mode-keymap (make-sparse-keymap)) :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 (setq emmet-move-cursor-between-quotes t) - (@map :map emmet-mode-keymap + (map! :map emmet-mode-keymap :v "M-e" 'emmet-wrap-with-markup :i "M-e" 'emmet-expand-yas :i "M-E" 'emmet-expand-line)) diff --git a/modules/lang/web/config.el b/modules/lang/web/config.el index 2f2e01dd5..48a740e6a 100644 --- a/modules/lang/web/config.el +++ b/modules/lang/web/config.el @@ -1,7 +1,7 @@ ;;; lang/web/config.el -(@load +html) -(@load +css) +(load! +html) +(load! +css) ;; @@ -9,7 +9,7 @@ ;; ;; (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) ;; :files ("bower.json") ;; :when @@ -23,7 +23,7 @@ ;; (puthash project-path it bower-conf))) ;; t)) -;; (@def-project angularjs "angular" +;; (def-project! angularjs "angular" ;; :modes (nodejs-project-mode bower-project-mode) ;; :when ;; (lambda (&rest _) @@ -36,15 +36,15 @@ ;; (cdr-safe (assq 'devDependencies npm))))) ;; (assq 'angular deps)))) -;; (@def-project jekyll ":{" +;; (def-project! jekyll ":{" ;; :modes (web-mode js-mode coffee-mode css-mode haml-mode pug-mode) ;; :match "/\\(\\(css\\|_\\(layouts\\|posts\\|sass\\)\\)/.+\\|.+.html\\)$" ;; :files ("config.yml" "_layouts/") -;; (@add-hook mode +;; (add-hook! mode ;; (when (eq major-mode 'web-mode) ;; (web-mode-set-engine "django")))) -;; (@def-project wordpress "wp" +;; (def-project! wordpress "wp" ;; :modes (php-mode web-mode css-mode haml-mode pug-mode) ;; :match "/wp-\\(\\(content\\|admin\\|includes\\)/\\)?.+$" ;; :files ("wp-config.php" "wp-content/")) diff --git a/modules/lang/web/packages.el b/modules/lang/web/packages.el index 2e25afa31..28cc6795f 100644 --- a/modules/lang/web/packages.el +++ b/modules/lang/web/packages.el @@ -5,14 +5,14 @@ ;; n/a ;; +html.el -(@package company-web) -(@package emmet-mode) -(@package haml-mode) -(@package pug-mode) -(@package web-mode) +(package! company-web) +(package! emmet-mode) +(package! haml-mode) +(package! pug-mode) +(package! web-mode) ;; +css.el -(@package less-css-mode) -(@package sass-mode) -(@package stylus-mode) +(package! less-css-mode) +(package! sass-mode) +(package! stylus-mode) diff --git a/modules/private/hlissner/+bindings.el b/modules/private/hlissner/+bindings.el index c19447469..937866bac 100644 --- a/modules/private/hlissner/+bindings.el +++ b/modules/private/hlissner/+bindings.el @@ -4,7 +4,7 @@ (setq x-super-keysym 'alt x-alt-keysym 'meta) -(defmacro @find-file-in (path &optional project-p) +(defmacro find-file-in! (path &optional project-p) "Returns a interactive function for searching files" `(lambda () (interactive) (let ((default-directory ,path)) @@ -12,7 +12,7 @@ '(call-interactively (command-remapping 'projectile-find-file)) '(call-interactive (command-remapping 'find-file)))))) -(@map +(map! ;; Essential "M-x" 'execute-extended-command "A-x" 'execute-extended-command @@ -22,7 +22,7 @@ [f9] 'doom/what-face "C-`" 'doom/popup-toggle ;; Text-scaling - "M-0" (@λ (text-scale-set 0)) + "M-0" (λ! (text-scale-set 0)) "M-=" 'text-scale-increase "M--" 'text-scale-decrease ;; Simple window navigation/manipulation @@ -46,15 +46,15 @@ :n [C-escape] 'evil-normal-state ;; Switching tabs (workgroups) - "M-1" (@λ (+workspace/switch-to 0)) - "M-2" (@λ (+workspace/switch-to 1)) - "M-3" (@λ (+workspace/switch-to 2)) - "M-4" (@λ (+workspace/switch-to 3)) - "M-5" (@λ (+workspace/switch-to 4)) - "M-6" (@λ (+workspace/switch-to 5)) - "M-7" (@λ (+workspace/switch-to 6)) - "M-8" (@λ (+workspace/switch-to 7)) - "M-9" (@λ (+workspace/switch-to 8)) + "M-1" (λ! (+workspace/switch-to 0)) + "M-2" (λ! (+workspace/switch-to 1)) + "M-3" (λ! (+workspace/switch-to 2)) + "M-4" (λ! (+workspace/switch-to 3)) + "M-5" (λ! (+workspace/switch-to 4)) + "M-6" (λ! (+workspace/switch-to 5)) + "M-7" (λ! (+workspace/switch-to 6)) + "M-8" (λ! (+workspace/switch-to 7)) + "M-9" (λ! (+workspace/switch-to 8)) "M-0" '+workspace/switch-to-last [M-backspace] 'doom/backward-kill-to-bol-and-indent @@ -115,7 +115,7 @@ (:desc "SSH/FTP" :prefix "u" :desc "Upload local" :n "u" '+upload/local - :desc "Upload local (force)" :n "U" (@λ (+upload/local t)) + :desc "Upload local (force)" :n "U" (λ! (+upload/local t)) :desc "Download remote" :n "d" '+upload/remote-download :desc "Diff local & remote" :n "D" '+upload/diff :desc "Browse remote files" :n "." '+upload/browse @@ -245,7 +245,7 @@ :i "C-s" 'company-yasnippet :i "C-o" 'company-capf :i "C-n" 'company-dabbrev-code - :i "C-p" (@λ (let ((company-selection-wrap-around t)) + :i "C-p" (λ! (let ((company-selection-wrap-around t)) (call-interactively 'company-dabbrev-code) (company-select-previous-or-abort)))) ;; evil-visual-star @@ -286,7 +286,7 @@ ;; This section is dedicated to "fixing" certain keys so that they behave ;; properly or more like vim (or how I like it). -(@map (:unless window-system "TAB" [tab]) ; Fix TAB in terminal +(map! (:unless window-system "TAB" [tab]) ; Fix TAB in terminal ;; I want C-a and C-e to be a little smarter. C-a will jump to ;; indentation. Pressing it again will send you to the true bol. Same goes @@ -300,7 +300,7 @@ :i "" 'doom/dumb-indent :i "" 'doom/dumb-dedent :i "" 'indent-for-tab-command - :i "" (@λ (insert "\t")) + :i "" (λ! (insert "\t")) ;; 'smart' indentation for lisp modes (:after lisp-mode (:map lisp-mode-map :i [remap doom/dumb-indent] 'indent-for-tab-command)) diff --git a/modules/private/hlissner/+commands.el b/modules/private/hlissner/+commands.el index d07ca147d..4f070b7e6 100644 --- a/modules/private/hlissner/+commands.el +++ b/modules/private/hlissner/+commands.el @@ -1,86 +1,86 @@ -(defalias '@ex 'evil-ex-define-cmd) +(defalias 'ex! 'evil-ex-define-cmd) ;;; Custom commands ;; Emacs utilities -(@ex "bc[omp]" '+hlissner:byte-compile) -(@ex "clog" 'global-command-log-mode) -(@ex "minor" 'describe-minor-mode) ; list minor modes -(@ex "re[load]" 'doom/reload) -(@ex "re[load]au" 'doom/reload-autoloads) +(ex! "bc[omp]" '+hlissner:byte-compile) +(ex! "clog" 'global-command-log-mode) +(ex! "minor" 'describe-minor-mode) ; list minor modes +(ex! "re[load]" 'doom/reload) +(ex! "re[load]au" 'doom/reload-autoloads) ;; Editing -(@ex "@" '+evil:macro-on-all-lines) ; TODO Test me -(@ex "date" '+text:insert-date) -(@ex "enhtml" '+hlissner:encode-html-entities) -(@ex "dehtml" '+hlissner:decode-html-entities) -(@ex "ie[dit]" 'evil-multiedit-ex-match) -(@ex "na[rrow]" '+hlissner:narrow-buffer) -(@ex "ref[actor]" 'emr-show-refactor-menu) -(@ex "retab" '+hlissner:retab) +(ex! "@" '+evil:macro-on-all-lines) ; TODO Test me +(ex! "date" '+text:insert-date) +(ex! "enhtml" '+hlissner:encode-html-entities) +(ex! "dehtml" '+hlissner:decode-html-entities) +(ex! "ie[dit]" 'evil-multiedit-ex-match) +(ex! "na[rrow]" '+hlissner:narrow-buffer) +(ex! "ref[actor]" 'emr-show-refactor-menu) +(ex! "retab" '+hlissner:retab) ;; External resources -;; TODO (@ex "db" 'doom:db) -;; TODO (@ex "dbu[se]" 'doom:db-select) -;; TODO (@ex "go[ogle]" 'doom:google-search) -(@ex "http" 'httpd-start) ; start http server -(@ex "repl" '+repl/run) ; invoke or send to repl -;; TODO (@ex "rx" 'doom:regex) ; open re-builder -(@ex "sh[ell]" '+eshell:run) -(@ex "t[mux]" '+tmux:run) ; send to tmux -(@ex "tcd" '+tmux:cd-here) ; cd to default-directory in tmux -(@ex "x" 'doom:scratch-buffer) +;; TODO (ex! "db" 'doom:db) +;; TODO (ex! "dbu[se]" 'doom:db-select) +;; TODO (ex! "go[ogle]" 'doom:google-search) +(ex! "http" 'httpd-start) ; start http server +(ex! "repl" '+repl/run) ; invoke or send to repl +;; TODO (ex! "rx" 'doom:regex) ; open re-builder +(ex! "sh[ell]" '+eshell:run) +(ex! "t[mux]" '+tmux:run) ; send to tmux +(ex! "tcd" '+tmux:cd-here) ; cd to default-directory in tmux +(ex! "x" 'doom:scratch-buffer) ;; GIT -(@ex "gbrowse" '+vcs/git-browse) ; show file in github/gitlab -(@ex "gissues" '+vcs/git-browse-issues) ; show github issues -(@ex "git" 'magit-status) ; open magit status window -(@ex "gstage" 'magit-stage) -(@ex "gunstage" 'magit-unstage) +(ex! "gbrowse" '+vcs/git-browse) ; show file in github/gitlab +(ex! "gissues" '+vcs/git-browse-issues) ; show github issues +(ex! "git" 'magit-status) ; open magit status window +(ex! "gstage" 'magit-stage) +(ex! "gunstage" 'magit-unstage) ;; TODO :gblame ;; TODO :grevert ;; TODO :gblame ;; Dealing with buffers -(@ex "clean[up]" 'doom:cleanup-buffers) ; Clean up old/unreal buffers -(@ex "k[ill]" 'doom/kill-real-buffer) ; Kill current buffer -(@ex "k[ill]all" 'doom:kill-all-buffers) ; Kill buffers (bang = in project) -(@ex "k[ill]m" 'doom:kill-matching-buffers) ; kill buffers by regexp -(@ex "k[ill]o" 'doom:kill-other-buffers) ; kill other buffers -(@ex "l[ast]" 'doom/popup-last-buffer) ; pop up last popup -(@ex "m[sg]" 'view-echo-area-messages) ; open *messages* in popup -(@ex "pop[up]" 'doom/popup) ; open current buffer in popup +(ex! "clean[up]" 'doom/cleanup-buffers) ; Clean up old/unreal buffers +(ex! "k[ill]" 'doom/kill-real-buffer) ; Kill current buffer +(ex! "k[ill]all" 'doom:kill-all-buffers) ; Kill buffers (bang = in project) +(ex! "k[ill]m" 'doom:kill-matching-buffers) ; kill buffers by regexp +(ex! "k[ill]o" 'doom:kill-other-buffers) ; kill other buffers +(ex! "l[ast]" 'doom/popup-last-buffer) ; pop up last popup +(ex! "m[sg]" 'view-echo-area-messages) ; open *messages* in popup +(ex! "pop[up]" 'doom/popup) ; open current buffer in popup ;; Project navigation -(@ex "a" 'projectile-find-other-file) -(@ex "ag" '+ivy:ag-search) -(@ex "ag[cw]d" '+ivy:ag-search-cwd) -(@ex "cd" '+hlissner:cd) -(@ex "sw[iper]" '+ivy:swiper) ; in-file search +(ex! "a" 'projectile-find-other-file) +(ex! "ag" '+ivy:ag-search) +(ex! "ag[cw]d" '+ivy:ag-search-cwd) +(ex! "cd" '+hlissner:cd) +(ex! "sw[iper]" '+ivy:swiper) ; in-file search ;; Project tools -(@ex "build" '+eval/build) -(@ex "debug" '+debug/run) -(@ex "er[rors]" 'flycheck-list-errors) -(@ex "todo" '+ivy/tasks) +(ex! "build" '+eval/build) +(ex! "debug" '+debug/run) +(ex! "er[rors]" 'flycheck-list-errors) +(ex! "todo" '+ivy/tasks) ;; File operations -(@ex "mv" '+evil:file-move) -(@ex "rm" '+evil:file-delete) +(ex! "mv" '+evil:file-move) +(ex! "rm" '+evil:file-delete) ;; Sessions/tabs -(@ex "sclear" '+workspace/kill-session) -(@ex "sl[oad]" '+workspace:load-session) ; TODO :sload [NAME] -(@ex "ss[ave]" '+workspace:save-session) ; TODO :ssave [NAME] -(@ex "tabc[lose]" '+workspace:delete) -(@ex "tabclear" 'doom/kill-all-buffers) -(@ex "tabl[ast]" '+workspace/switch-to-list) -(@ex "tabload" '+workspace:load) -(@ex "tabn[ew]" '+workspace:new) -(@ex "tabn[ext]" '+workspace:switch-next) -(@ex "tabp[rev]" '+workspace:switch-previous) -(@ex "tabr[ename]" '+workspace:rename) -(@ex "tabs" '+workspace/display) -(@ex "tabsave" '+workspace:save) +(ex! "sclear" '+workspace/kill-session) +(ex! "sl[oad]" '+workspace:load-session) ; TODO :sload [NAME] +(ex! "ss[ave]" '+workspace:save-session) ; TODO :ssave [NAME] +(ex! "tabc[lose]" '+workspace:delete) +(ex! "tabclear" 'doom/kill-all-buffers) +(ex! "tabl[ast]" '+workspace/switch-to-list) +(ex! "tabload" '+workspace:load) +(ex! "tabn[ew]" '+workspace:new) +(ex! "tabn[ext]" '+workspace:switch-next) +(ex! "tabp[rev]" '+workspace:switch-previous) +(ex! "tabr[ename]" '+workspace:rename) +(ex! "tabs" '+workspace/display) +(ex! "tabsave" '+workspace:save) ;; Org-mode -(@ex "org" '+org:capture) +(ex! "org" '+org:capture) diff --git a/modules/private/hlissner/config.el b/modules/private/hlissner/config.el index 4eb9f3be0..363bc652f 100644 --- a/modules/private/hlissner/config.el +++ b/modules/private/hlissner/config.el @@ -1,8 +1,8 @@ ;;; private/hlissner/config.el -(@load +bindings) ; my key bindings +(load! +bindings) ; my key bindings (when (featurep 'evil) - (@load +commands)) ; my custom ex commands + (load! +commands)) ; my custom ex commands (defvar +hlissner-snippets-dir (expand-file-name "snippets/" (file-name-directory load-file-name))) @@ -12,19 +12,19 @@ ;; the right side of the frame (which causes display glitches). I fix this by ;; simply cycling fullscreen: (when (and (display-graphic-p) IS-LINUX) - (@add-hook 'after-init-hook + (add-hook! 'after-init-hook (set-frame-parameter nil 'fullscreen 'fullboth) (set-frame-parameter nil 'fullscreen nil))) ;; Don't use default snippets, use mine. -(@after yasnippet +(after! yasnippet (setq yas-snippet-dirs (append (list '+hlissner-snippets-dir) (delete 'yas-installed-snippets-dir yas-snippet-dirs)))) ;; Repeat all sorts of motion and searches with SPC & C-SPC -(defmacro +my@repeat-with-spc (command next-func prev-func) +(defmacro +my!repeat-with-spc (command next-func prev-func) "Repeat motions with SPC/S-SPC" (let ((fn-sym (intern (format "+evil*repeat-%s" command)))) `(progn @@ -33,31 +33,31 @@ (define-key evil-motion-state-map (kbd "S-SPC") ',prev-func)) (advice-add ',command :before ',fn-sym)))) -(@after evil +(after! evil ;; n/N - (+my@repeat-with-spc evil-ex-search-next evil-ex-search-next evil-ex-search-previous) - (+my@repeat-with-spc evil-ex-search-previous evil-ex-search-next evil-ex-search-previous) - (+my@repeat-with-spc evil-ex-search-forward evil-ex-search-next evil-ex-search-previous) - (+my@repeat-with-spc evil-ex-search-backward evil-ex-search-next evil-ex-search-previous) + (+my!repeat-with-spc evil-ex-search-next evil-ex-search-next evil-ex-search-previous) + (+my!repeat-with-spc evil-ex-search-previous evil-ex-search-next evil-ex-search-previous) + (+my!repeat-with-spc evil-ex-search-forward evil-ex-search-next evil-ex-search-previous) + (+my!repeat-with-spc evil-ex-search-backward evil-ex-search-next evil-ex-search-previous) ;; f/F/t/T/s/S - (@after evil-snipe + (after! evil-snipe (setq evil-snipe-repeat-keys nil evil-snipe-override-evil-repeat-keys nil) ; causes problems with remapped ; - (+my@repeat-with-spc evil-snipe-f evil-snipe-repeat evil-snipe-repeat-reverse) - (+my@repeat-with-spc evil-snipe-F evil-snipe-repeat evil-snipe-repeat-reverse) - (+my@repeat-with-spc evil-snipe-t evil-snipe-repeat evil-snipe-repeat-reverse) - (+my@repeat-with-spc evil-snipe-T evil-snipe-repeat evil-snipe-repeat-reverse) - (+my@repeat-with-spc evil-snipe-s evil-snipe-repeat evil-snipe-repeat-reverse) - (+my@repeat-with-spc evil-snipe-S evil-snipe-repeat evil-snipe-repeat-reverse) - (+my@repeat-with-spc evil-snipe-x evil-snipe-repeat evil-snipe-repeat-reverse) - (+my@repeat-with-spc evil-snipe-X evil-snipe-repeat evil-snipe-repeat-reverse)) + (+my!repeat-with-spc evil-snipe-f evil-snipe-repeat evil-snipe-repeat-reverse) + (+my!repeat-with-spc evil-snipe-F evil-snipe-repeat evil-snipe-repeat-reverse) + (+my!repeat-with-spc evil-snipe-t evil-snipe-repeat evil-snipe-repeat-reverse) + (+my!repeat-with-spc evil-snipe-T evil-snipe-repeat evil-snipe-repeat-reverse) + (+my!repeat-with-spc evil-snipe-s evil-snipe-repeat evil-snipe-repeat-reverse) + (+my!repeat-with-spc evil-snipe-S evil-snipe-repeat evil-snipe-repeat-reverse) + (+my!repeat-with-spc evil-snipe-x evil-snipe-repeat evil-snipe-repeat-reverse) + (+my!repeat-with-spc evil-snipe-X evil-snipe-repeat evil-snipe-repeat-reverse)) ;; */# - (@after evil-visualstar - (+my@repeat-with-spc evil-visualstar/begin-search-forward + (after! evil-visualstar + (+my!repeat-with-spc evil-visualstar/begin-search-forward evil-ex-search-next evil-ex-search-previous) - (+my@repeat-with-spc evil-visualstar/begin-search-backward + (+my!repeat-with-spc evil-visualstar/begin-search-backward evil-ex-search-previous evil-ex-search-next))) diff --git a/modules/tools/dired/config.el b/modules/tools/dired/config.el index 5d572006f..63ddfe647 100644 --- a/modules/tools/dired/config.el +++ b/modules/tools/dired/config.el @@ -32,7 +32,7 @@ ;; Packages ;; -(@def-package dired-k +(def-package! dired-k :after dired :config (setq dired-k-style 'git) @@ -40,7 +40,7 @@ (add-hook 'dired-after-readin-hook #'dired-k-no-revert)) ;; Striped dired buffers -(@def-package stripe-buffer +(def-package! stripe-buffer :commands stripe-buffer-mode :init (add-hook 'dired-mode-hook 'stripe-buffer-mode)) diff --git a/modules/tools/dired/packages.el b/modules/tools/dired/packages.el index 78cd36383..7f9baf245 100644 --- a/modules/tools/dired/packages.el +++ b/modules/tools/dired/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; emacs/dired/packages.el -(@package dired-k) -(@package stripe-buffer) +(package! dired-k) +(package! stripe-buffer) diff --git a/modules/tools/electric-indent/config.el b/modules/tools/electric-indent/config.el index f74715aa1..46f5fb917 100644 --- a/modules/tools/electric-indent/config.el +++ b/modules/tools/electric-indent/config.el @@ -18,7 +18,7 @@ (concat "\\<" (regexp-opt doom-electric-indent-words)))))) electric-indent-functions) -(@def-setting :electric (modes &rest plist) +(def-setting! :electric (modes &rest plist) "Declare :words (list of strings) or :chars (lists of chars) in MODES that trigger electric indentation." (declare (indent 1)) @@ -32,5 +32,5 @@ trigger electric indentation." (electric-indent-local-mode +1) ,(if chars `(setq electric-indent-chars ',chars)) ,(if words `(setq doom-electric-indent-words ',words))) - (@add-hook ,modes ',fn-name)))))) + (add-hook! ,modes ',fn-name)))))) diff --git a/modules/tools/eshell/autoload/eshell.el b/modules/tools/eshell/autoload/eshell.el index 53ca7279f..39d114801 100644 --- a/modules/tools/eshell/autoload/eshell.el +++ b/modules/tools/eshell/autoload/eshell.el @@ -25,7 +25,7 @@ "Open eshell in a separate workspace. Requires the (:feature workspaces) module to be loaded." (interactive) - (unless (@featurep :feature workspaces) + (unless (featurep! :feature workspaces) (user-error ":feature workspaces is required, but disabled")) (unless (+workspace-get "eshell" t) (+workspace/new "eshell")) diff --git a/modules/tools/eshell/config.el b/modules/tools/eshell/config.el index 4d96b6b66..e8e190ce2 100644 --- a/modules/tools/eshell/config.el +++ b/modules/tools/eshell/config.el @@ -10,7 +10,7 @@ (defvar +eshell-buffers '() "TODO") -(@def-package eshell ; built-in +(def-package! eshell ; built-in :init (setq eshell-directory-name (concat doom-cache-dir "/eshell") eshell-scroll-to-bottom-on-input 'all @@ -25,13 +25,13 @@ eshell-aliases-file "~/.eshell-aliases") :config - (@set :popup "^\\*eshell:popup\\*$" :regexp t :size 25) - (@set :evil-state 'eshell-mode 'insert) + (set! :popup "^\\*eshell:popup\\*$" :regexp t :size 25) + (set! :evil-state 'eshell-mode 'insert) (defun +eshell|keymap-setup () "Setup eshell keybindings. This must be done in a hook because eshell redefines its keys every time `eshell-mode' is enabled." - (@map :map eshell-mode-map + (map! :map eshell-mode-map :n "i" '+eshell/evil-prepend-maybe :n "I" '+eshell/evil-prepend :n "a" '+eshell/evil-append-maybe @@ -55,7 +55,7 @@ redefines its keys every time `eshell-mode' is enabled." (setq +eshell-buffers (delete (current-buffer) +eshell-buffers)) (cond ((doom-popup-p) (delete-window)) - ((and (@featurep :feature workspaces) + ((and (featurep! :feature workspaces) (string= "eshell" (+workspace-current-name))) (+workspace/close-window-or-workspace)))) (add-hook 'eshell-exit-hook 'doom|eshell-cleanup) @@ -67,7 +67,7 @@ redefines its keys every time `eshell-mode' is enabled." (add-hook 'eshell-mode-hook 'doom-hide-modeline-mode) - (@add-hook eshell-mode + (add-hook! eshell-mode (add-hook 'evil-insert-state-exit-hook 'hl-line-mode nil t) (add-hook 'evil-insert-state-entry-hook (lambda () (hl-line-mode -1)) nil t)) diff --git a/modules/tools/macos/autoload.el b/modules/tools/macos/autoload.el index eaa3c9280..0de4d04d5 100644 --- a/modules/tools/macos/autoload.el +++ b/modules/tools/macos/autoload.el @@ -17,28 +17,28 @@ (message "Running: %s" command) (shell-command command))) -(defmacro +macos@open-with (id &optional app dir) +(defmacro +macos!open-with (id &optional app dir) `(defun ,(intern (format "+macos/%s" id)) () (interactive) (+macos-open-with ,app ,dir))) ;;;###autoload (autoload '+macos/open-in-default-program "os/macos/autoload" nil t) -(+macos@open-with open-in-default-program) +(+macos!open-with open-in-default-program) ;;;###autoload (autoload '+macos/reveal-in-finder "os/macos/autoload" nil t) -(+macos@open-with reveal-in-finder "Finder" default-directory) +(+macos!open-with reveal-in-finder "Finder" default-directory) ;;;###autoload (autoload '+macos/reveal-project-in-finder "os/macos/autoload" nil t) -(+macos@open-with reveal-project-in-finder "Finder" (doom-project-root)) +(+macos!open-with reveal-project-in-finder "Finder" (doom-project-root)) ;;;###autoload (autoload '+macos/send-to-transmit "os/macos/autoload" nil t) -(+macos@open-with send-to-transmit "Transmit") +(+macos!open-with send-to-transmit "Transmit") ;;;###autoload (autoload '+macos/send-cwd-to-transmit "os/macos/autoload" nil t) -(+macos@open-with send-cwd-to-transmit "Transmit" default-directory) +(+macos!open-with send-cwd-to-transmit "Transmit" default-directory) ;;;###autoload (autoload '+macos/send-to-launchbar "os/macos/autoload" nil t) -(+macos@open-with send-to-launchbar "LaunchBar") +(+macos!open-with send-to-launchbar "LaunchBar") ;;;###autoload (autoload '+macos/send-project-to-launchbar "os/macos/autoload" nil t) -(+macos@open-with send-project-to-launchbar "LaunchBar" (doom-project-root)) +(+macos!open-with send-project-to-launchbar "LaunchBar" (doom-project-root)) diff --git a/modules/tools/restclient/config.el b/modules/tools/restclient/config.el index f63d38d8d..3466a0963 100644 --- a/modules/tools/restclient/config.el +++ b/modules/tools/restclient/config.el @@ -1,9 +1,9 @@ ;;; lang/rest/config.el -(@def-package restclient +(def-package! restclient :commands restclient-mode :mode ("\\.http$" . restclient-mode)) -(@def-package company-restclient +(def-package! company-restclient :after restclient - :config (@set :company-backend 'restclient-mode '(company-restclient))) + :config (set! :company-backend 'restclient-mode '(company-restclient))) diff --git a/modules/tools/restclient/packages.el b/modules/tools/restclient/packages.el index 9f3079b52..edd0b8fba 100644 --- a/modules/tools/restclient/packages.el +++ b/modules/tools/restclient/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/rest/packages.el -(@package restclient) -(when (@featurep :completion company) - (@package company-restclient)) +(package! restclient) +(when (featurep! :completion company) + (package! company-restclient)) diff --git a/modules/tools/rotate-text/config.el b/modules/tools/rotate-text/config.el index 23f945dc5..a4684b747 100644 --- a/modules/tools/rotate-text/config.el +++ b/modules/tools/rotate-text/config.el @@ -1,12 +1,12 @@ ;;; tools/rotate-text/config.el -(@def-package rotate-text +(def-package! rotate-text :commands (rotate-text rotate-text-backward) :config (push '("true" "false") rotate-text-words)) -(@def-setting :rotate (modes &rest plist) +(def-setting! :rotate (modes &rest plist) "Declare :symbols, :words or :patterns that `rotate-text' will cycle through." (declare (indent 1)) (let ((modes (if (listp modes) modes (list modes))) @@ -21,5 +21,5 @@ ,(if symbols `(setq rotate-text-local-symbols ',symbols)) ,(if words `(setq rotate-text-local-words ',words)) ,(if patterns `(setq rotate-text-local-patterns ',patterns))) - (@add-hook ,modes ',fn-name)))))) + (add-hook! ,modes ',fn-name)))))) diff --git a/modules/tools/rotate-text/packages.el b/modules/tools/rotate-text/packages.el index 0c856bfbb..f2c3547b7 100644 --- a/modules/tools/rotate-text/packages.el +++ b/modules/tools/rotate-text/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/rotate-text/packages.el -(@package rotate-text :recipe (:fetcher github :repo "debug-ito/rotate-text.el")) +(package! rotate-text :recipe (:fetcher github :repo "debug-ito/rotate-text.el")) diff --git a/modules/tools/tmux/autoload/tmux.el b/modules/tools/tmux/autoload/tmux.el index 0577fca5c..9c938e8bc 100644 --- a/modules/tools/tmux/autoload/tmux.el +++ b/modules/tools/tmux/autoload/tmux.el @@ -27,7 +27,7 @@ (errors (get-buffer-create " *tmux stderr*")) code) (unwind-protect - (if (= 0 (setq code (@quiet (shell-command cmdstr output errors)))) + (if (= 0 (setq code (quiet! (shell-command cmdstr output errors)))) (with-current-buffer output (setq +tmux-last-command `(,cmdstr ,@args)) (buffer-string)) diff --git a/modules/tools/upload/config.el b/modules/tools/upload/config.el index 5aa0a5272..5d31c9a8a 100644 --- a/modules/tools/upload/config.el +++ b/modules/tools/upload/config.el @@ -7,7 +7,7 @@ ;; ;; Interactive versions of `ssh-deploy's functions are in autoload.el. -(@def-package ssh-deploy +(def-package! ssh-deploy :commands (ssh-deploy-upload-handler ssh-deploy-upload-handler-forced ssh-deploy-diff-handler @@ -15,12 +15,12 @@ ssh-deploy-remote-changes-handler) :init ;; Maybe auto-upload on save - (@add-hook 'after-save-hook + (add-hook! 'after-save-hook (when (and (bound-and-true-p ssh-deploy-root-remote) ssh-deploy-on-explicit-save) (ssh-deploy-upload-handler))) ;; Maybe check for changes on open file (if possible) - (@add-hook 'find-file-hook + (add-hook! 'find-file-hook (when (bound-and-true-p ssh-deploy-root-remote) (unless ssh-deploy-root-local (setq ssh-deploy-root-local (doom-project-root))) diff --git a/modules/tools/upload/packages.el b/modules/tools/upload/packages.el index 58126eb5e..6ddf185fe 100644 --- a/modules/tools/upload/packages.el +++ b/modules/tools/upload/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; extra/upload/packages.el -(@package ssh-deploy) +(package! ssh-deploy) diff --git a/modules/ui/doom-dashboard/config.el b/modules/ui/doom-dashboard/config.el index e22f18b58..06d6741f9 100644 --- a/modules/ui/doom-dashboard/config.el +++ b/modules/ui/doom-dashboard/config.el @@ -28,7 +28,7 @@ "Major mode for the DOOM dashboard buffer.") -(@def-package all-the-icons :when (display-graphic-p)) +(def-package! all-the-icons :when (display-graphic-p)) (unless (display-graphic-p) (defalias 'all-the-icons-octicon 'ignore) @@ -42,18 +42,18 @@ (setq doom-fallback-buffer +doom-dashboard-name) (add-hook 'emacs-startup-hook '+doom-dashboard/open) -(@add-hook 'kill-buffer-query-functions +(add-hook! 'kill-buffer-query-functions (if (not (+doom-dashboard-p)) t (ignore-errors (+doom-dashboard-force-reload)) (bury-buffer) nil)) -(@add-hook 'window-setup-hook +(add-hook! 'window-setup-hook (add-hook 'window-configuration-change-hook '+doom-dashboard-reload) (+doom-dashboard-reload)) ;; Compatibility with `midnight-mode' and `clean-buffer-list' -(@after midnight-mode +(after! midnight-mode (push +doom-dashboard-name clean-buffer-list-kill-never-buffer-names) (push "^\\s-*\\*doom.+" clean-buffer-list-kill-never-regexps)) @@ -93,7 +93,7 @@ (unless +doom-dashboard-modeline (setq +doom-dashboard-old-modeline mode-line-format) (setq +doom-dashboard-modeline - (if (@featurep :ui doom-modeline) + (if (featurep! :ui doom-modeline) (doom-modeline 'project) mode-line-format))) (let ((old-pwd (or dir default-directory))) diff --git a/modules/ui/doom-dashboard/packages.el b/modules/ui/doom-dashboard/packages.el index c3bbcc5bb..005387a12 100644 --- a/modules/ui/doom-dashboard/packages.el +++ b/modules/ui/doom-dashboard/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/doom-dashboard/packages.el -(@package all-the-icons) +(package! all-the-icons) diff --git a/modules/ui/doom-modeline/config.el b/modules/ui/doom-modeline/config.el index 0c628468a..30ebd8f36 100644 --- a/modules/ui/doom-modeline/config.el +++ b/modules/ui/doom-modeline/config.el @@ -10,10 +10,10 @@ (defalias 'all-the-icons-wicon 'ignore) (defalias 'all-the-icons-alltheicon 'ignore)) -(@def-package all-the-icons :demand t +(def-package! all-the-icons :demand t :when (display-graphic-p)) -(@def-package eldoc-eval :demand t +(def-package! eldoc-eval :demand t :config ;; Show eldoc in the mode-line with `eval-expression' (setq eldoc-in-minibuffer-show-fn '+doom-modeline--show-eldoc) @@ -21,7 +21,7 @@ ;; anzu and evil-anzu make it possible to display current/total in the ;; mode-line. -(@def-package evil-anzu +(def-package! evil-anzu :init (defun +evil*lazy-load-evil-anzu (&rest _) (require 'evil-anzu)) (advice-add 'evil-ex-start-search :before '+evil*lazy-load-evil-anzu) @@ -163,8 +163,8 @@ active." s))))) ;; Only support python and ruby for now -(@add-hook python-mode (setq +doom-modeline-env-command "python --version 2>&1 | cut -d' ' -f2")) -(@add-hook ruby-mode (setq +doom-modeline-env-command "ruby --version 2>&1 | cut -d' ' -f2")) +(add-hook! python-mode (setq +doom-modeline-env-command "python --version 2>&1 | cut -d' ' -f2")) +(add-hook! ruby-mode (setq +doom-modeline-env-command "ruby --version 2>&1 | cut -d' ' -f2")) ;; @@ -175,7 +175,7 @@ active." (eq (selected-window) +doom-modeline-current-window)) ;; From from `powerline's `pl/make-xpm'. -(@def-memoized +doom-modeline--make-xpm (color height width) +(def-memoized! +doom-modeline--make-xpm (color height width) "Create an XPM bitmap." (when (display-graphic-p) (propertize @@ -262,7 +262,7 @@ project root). Excludes the file basename. See `doom-buffer-name' for that." ;; Segments ;; -(@def-modeline-segment buffer-project +(def-modeline-segment! buffer-project "Displays `doom-project-root'. This is for special buffers like the scratch buffer where knowing the current project directory is important." (let ((face (if (active) 'doom-modeline-buffer-project))) @@ -274,7 +274,7 @@ buffer where knowing the current project directory is important." (propertize (concat " " (abbreviate-file-name (doom-project-root))) 'face face)))) -(@def-modeline-segment buffer-info +(def-modeline-segment! buffer-info "Combined information about the current buffer, including the current working directory, the file name, and its state (modified, read-only or non-existent)." (let ((all-the-icons-scale-factor 1.2) @@ -303,7 +303,7 @@ directory, the file name, and its state (modified, read-only or non-existent)." (propertize (+doom-modeline--buffer-path) 'face (if faces `(:inherit ,faces)))))) -(@def-modeline-segment buffer-encoding +(def-modeline-segment! buffer-encoding "Displays the encoding and eol style of the buffer the same way Atom does." (concat (let ((eol-type (coding-system-eol-type buffer-file-coding-system))) (cond ((eq eol-type 0) "LF ") @@ -317,7 +317,7 @@ directory, the file name, and its state (modified, read-only or non-existent)." (t (upcase (symbol-name sys-name))))) " ")) -(@def-modeline-segment major-mode +(def-modeline-segment! major-mode "The major mode, including process, environment and text-scale info." (propertize (concat (format-mode-line mode-name) @@ -328,7 +328,7 @@ directory, the file name, and its state (modified, read-only or non-existent)." (format " (%+d)" text-scale-mode-amount))) 'face (if (active) 'doom-modeline-buffer-major-mode))) -(@def-modeline-segment vcs +(def-modeline-segment! vcs "Displays the current branch, colored based on its state." (when (and vc-mode buffer-file-name) (let ((backend (vc-backend buffer-file-name)) @@ -380,7 +380,7 @@ directory, the file name, and its state (modified, read-only or non-existent)." (when text (propertize text 'face face)))) -(@def-modeline-segment flycheck +(def-modeline-segment! flycheck "Displays color-coded flycheck error status in the current buffer with pretty icons." (when (boundp 'flycheck-last-status-change) @@ -404,7 +404,7 @@ icons." (when pos (goto-char pos)) (current-column))) -(@def-modeline-segment selection-info +(def-modeline-segment! selection-info "Information about the current selection, such as how many characters and lines are selected, or the NxM dimensions of a block selection." (when mark-active @@ -492,7 +492,7 @@ lines are selected, or the NxM dimensions of a block selection." length)) 'face (if (active) 'doom-modeline-panel)))) -(@def-modeline-segment matches +(def-modeline-segment! matches "TODO" (or (concat (+doom-modeline--macro-recording) (+doom-modeline--anzu) @@ -500,18 +500,18 @@ lines are selected, or the NxM dimensions of a block selection." (+doom-modeline--iedit)) " %I ")) -(@def-modeline-segment media-info +(def-modeline-segment! media-info "TODO" (cond ((eq major-mode 'image-mode) (let ((size (image-size (image-get-display-property) :pixels))) (format " %dx%d " (car size) (cdr size)))))) -(@def-modeline-segment eldoc +(def-modeline-segment! eldoc "TODO" (and (boundp 'str) str)) ;; -(@def-modeline-segment bar +(def-modeline-segment! bar (+doom-modeline--make-xpm (face-background (if (active) 'doom-modeline-bar @@ -519,7 +519,7 @@ lines are selected, or the NxM dimensions of a block selection." +doom-modeline-height +doom-modeline-bar-width)) -(@def-modeline-segment eldoc-bar +(def-modeline-segment! eldoc-bar (+doom-modeline--make-xpm (face-background 'doom-modeline-eldoc-bar) +doom-modeline-height @@ -530,19 +530,19 @@ lines are selected, or the NxM dimensions of a block selection." ;; Mode lines ;; -(@def-modeline main +(def-modeline! main (bar matches " " buffer-info " %l:%c %p " selection-info) (buffer-encoding vcs major-mode flycheck)) -(@def-modeline eldoc +(def-modeline! eldoc (eldoc-bar " " eldoc) (media-info major-mode)) -(@def-modeline minimal +(def-modeline! minimal (bar matches " " buffer-info) (media-info major-mode)) -(@def-modeline project +(def-modeline! project (bar " " buffer-project) (major-mode)) diff --git a/modules/ui/doom-modeline/packages.el b/modules/ui/doom-modeline/packages.el index 2fadec1e6..39cb1098b 100644 --- a/modules/ui/doom-modeline/packages.el +++ b/modules/ui/doom-modeline/packages.el @@ -16,8 +16,8 @@ ;;(require 'iedit) ;;(require 'evil-multiedit) -(@package all-the-icons) -(@package eldoc-eval) -(when (@featurep :feature evil) - (@package evil-anzu)) +(package! all-the-icons) +(package! eldoc-eval) +(when (featurep! :feature evil) + (package! evil-anzu)) diff --git a/modules/ui/doom/config.el b/modules/ui/doom/config.el index ff81ec2d7..168622171 100644 --- a/modules/ui/doom/config.el +++ b/modules/ui/doom/config.el @@ -39,7 +39,7 @@ ;; doom-one: gives Emacs a look inspired by Dark One in Atom. ;; -(@def-package doom-themes :demand t +(def-package! doom-themes :demand t :load-path "~/work/plugins/emacs-doom-theme" :config (load-theme +doom-theme t) @@ -69,7 +69,7 @@ (when doom-buffer-mode (doom-buffer-mode -1))) (add-hook 'doom-popup-mode-hook '+doom|buffer-mode-off) - (when (@featurep :feature workspaces) + (when (featurep! :feature workspaces) (defun +doom|restore-bright-buffers (&rest _) "Restore `doom-buffer-mode' in buffers when `persp-mode' loads a session." (dolist (buf (persp-buffer-list)) @@ -90,7 +90,7 @@ ;; Causes a flash around the cursor when it moves across a "large" distance. ;; Usually between windows, or across files. This makes it easier to keep track ;; where your cursor is, which I find helpful on my 30" 2560x1600 display. -(@def-package beacon +(def-package! beacon :after doom-themes :config (beacon-mode +1) @@ -102,7 +102,7 @@ beacon-blink-when-point-moves-vertically 10)) -(@after hideshow +(after! hideshow ;; Nicer code-folding overlays (setq hs-set-up-overlay (lambda (ov) @@ -112,7 +112,7 @@ ;; subtle diff indicators in the fringe -(@after git-gutter-fringe +(after! git-gutter-fringe ;; places the git gutter outside the margins. (setq-default fringes-outside-margins t) ;; thin fringe bitmaps diff --git a/modules/ui/doom/packages.el b/modules/ui/doom/packages.el index 533edb8b1..2d5508a0f 100644 --- a/modules/ui/doom/packages.el +++ b/modules/ui/doom/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/doom/packages.el -(@package beacon) -(@package doom-themes) +(package! beacon) +(package! doom-themes) diff --git a/modules/ui/hl-todo/config.el b/modules/ui/hl-todo/config.el index c7d55424d..382eb70a8 100644 --- a/modules/ui/hl-todo/config.el +++ b/modules/ui/hl-todo/config.el @@ -1,6 +1,6 @@ ;;; ui/hl-todo/packages.el -(@def-package hl-todo +(def-package! hl-todo :commands hl-todo-mode :init (add-hook 'prog-mode-hook 'hl-todo-mode) diff --git a/modules/ui/hl-todo/packages.el b/modules/ui/hl-todo/packages.el index 3c5540976..eee0fdb53 100644 --- a/modules/ui/hl-todo/packages.el +++ b/modules/ui/hl-todo/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/hl-todo/packages.el -(@package hl-todo) +(package! hl-todo)