;;; input/layout/+bepo.el -*- lexical-binding: t; -*- ;; NOTE: the evaluation loads the whole autoload/bepo.el file but it doesn't really matter as other ;; functions are eagerly called in this block ;; NOTE: since this file is loaded before $DOOMDIR/config.el, the cr-rotation-style variable ;; if not default needs to be set up in $DOOMDIR/init.el (fset 'doom-bepo--evil-collection-hook (doom-bepo-rotate-collection-keymaps-h-builder doom-bepo-cr-rotation-style)) (add-hook 'evil-collection-setup-hook #'doom-bepo--evil-collection-hook) (add-transient-hook! 'doom-init-modules-hook (setq avy-keys '(?a ?u ?i ?e ?, ?c ?t ?s ?r ?n) lispy-avy-keys '(?a ?u ?i ?e ?, ?c ?t ?s ?r ?n ?m ?b ?é ?p ?o ?è ?v ?d ?l ?j ?z)) ;; :ui window-select settings, ignoring +numbers flag for now (after! ace-window (setq aw-keys '(?a ?u ?i ?e ?, ?c ?t ?s ?r ?n))) (after! switch-window (setq switch-window-shortcut-style 'qwerty switch-window-qwerty-shortcuts '("a" "u" "i" "e" "," "c" "t" "s" "r"))) (doom-bepo-rotate-ts-bare-keymap '(read-expression-map)) (doom-bepo-rotate-bare-keymap '(evil-window-map) doom-bepo-cr-rotation-style) (map! :i "C-t" #'+default-newline (:when (featurep! :editor multiple-cursors) :prefix "gz" :nv "t" #'evil-mc-make-cursor-move-next-line :nv "s" #'evil-mc-make-cursor-move-prev-line ;; the old toggle mapping (t) is made available both on "T" for mnemonics and ;; "j" as a "classic" rotation :nv "T" #'+multiple-cursors/evil-mc-toggle-cursors :nv "j" #'+multiple-cursors/evil-mc-toggle-cursors) (:when (featurep! :ui popup) :n "C-$" #'+popup/toggle :n "C-#" #'+popup/raise)) (map! :leader :desc "Window" "é" 'evil-window-map (:when (featurep! :ui popup) :desc "Toggle last popup" "#" #'+popup/toggle) (:when (featurep! :ui workspaces) :desc "Switch buffer" "«" #'switch-to-buffer) :desc "Switch to last buffer" "$" #'evil-switch-to-windows-last-buffer (:when (featurep! :ui workspaces) (:prefix-map ("TAB" . "workspace") :desc "Switch to last workspace" "$" #'+workspace/other :desc "Next workspace" ")" #'+workspace/switch-right :desc "Previous workspace" "(" #'+workspace/switch-left)) (:prefix-map ("b" . "buffer") :desc "Previous buffer" "(" #'previous-buffer :desc "Next buffer" ")" #'next-buffer) (:prefix-map ("c" . "code") :desc "Jump to documentation" "S" #'+lookup/documentation) (:prefix-map ("g" . "git") (:when (featurep! :ui vc-gutter) :desc "Jump to next hunk" ")" #'git-gutter:next-hunk :desc "Jump to previous hunk" "(" #'git-gutter:previous-hunk)) (:prefix-map ("p" . "project") :desc "Browse other project" "»" #'doom/browse-in-other-project)) (after! treemacs (doom-bepo-rotate-ts-bare-keymap '(evil-treemacs-state-map))) (after! (:or helm ivy) (doom-bepo-rotate-ts-bare-keymap +default-minibuffer-maps)) (after! company (doom-bepo-rotate-bare-keymap '(company-active-map company-search-map) doom-bepo-cr-rotation-style)) (after! helm (doom-bepo-rotate-bare-keymap '(helm-map) doom-bepo-cr-rotation-style)) (after! general (doom-bepo-rotate-evil-keymap doom-bepo-cr-rotation-style)) (after! evil-snipe (doom-bepo--evil-collection-hook nil '(evil-snipe-local-mode-map evil-snipe-override-local-mode-map))) (after! lispyville ;; <> en direct (general-translate-key '(normal motion) 'lispyville-mode-map "«" "<" "»" ">")) (after! (evil magit evil-magit) (doom-bepo-rotate-ts-bare-keymap '(magit-mode-map magit-diff-section-base-map magit-staged-section-map magit-unstaged-section-map magit-untracked-section-map)) ;; Without this, "s" is mapped to 'magit-delete-thing (the old "k" for "kill") and ;; takes precedence over the evil command to go up one line (map! :map magit-mode-map "s" nil) (doom-bepo--evil-collection-hook nil '(magit-mode-map magit-cherry-mode-map magit-mode-map magit-blob-mode-map magit-diff-mode-map magit-log-mode-map magit-log-select-mode-map magit-reflog-mode-map magit-status-mode-map magit-file-mode-map magit-log-read-revs-map magit-process-mode-map magit-refs-mode-map))) (after! evil-easymotion (doom-bepo-rotate-bare-keymap '(evilem-map) doom-bepo-cr-rotation-style)))