refining meow config

This commit is contained in:
Matt Nish-Lapidus 2023-10-28 10:04:16 -04:00
parent 8f8fb54c25
commit 8aed4784a9
3 changed files with 93 additions and 130 deletions

View file

@ -1,6 +1,6 @@
;;; bindings.el -*- lexical-binding: t; -*- ;;; bindings.el -*- lexical-binding: t; -*-
(setq doom-localleader-alt-key "M-s-SPC") ;; (setq doom-localleader-alt-key "M-s-SPC")
(map! (:when (modulep! :ui popup) (map! (:when (modulep! :ui popup)
"C-`" #'+popup/toggle "C-`" #'+popup/toggle
@ -426,14 +426,10 @@
(map! (map!
:map smartparens-mode-map :map smartparens-mode-map
"s-M-[" #'sp-backward-sexp "M-[" #'sp-forward-barf-sexp
"s-M-]" #'sp-forward-sexp "M-]" #'sp-forward-slurp-sexp
"s-M-{" #'sp-backward-up-sexp "M-{" #'sp-backward-slurp-sexp
"s-M-}" #'sp-down-sexp "M-}" #'sp-backward-barf-sexp
"C-M-[" #'sp-backward-sexp
"C-M-]" #'sp-forward-sexp
"C-M-{" #'sp-backward-up-sexp
"C-M-}" #'sp-down-sexp
"s-(" #'sp-wrap-round "s-(" #'sp-wrap-round
"s-)" #'sp-unwrap-sexp "s-)" #'sp-unwrap-sexp
"s-[" #'sp-wrap-square "s-[" #'sp-wrap-square

View file

@ -54,7 +54,7 @@
;;zen ; distraction-free coding or writing ;;zen ; distraction-free coding or writing
:editor :editor
(meow +qwerty +override +leader) meow
;; evil; come to the dark side, we have cookies ;; evil; come to the dark side, we have cookies
file-templates ; auto-snippets for empty files file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding fold ; (nigh) universal code folding

View file

@ -6,75 +6,20 @@
(defun meow/setup-leader () (defun meow/setup-leader ()
(map! :leader (map! :leader
:desc "Meow Cheatsheet" :desc "Meow Cheatsheet"
"?" #'meow-cheatsheet "?" #'meow-cheatsheet))
"/" #'meow-keypad-describe-key
"1" #'meow-digit-argument
"2" #'meow-digit-argument
"3" #'meow-digit-argument
"4" #'meow-digit-argument
"5" #'meow-digit-argument
"6" #'meow-digit-argument
"7" #'meow-digit-argument
"8" #'meow-digit-argument
"9" #'meow-digit-argument
"0" #'meow-digit-argument))
;; Keypad
(defun meow/setup-keypad ()
(map! :map meow-keypad-state-keymap
"?" #'meow-cheatsheet
"/" #'meow-keypad-describe-key
"1" #'meow-digit-argument
"2" #'meow-digit-argument
"3" #'meow-digit-argument
"4" #'meow-digit-argument
"5" #'meow-digit-argument
"6" #'meow-digit-argument
"7" #'meow-digit-argument
"8" #'meow-digit-argument
"9" #'meow-digit-argument
"0" #'meow-digit-argument
"h" #'help-command))
;; applies to all layouts (except dvp)
(defun meow/setup ()
(map! :map meow-normal-state-keymap
"0" #'meow-expand-0
"1" #'meow-expand-1
"2" #'meow-expand-2
"3" #'meow-expand-3
"4" #'meow-expand-4
"5" #'meow-expand-5
"6" #'meow-expand-6
"7" #'meow-expand-7
"8" #'meow-expand-8
"9" #'meow-expand-9
"-" #'negative-argument
";" #'meow-reverse
"," #'meow-inner-of-thing
"." #'meow-bounds-of-thing
"'" #'repeat
"<escape>" #'corfu-quit))
;; Qwerty
(defun meow/setup-qwerty () (defun meow/setup-qwerty ()
(setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty) (setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty)
(meow/setup)
(when (modulep! :editor meow +override)
(meow-motion-overwrite-define-key (meow-motion-overwrite-define-key
'("j" . meow-next) '("j" . meow-next)
'("k" . meow-prev)) '("k" . meow-prev))
(when (modulep! :editor meow +leader)
(meow-motion-overwrite-define-key
'("\\ j" . "H-j")
'("\\ k" . "H-k")))
(meow-leader-define-key (meow-leader-define-key
;; SPC j/k will run the original command in MOTION state. ;; SPC j/k will run the original command in MOTION state.
'("j" . "H-j") '("j" . "H-j")
'("k" . "H-k"))) '("k" . "H-k"))
(map! :map meow-normal-state-keymap (map! :map meow-normal-state-keymap
"[" #'meow-beginning-of-thing "<" #'meow-beginning-of-thing
"]" #'meow-end-of-thing ">" #'meow-end-of-thing
"a" #'meow-append "a" #'meow-append
"A" #'meow-open-below "A" #'meow-open-below
"b" #'meow-back-word "b" #'meow-back-word
@ -117,24 +62,46 @@
"X" #'meow-goto-line "X" #'meow-goto-line
"y" #'meow-save "y" #'meow-save
"Y" #'meow-sync-grab "Y" #'meow-sync-grab
"z" #'meow-pop-selection)) "z" #'meow-pop-selection
"0" #'meow-expand-0
"1" #'meow-expand-1
"2" #'meow-expand-2
"3" #'meow-expand-3
"4" #'meow-expand-4
"5" #'meow-expand-5
"6" #'meow-expand-6
"7" #'meow-expand-7
"8" #'meow-expand-8
"9" #'meow-expand-9
"-" #'negative-argument
";" #'meow-reverse
"," #'meow-inner-of-thing
"." #'meow-bounds-of-thing
"=" #'isearch-forward
"+" #'isearch-backward
"\\" #'bookmark-jump
"'" #'repeat
":" #'eval-last-sexp
"[" #'sp-backward-sexp
"]" #'sp-forward-sexp
"{" #'sp-backward-up-sexp
"}" #'sp-down-sexp
"<escape>" #'corfu-quit))
(use-package! meow (use-package! meow
:hook (doom-after-modules-config . meow-global-mode) :hook (doom-after-modules-config . meow-global-mode)
:demand t :demand t
:config :config
(meow/setup-qwerty) (meow/setup-qwerty)
(cond
((modulep! +leader)
(map! :map meow-normal-state-keymap (map! :map meow-normal-state-keymap
doom-leader-key doom-leader-map) doom-leader-key doom-leader-map)
(map! :map meow-motion-state-keymap (map! :map meow-motion-state-keymap
doom-leader-key doom-leader-map) doom-leader-key doom-leader-map)
(map! :map meow-beacon-state-keymap (map! :map meow-beacon-state-keymap
doom-leader-key nil) doom-leader-key nil)
(meow/setup-leader)) (meow/setup-leader)
(t (meow/setup-keypad)))
(pushnew! meow-mode-state-list '(sly-db-mode . motion)) (pushnew! meow-mode-state-list '(sly-db-mode . motion))
(pushnew! meow-mode-state-list '(sly-inspector-mode . motion)) (pushnew! meow-mode-state-list '(sly-inspector-mode . motion))
(pushnew! meow-mode-state-list '(Custom-mode . normal)) (pushnew! meow-mode-state-list '(custom-mode . normal))
(map! :map meow-keymap [remap describe-key] #'helpfl-key)) (map! :map meow-keymap [remap describe-key] #'helpfl-key))