Macros now prefixed with @, instead of suffixed with !
This commit is contained in:
parent
ec694649db
commit
6c06aa0ce7
26 changed files with 265 additions and 247 deletions
|
@ -5,12 +5,12 @@
|
|||
;; strives to make Emacs a much better vim than vim was.
|
||||
|
||||
(defvar +evil-leader ","
|
||||
"The <leader> key, used by the `map!' macro for :leader bindings.")
|
||||
"The <leader> key, used by the `@map' macro for :leader bindings.")
|
||||
|
||||
(defvar +evil-localleader "\\"
|
||||
"The <localleader> key, used by the `map!' macro for :localleader bindings.")
|
||||
"The <localleader> key, used by the `@map' macro for :localleader bindings.")
|
||||
|
||||
(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 (-all-p 'listp mode-state-list)
|
||||
(macroexp-progn
|
||||
|
@ -29,7 +29,7 @@
|
|||
;; evil-mode
|
||||
;;
|
||||
|
||||
(use-package! evil :demand t
|
||||
(@use-package evil :demand t
|
||||
:init
|
||||
(setq evil-want-C-u-scroll t
|
||||
evil-want-visual-char-semi-exclusive t
|
||||
|
@ -45,7 +45,7 @@
|
|||
evil-insert-skip-empty-lines t)
|
||||
|
||||
:config
|
||||
(set! :popup
|
||||
(@set :popup
|
||||
'("*evil-registers*" :size 0.3)
|
||||
'("*Command Line*" :size 8))
|
||||
|
||||
|
@ -76,7 +76,7 @@
|
|||
(Man-mode . emacs)
|
||||
(grep-mode . emacs))))
|
||||
|
||||
(defsubst +evil--textobj! (key inner-fn &optional outer-fn)
|
||||
(defsubst +evil--textobj (key inner-fn &optional outer-fn)
|
||||
"Define a text object."
|
||||
(define-key evil-inner-text-objects-map key inner-fn)
|
||||
(define-key evil-outer-text-objects-map key (or outer-fn inner-fn)))
|
||||
|
@ -145,19 +145,19 @@
|
|||
;; Plugins
|
||||
;;
|
||||
|
||||
(use-package! evil-args
|
||||
(@use-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))
|
||||
:init (+evil--textobj "a" 'evil-inner-arg 'evil-outer-arg))
|
||||
|
||||
|
||||
(use-package! evil-commentary
|
||||
(@use-package evil-commentary
|
||||
:commands (evil-commentary evil-commentary-yank evil-commentary-line)
|
||||
:config (evil-commentary-mode 1))
|
||||
|
||||
|
||||
(use-package! evil-easymotion
|
||||
(@use-package evil-easymotion
|
||||
:defer 1
|
||||
:config
|
||||
(defvar +evil--snipe-repeat-fn)
|
||||
|
@ -183,7 +183,7 @@
|
|||
(evil-snipe-enable-incremental-highlight)))))
|
||||
|
||||
|
||||
(use-package! evil-embrace
|
||||
(@use-package evil-embrace
|
||||
:after evil-surround
|
||||
:config
|
||||
(setq evil-embrace-show-help-p nil)
|
||||
|
@ -229,15 +229,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)))
|
||||
|
||||
|
||||
(use-package! evil-escape
|
||||
(@use-package evil-escape
|
||||
:commands evil-escape-mode
|
||||
:init
|
||||
(defun +evil|escape-disable () (evil-escape-mode -1))
|
||||
|
@ -252,7 +252,7 @@
|
|||
evil-escape-delay 0.25))
|
||||
|
||||
|
||||
(use-package! evil-exchange
|
||||
(@use-package evil-exchange
|
||||
:commands evil-exchange
|
||||
:config
|
||||
(defun +evil*exchange-off ()
|
||||
|
@ -260,7 +260,7 @@
|
|||
(advice-add 'evil-force-normal-state :after '+evil*exchange-off))
|
||||
|
||||
|
||||
(use-package! evil-indent-plus
|
||||
(@use-package evil-indent-plus
|
||||
:commands (evil-indent-plus-i-indent
|
||||
evil-indent-plus-a-indent
|
||||
evil-indent-plus-i-indent-up
|
||||
|
@ -268,16 +268,16 @@
|
|||
evil-indent-plus-i-indent-up-down
|
||||
evil-indent-plus-a-indent-up-down)
|
||||
:init
|
||||
(+evil--textobj! "i" 'evil-indent-plus-i-indent 'evil-indent-plus-a-indent)
|
||||
(+evil--textobj! "I" 'evil-indent-plus-i-indent-up 'evil-indent-plus-a-indent-up)
|
||||
(+evil--textobj! "J" 'evil-indent-plus-i-indent-up-down 'evil-indent-plus-a-indent-up-down))
|
||||
(+evil--textobj "i" 'evil-indent-plus-i-indent 'evil-indent-plus-a-indent)
|
||||
(+evil--textobj "I" 'evil-indent-plus-i-indent-up 'evil-indent-plus-a-indent-up)
|
||||
(+evil--textobj "J" 'evil-indent-plus-i-indent-up-down 'evil-indent-plus-a-indent-up-down))
|
||||
|
||||
|
||||
(use-package! evil-matchit
|
||||
(@use-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)
|
||||
(+evil--textobj "%" 'evilmi-text-object)
|
||||
|
||||
(defun +evil/matchit-or-toggle-fold ()
|
||||
"If on a fold-able element, toggle the fold (`hs-toggle-hiding'). Otherwise,
|
||||
|
@ -288,7 +288,7 @@ if on a delimiter, jump to the matching one (`evilmi-jump-items')."
|
|||
(call-interactively 'evilmi-jump-items))))
|
||||
|
||||
|
||||
(use-package! evil-multiedit
|
||||
(@use-package evil-multiedit
|
||||
:commands (evil-multiedit-match-all
|
||||
evil-multiedit-match-and-next
|
||||
evil-multiedit-match-and-prev
|
||||
|
@ -302,20 +302,20 @@ if on a delimiter, jump to the matching one (`evilmi-jump-items')."
|
|||
:config (evil-multiedit-default-keybinds))
|
||||
|
||||
|
||||
(use-package! evil-textobj-anyblock
|
||||
(@use-package evil-textobj-anyblock
|
||||
:commands (evil-numbers/inc-at-pt evil-numbers/dec-at-pt)
|
||||
:init
|
||||
(+evil--textobj! "B" 'evil-textobj-anyblock-inner-block 'evil-textobj-anyblock-a-block))
|
||||
(+evil--textobj "B" 'evil-textobj-anyblock-inner-block 'evil-textobj-anyblock-a-block))
|
||||
|
||||
|
||||
(use-package! evil-search-highlight-persist :demand t
|
||||
(@use-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))
|
||||
|
||||
|
||||
(use-package! evil-snipe :demand t
|
||||
(@use-package evil-snipe :demand t
|
||||
:init
|
||||
(setq evil-snipe-smart-case t
|
||||
evil-snipe-repeat-keys nil ; using space to repeat
|
||||
|
@ -331,12 +331,12 @@ if on a delimiter, jump to the matching one (`evilmi-jump-items')."
|
|||
(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))))
|
||||
|
||||
|
||||
(use-package! evil-surround
|
||||
(@use-package evil-surround
|
||||
:commands (global-evil-surround-mode
|
||||
evil-surround-edit
|
||||
evil-Surround-edit
|
||||
|
@ -344,7 +344,7 @@ if on a delimiter, jump to the matching one (`evilmi-jump-items')."
|
|||
:config (global-evil-surround-mode 1))
|
||||
|
||||
|
||||
(use-package! evil-visualstar
|
||||
(@use-package evil-visualstar
|
||||
:commands (global-evil-visualstar-mode
|
||||
evil-visualstar/begin-search
|
||||
evil-visualstar/begin-search-forward
|
||||
|
@ -353,7 +353,7 @@ if on a delimiter, jump to the matching one (`evilmi-jump-items')."
|
|||
|
||||
|
||||
;; A side-panel for browsing my project files. Inspired by vim's NERDTree.
|
||||
(use-package! neotree
|
||||
(@use-package neotree
|
||||
:commands (neotree-show
|
||||
neotree-hide
|
||||
neotree-toggle
|
||||
|
@ -384,13 +384,13 @@ if on a delimiter, jump to the matching one (`evilmi-jump-items')."
|
|||
"^#.*#$"))
|
||||
|
||||
:config
|
||||
(set! :evil-state 'neotree-mode 'motion)
|
||||
(@set :evil-state 'neotree-mode 'motion)
|
||||
|
||||
;; Adding keybindings to `neotree-mode-map' wouldn't work for me (they get
|
||||
;; overridden when the neotree buffer is spawned). So we bind them in a hook.
|
||||
(add-hook 'neo-after-create-hook '+evil|neotree-init-keymap)
|
||||
(defun +evil|neotree-init-keymap (&rest _)
|
||||
(map! :Lm "\\\\" 'evil-window-prev
|
||||
(@map :Lm "\\\\" 'evil-window-prev
|
||||
:Lm "RET" 'neotree-enter
|
||||
:Lm "<return>" 'neotree-enter
|
||||
:Lm "ESC ESC" 'neotree-hide
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -1,43 +1,43 @@
|
|||
;;; feature/version-control/+git.el
|
||||
|
||||
(use-package! gitconfig-mode
|
||||
(@use-package gitconfig-mode
|
||||
:mode "/\\.?git/?config$"
|
||||
:mode "/\\.gitmodules$"
|
||||
:init (add-hook 'gitconfig-mode-hook 'flyspell-mode))
|
||||
|
||||
(use-package! gitignore-mode
|
||||
(@use-package gitignore-mode
|
||||
:mode "/\\.?git/?config$"
|
||||
:mode "/\\.gitmodules$")
|
||||
|
||||
|
||||
(use-package! git-gutter-fringe
|
||||
(@use-package git-gutter-fringe
|
||||
:commands git-gutter-mode
|
||||
:init (add-hook! (text-mode prog-mode conf-mode) 'git-gutter-mode)
|
||||
:init (@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)))
|
||||
|
||||
|
||||
(use-package! browse-at-remote
|
||||
(@use-package browse-at-remote
|
||||
:commands (browse-at-remote/browse browse-at-remote/get-url))
|
||||
|
||||
|
||||
(use-package! magit
|
||||
(@use-package magit
|
||||
:commands magit-status
|
||||
:config
|
||||
(set! :popup "^\\*magit.+" :regexp t)
|
||||
(after! evil-snipe
|
||||
(@set :popup "^\\*magit.+" :regexp t)
|
||||
(@after evil-snipe
|
||||
;; evil-snipe conflicts with magit
|
||||
(add-hook 'magit-mode-hook 'turn-off-evil-snipe-override-mode)))
|
||||
|
||||
|
||||
(use-package! evil-magit
|
||||
(@use-package evil-magit
|
||||
:when (featurep 'evil)
|
||||
:after magit)
|
||||
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
;;; feature/version-control/config.el
|
||||
(provide '+version-control)
|
||||
|
||||
(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 :select t)
|
||||
'(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
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
;; n/a
|
||||
|
||||
;;; +git
|
||||
(package! browse-at-remote)
|
||||
(package! evil-magit :needs evil)
|
||||
(package! git-gutter-fringe)
|
||||
(package! gitconfig-mode)
|
||||
(package! gitignore-mode)
|
||||
(package! magit)
|
||||
(@package browse-at-remote)
|
||||
(@package evil-magit :needs evil)
|
||||
(@package git-gutter-fringe)
|
||||
(@package gitconfig-mode)
|
||||
(@package gitignore-mode)
|
||||
(@package magit)
|
||||
|
||||
;;; TODO +hg
|
||||
|
|
|
@ -389,7 +389,7 @@ the workspace and move to the next."
|
|||
;;;###autoload (autoload '+workspace:switch-next "feature/workspaces/autoload" nil t)
|
||||
;;;###autoload (autoload '+workspace:switch-previous "feature/workspaces/autoload" nil t)
|
||||
|
||||
(after! evil
|
||||
(@after evil
|
||||
(evil-define-command +workspace:save-session (&optional name)
|
||||
"Ex wrapper around `+workspace/save-session'."
|
||||
(interactive "<a>") (+workspace/save-session name))
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;; file-based session persistence. The switch from workgroups2 was motivated by
|
||||
;; performance. Workgroups2 wasn't entirely stable either.
|
||||
|
||||
(use-package! persp-mode :demand t
|
||||
(@use-package persp-mode :demand t
|
||||
:init
|
||||
(setq persp-autokill-buffer-on-remove 'kill-weak
|
||||
persp-nil-name "main"
|
||||
|
@ -15,6 +15,8 @@
|
|||
persp-switch-to-added-buffer nil)
|
||||
|
||||
:config
|
||||
(@add-hook emacs-startup (persp-mode 1))
|
||||
|
||||
;; Ensure unreal/popup buffers aren't saved
|
||||
(push (lambda (buf) (doom-popup-p (get-buffer-window buf)))
|
||||
persp-filter-save-buffers-functions)
|
||||
|
@ -43,7 +45,7 @@
|
|||
(when plist (doom-popup--init window plist)))))
|
||||
(advice-add 'persp-load-state-from-file :after '+workspaces*reinit-popups))
|
||||
|
||||
(after! ivy
|
||||
(@after ivy
|
||||
(defun +workspaces|ivy-ignore-non-persp-buffers (b)
|
||||
(when persp-mode
|
||||
(let ((persp (get-current-persp)))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; feature/workspaces/packages.el
|
||||
|
||||
(package! persp-mode)
|
||||
(@package persp-mode)
|
||||
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
;;; lang/emacs-lisp/config.el
|
||||
(provide '+emacs-lisp)
|
||||
|
||||
(use-package! elisp-mode
|
||||
(@use-package elisp-mode
|
||||
:mode ("/Cask$" . emacs-lisp-mode)
|
||||
:init
|
||||
(add-hook! emacs-lisp-mode '(highlight-quoted-mode auto-compile-on-save-mode +emacs-lisp|hook))
|
||||
(@add-hook emacs-lisp-mode '(highlight-quoted-mode auto-compile-on-save-mode +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-other-window)
|
||||
|
||||
|
@ -37,8 +38,8 @@
|
|||
(push i imenu-generic-expression))))
|
||||
|
||||
|
||||
(after! debug ;; elisp debugging
|
||||
(map! :map debugger-mode-map
|
||||
(@after debug ;; elisp debugging
|
||||
(@map :map debugger-mode-map
|
||||
:n "RET" 'debug-help-follow
|
||||
:n "n" 'debugger-step-through
|
||||
:n "c" 'debugger-continue))
|
||||
|
@ -48,17 +49,17 @@
|
|||
;; Plugins
|
||||
;;
|
||||
|
||||
(use-package! auto-compile
|
||||
(@use-package auto-compile
|
||||
:commands auto-compile-on-save-mode
|
||||
:config
|
||||
(setq auto-compile-display-buffer nil
|
||||
auto-compile-use-mode-line nil))
|
||||
|
||||
|
||||
(use-package! highlight-quoted
|
||||
(@use-package highlight-quoted
|
||||
:commands highlight-quoted-mode)
|
||||
|
||||
|
||||
(use-package! slime
|
||||
(@use-package slime
|
||||
:config (setq inferior-lisp-program "clisp"))
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -169,7 +169,7 @@
|
|||
: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))))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;; lang/javascript/config.el
|
||||
(provide '+javascript)
|
||||
|
||||
(use-package! js2-mode
|
||||
(@use-package js2-mode
|
||||
:mode "\\.js$"
|
||||
:interpreter "node"
|
||||
:init
|
||||
|
@ -10,17 +10,17 @@
|
|||
js2-mode-show-parse-errors nil)
|
||||
|
||||
:config
|
||||
(add-hook! '(tern-mode flycheck-mode highlight-indent-guides-mode))
|
||||
(@add-hook '(tern-mode flycheck-mode highlight-indent-guides-mode))
|
||||
;; Only way to conform switch-case indentation to editorconfig's config
|
||||
(add-hook! (setq js-switch-indent-offset js-indent-level))
|
||||
(@add-hook (setq js-switch-indent-offset js-indent-level))
|
||||
|
||||
(map! :map js2-mode-map :localleader :nv ";" 'doom/append-semicolon)
|
||||
(@map :map js2-mode-map :localleader :nv ";" 'doom/append-semicolon)
|
||||
|
||||
(set! :repl nodejs-repl)
|
||||
(set! :company-backends tern)
|
||||
(set! :electric-chars ?\} ?\) ?.)
|
||||
(set! :electric-words "||" "&&")
|
||||
(set! :emr
|
||||
(@set :repl nodejs-repl)
|
||||
(@set :company-backends tern)
|
||||
(@set :electric-chars ?\} ?\) ?.)
|
||||
(@set :electric-words "||" "&&")
|
||||
(@set :emr
|
||||
(:v js2r-extract-function "extract function")
|
||||
(:v js2r-extract-method "extract method")
|
||||
(:v js2r-introduce-parameter "introduce parameter")
|
||||
|
@ -48,13 +48,13 @@
|
|||
(:n js2r-forward-slurp "forward slurp")
|
||||
(:n js2r-forward-barf "forward barf")))
|
||||
|
||||
(use-package! js2-refactor :after emr)
|
||||
(@use-package js2-refactor :after emr)
|
||||
|
||||
(use-package! company-tern :commands company-tern :after tern)
|
||||
(@use-package company-tern :commands company-tern :after tern)
|
||||
|
||||
(use-package! jsx-mode :mode "\\.jsx$")
|
||||
(@use-package jsx-mode :mode "\\.jsx$")
|
||||
|
||||
(use-package! coffee-mode
|
||||
(@use-package coffee-mode
|
||||
:mode "\\.coffee$"
|
||||
:init (setq coffee-indent-like-python-mode t))
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; lang/javascript/packages.el
|
||||
|
||||
(package! coffee-mode)
|
||||
(package! company-tern :needs +company)
|
||||
(package! js2-mode)
|
||||
(package! js2-refactor)
|
||||
(package! jsx-mode)
|
||||
(package! tern)
|
||||
(@package coffee-mode)
|
||||
(@package company-tern :needs +company)
|
||||
(@package js2-mode)
|
||||
(@package js2-refactor)
|
||||
(@package jsx-mode)
|
||||
(@package tern)
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
(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)))
|
||||
|
@ -27,22 +27,22 @@
|
|||
(browse-url buffer-file-name))
|
||||
|
||||
;;;###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))
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
(require 'osx-clipboard)
|
||||
(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:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; os/macos/packages.el
|
||||
|
||||
(package! exec-path-from-shell)
|
||||
(package! osx-clipboard)
|
||||
(@package exec-path-from-shell)
|
||||
(@package osx-clipboard)
|
||||
|
|
|
@ -38,24 +38,10 @@
|
|||
(window-divider-mode +1)
|
||||
|
||||
|
||||
;; 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.
|
||||
(use-package! beacon :demand t
|
||||
:config
|
||||
(beacon-mode +1)
|
||||
(setq beacon-color (let ((bg (face-attribute 'highlight :background nil t)))
|
||||
(if (eq bg 'unspecified)
|
||||
(face-attribute 'highlight :foreground nil t)
|
||||
bg))
|
||||
beacon-blink-when-buffer-changes t
|
||||
beacon-blink-when-point-moves-vertically 10))
|
||||
|
||||
|
||||
;; Apply the doom-one theme from `doom-themes' for full compatibility; gives
|
||||
;; Emacs a look inspired by Dark One in Atom.
|
||||
;; <https://github.com/hlissner/emacs-doom-theme>
|
||||
(use-package! doom-themes :demand t
|
||||
(@use-package doom-themes :demand t
|
||||
:load-path "~/work/plugins/emacs-doom-theme"
|
||||
:config
|
||||
(load-theme +doom-theme t)
|
||||
|
@ -77,8 +63,22 @@
|
|||
(require 'doom-nlinum))
|
||||
|
||||
|
||||
;; 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.
|
||||
(@use-package beacon :demand t
|
||||
:config
|
||||
(beacon-mode +1)
|
||||
(setq beacon-color (let ((bg (face-attribute 'highlight :background nil t)))
|
||||
(if (eq bg 'unspecified)
|
||||
(face-attribute 'highlight :foreground nil t)
|
||||
bg))
|
||||
beacon-blink-when-buffer-changes t
|
||||
beacon-blink-when-point-moves-vertically 10))
|
||||
|
||||
|
||||
;; Nicer folded overlays that stand out a bit more
|
||||
(after! hideshow
|
||||
(@after hideshow
|
||||
(defface doom-folded-face '((t (:foreground "#555" :background "#888")))
|
||||
"Face to hightlight `hideshow' overlays."
|
||||
:group 'hideshow)
|
||||
|
@ -90,7 +90,7 @@
|
|||
|
||||
|
||||
;; Show diffs with subtle lines 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
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; ui/doom/packages.el
|
||||
|
||||
(package! beacon)
|
||||
(package! doom-themes)
|
||||
(@package beacon)
|
||||
(@package doom-themes)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue