Refactor def-setting!/set!; now evaluates its arguments on set!
This commit is contained in:
parent
5d1013d317
commit
f053980e85
6 changed files with 96 additions and 24 deletions
|
@ -10,9 +10,19 @@
|
|||
(defvar +evil-localleader "\\"
|
||||
"The <localleader> key, used by the `map!' macro for :localleader bindings.")
|
||||
|
||||
(def-setting! :evil-state (mode state)
|
||||
(def-setting! :evil-state (&rest mode-state-list)
|
||||
"Set the initialize STATE of MODE using `evil-set-initial-state'."
|
||||
(evil-set-initial-state mode state))
|
||||
(if (-all-p 'listp mode-state-list)
|
||||
(macroexp-progn
|
||||
(--map (let ((argc (length it)))
|
||||
(unless (= argc 2)
|
||||
(error ":evil-state sub-lists expect 2 arguments, got %s" argc))
|
||||
`(evil-set-initial-state ',(car it) ',(cadr it)))
|
||||
mode-state-list))
|
||||
(let ((argc (length mode-state-list)))
|
||||
(unless (= argc 2)
|
||||
(error ":evil-state expected 2 arguments, got %s" argc)))
|
||||
`(evil-set-initial-state ',(car mode-state-list) ',(cadr mode-state-list))))
|
||||
|
||||
|
||||
;;
|
||||
|
@ -36,8 +46,8 @@
|
|||
|
||||
:config
|
||||
(set! :popup
|
||||
("*evil-registers*" :size 0.3)
|
||||
("*Command Line*" :size 8))
|
||||
'("*evil-registers*" :size 0.3)
|
||||
'("*Command Line*" :size 8))
|
||||
|
||||
(evil-mode +1)
|
||||
(evil-select-search-module 'evil-search-module 'evil-search)
|
||||
|
@ -374,7 +384,7 @@ 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.
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
:commands 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)
|
||||
|
@ -31,7 +31,7 @@
|
|||
(use-package! magit
|
||||
:commands magit-status
|
||||
:config
|
||||
(set! :popup ("^\\*magit.+" :regexp t))
|
||||
(set! :popup "^\\*magit.+" :regexp t)
|
||||
(after! evil-snipe
|
||||
;; evil-snipe conflicts with magit
|
||||
(add-hook 'magit-mode-hook 'turn-off-evil-snipe-override-mode)))
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
(after! vc-annotate
|
||||
(set! :popup
|
||||
("*vc-diff*" :size 15 :noselect t)
|
||||
("*vc-change-log*" :size 15 :select t)
|
||||
(vc-annotate-mode :same t))
|
||||
'("*vc-diff*" :size 15 :noselect t)
|
||||
'("*vc-change-log*" :size 15 :select t)
|
||||
'(vc-annotate-mode :same t))
|
||||
|
||||
(set! :evil-state
|
||||
(vc-annotate-mode normal)
|
||||
(vc-git-log-view-mode normal))
|
||||
'(vc-annotate-mode normal)
|
||||
'(vc-git-log-view-mode normal))
|
||||
|
||||
(map! :map vc-annotate-mode-map
|
||||
:n "q" 'kill-this-buffer
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue