diff --git a/bindings.el b/bindings.el index 6a9c975..a515d52 100644 --- a/bindings.el +++ b/bindings.el @@ -1,6 +1,6 @@ ;;; 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) "C-`" #'+popup/toggle @@ -426,14 +426,10 @@ (map! :map smartparens-mode-map - "s-M-[" #'sp-backward-sexp - "s-M-]" #'sp-forward-sexp - "s-M-{" #'sp-backward-up-sexp - "s-M-}" #'sp-down-sexp - "C-M-[" #'sp-backward-sexp - "C-M-]" #'sp-forward-sexp - "C-M-{" #'sp-backward-up-sexp - "C-M-}" #'sp-down-sexp + "M-[" #'sp-forward-barf-sexp + "M-]" #'sp-forward-slurp-sexp + "M-{" #'sp-backward-slurp-sexp + "M-}" #'sp-backward-barf-sexp "s-(" #'sp-wrap-round "s-)" #'sp-unwrap-sexp "s-[" #'sp-wrap-square diff --git a/init.el b/init.el index 6a9ad30..ebc6ca3 100644 --- a/init.el +++ b/init.el @@ -54,7 +54,7 @@ ;;zen ; distraction-free coding or writing :editor - (meow +qwerty +override +leader) + meow ;; evil; come to the dark side, we have cookies file-templates ; auto-snippets for empty files fold ; (nigh) universal code folding diff --git a/modules/editor/meow/config.el b/modules/editor/meow/config.el index 59bb083..ee1675f 100644 --- a/modules/editor/meow/config.el +++ b/modules/editor/meow/config.el @@ -6,135 +6,102 @@ (defun meow/setup-leader () (map! :leader :desc "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)) + "?" #'meow-cheatsheet)) -;; 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 - "" #'corfu-quit)) - -;; Qwerty (defun meow/setup-qwerty () (setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty) - (meow/setup) - (when (modulep! :editor meow +override) - (meow-motion-overwrite-define-key - '("j" . meow-next) - '("k" . meow-prev)) - (when (modulep! :editor meow +leader) - (meow-motion-overwrite-define-key - '("\\ j" . "H-j") - '("\\ k" . "H-k"))) - (meow-leader-define-key - ;; SPC j/k will run the original command in MOTION state. - '("j" . "H-j") - '("k" . "H-k"))) - (map! :map meow-normal-state-keymap - "[" #'meow-beginning-of-thing - "]" #'meow-end-of-thing - "a" #'meow-append - "A" #'meow-open-below - "b" #'meow-back-word - "B" #'meow-back-symbol - "c" #'meow-change - "d" #'meow-delete - "D" #'meow-backward-delete - "e" #'meow-next-word - "E" #'meow-next-symbol - "f" #'meow-find - "g" #'meow-cancel-selection - "G" #'meow-grab - "h" #'meow-left - "H" #'meow-left-expand - "i" #'meow-insert - "I" #'meow-open-above - "j" #'meow-next - "J" #'meow-next-expand - "k" #'meow-prev - "K" #'meow-prev-expand - "l" #'meow-right - "L" #'meow-right-expand - "m" #'meow-join - "n" #'meow-search - "o" #'meow-block - "O" #'meow-to-block - "p" #'meow-yank - "q" #'meow-quit - "Q" #'meow-goto-line - "r" #'meow-replace - "R" #'meow-swap-grab - "s" #'meow-kill - "t" #'meow-till - "u" #'meow-undo - "U" #'meow-undo-in-selection - "v" #'meow-visit - "w" #'meow-mark-word - "W" #'meow-mark-symbol - "x" #'meow-line - "X" #'meow-goto-line - "y" #'meow-save - "Y" #'meow-sync-grab - "z" #'meow-pop-selection)) + (meow-motion-overwrite-define-key + '("j" . meow-next) + '("k" . meow-prev)) + (meow-leader-define-key + ;; SPC j/k will run the original command in MOTION state. + '("j" . "H-j") + '("k" . "H-k")) + (map! :map meow-normal-state-keymap + "<" #'meow-beginning-of-thing + ">" #'meow-end-of-thing + "a" #'meow-append + "A" #'meow-open-below + "b" #'meow-back-word + "B" #'meow-back-symbol + "c" #'meow-change + "d" #'meow-delete + "D" #'meow-backward-delete + "e" #'meow-next-word + "E" #'meow-next-symbol + "f" #'meow-find + "g" #'meow-cancel-selection + "G" #'meow-grab + "h" #'meow-left + "H" #'meow-left-expand + "i" #'meow-insert + "I" #'meow-open-above + "j" #'meow-next + "J" #'meow-next-expand + "k" #'meow-prev + "K" #'meow-prev-expand + "l" #'meow-right + "L" #'meow-right-expand + "m" #'meow-join + "n" #'meow-search + "o" #'meow-block + "O" #'meow-to-block + "p" #'meow-yank + "q" #'meow-quit + "Q" #'meow-goto-line + "r" #'meow-replace + "R" #'meow-swap-grab + "s" #'meow-kill + "t" #'meow-till + "u" #'meow-undo + "U" #'meow-undo-in-selection + "v" #'meow-visit + "w" #'meow-mark-word + "W" #'meow-mark-symbol + "x" #'meow-line + "X" #'meow-goto-line + "y" #'meow-save + "Y" #'meow-sync-grab + "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 + "" #'corfu-quit)) + (use-package! meow :hook (doom-after-modules-config . meow-global-mode) :demand t :config (meow/setup-qwerty) - (cond - ((modulep! +leader) - (map! :map meow-normal-state-keymap - doom-leader-key doom-leader-map) - (map! :map meow-motion-state-keymap - doom-leader-key doom-leader-map) - (map! :map meow-beacon-state-keymap - doom-leader-key nil) - (meow/setup-leader)) - (t (meow/setup-keypad))) + (map! :map meow-normal-state-keymap + doom-leader-key doom-leader-map) + (map! :map meow-motion-state-keymap + doom-leader-key doom-leader-map) + (map! :map meow-beacon-state-keymap + doom-leader-key nil) + (meow/setup-leader) (pushnew! meow-mode-state-list '(sly-db-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))