fix and add keybinds in :lang scheme, with descriptions

Some keys were bound to no-longer-existing commands, or commands which changed
name.

Others only made sense in the REPL, or /also/ in the REPL, so the keybinds are
now in `scheme-mode-map', `geiser-repl-mode-map', or both accordingly.
This commit is contained in:
Hugo Nobrega 2021-04-18 22:01:17 -03:00
parent f3748b2977
commit c2b40148b8

View file

@ -4,7 +4,6 @@
:hook (scheme-mode . rainbow-delimiters-mode) :hook (scheme-mode . rainbow-delimiters-mode)
:config (advice-add #'scheme-indent-function :override #'+scheme-scheme-indent-function-a)) :config (advice-add #'scheme-indent-function :override #'+scheme-scheme-indent-function-a))
(use-package! geiser (use-package! geiser
:defer t :defer t
:init :init
@ -22,35 +21,39 @@
'(("^\\*[gG]eiser \\(dbg\\|xref\\|messages\\)\\*$" :slot 1 :vslot -1) '(("^\\*[gG]eiser \\(dbg\\|xref\\|messages\\)\\*$" :slot 1 :vslot -1)
("^\\*Geiser documentation\\*$" :slot 2 :vslot 2 :select t :size 0.35) ("^\\*Geiser documentation\\*$" :slot 2 :vslot 2 :select t :size 0.35)
("^\\* [A-Za-z0-9_-]+ REPL \\*" :size 0.3 :quit nil :ttl nil))) ("^\\* [A-Za-z0-9_-]+ REPL \\*" :size 0.3 :quit nil :ttl nil)))
(map!
(map! :localleader :localleader
:map scheme-mode-map (:map (scheme-mode-map geiser-repl-mode-map)
"'" #'geiser-mode-switch-to-repl :desc "Toggle REPL" "'" #'switch-to-geiser
"\"" #'geiser-connect :desc "Connect to external Scheme" "\"" #'geiser-connect
"[" #'geiser-squarify :desc "Toggle type of brackets" "[" #'geiser-squarify
"\\" #'geiser-insert-lambda :desc "Insert lambda" "\\" #'geiser-insert-lambda
"s" #'geiser-set-scheme :desc "Set Scheme implementation" "s" #'geiser-set-scheme
(:prefix ("e" . "eval") :desc "Reload Geiser buffers+REPLs" "R" #'geiser-reload
"b" #'geiser-eval-buffer (:prefix ("h" . "help")
"B" #'geiser-eval-buffer-and-go :desc "Show callers of <point>" "<" #'geiser-xref-callers
"e" #'geiser-eval-last-sexp :desc "Show callees of <point>" ">" #'geiser-xref-callees
"d" #'geiser-eval-definition :desc "Toggle autodoc mode" "a" #'geiser-autodoc-mode
"D" #'geiser-eval-definition-and-go :desc "Show autodoc of <point>" "s" #'geiser-autodoc-show
"r" #'geiser-eval-region :desc "Search manual for <point>" "m" #'geiser-doc-look-up-manual
"R" #'geiser-eval-region-and-go) :desc "Show docstring of <point>" "." #'geiser-doc-symbol-at-point)
(:prefix ("h" . "help") (:prefix ("r" . "repl")
"d" #'geiser-autodoc :desc "Load file into REPL" "f" #'geiser-load-file
"<" #'geiser-xref-callers :desc "Restart REPL" "r" #'geiser-restart-repl))
">" #'geiser-xref-callees (:map scheme-mode-map
"i" #'geiser-doc-look-up-manual) (:prefix ("e" . "eval")
(:prefix ("r" . "repl") :desc "Eval buffer" "b" #'geiser-eval-buffer
"b" #'geiser-switch-to-repl :desc "Eval buffer and go to REPL" "B" #'geiser-eval-buffer-and-go
"q" #'geiser-repl-exit :desc "Eval last sexp" "e" #'geiser-eval-last-sexp
"l" #'geiser-load-current-buffer :desc "Eval definition" "d" #'geiser-eval-definition
"r" #'geiser-restart-repl :desc "Eval defn. and go to REPL" "D" #'geiser-eval-definition-and-go
"R" #'geiser-reload :desc "Eval region" "r" #'geiser-eval-region
"c" #'geiser-repl-clear-buffer))) :desc "Eval region and go to REPL" "R" #'geiser-eval-region-and-go)
(:prefix ("r" . "repl")
:desc "Load current buffer in REPL" "b" #'geiser-load-current-buffer))
(:map geiser-repl-mode-map
:desc "Clear REPL buffer" "c" #'geiser-repl-clear-buffer
:desc "Quit REPL" "q" #'geiser-repl-exit)))
(use-package! macrostep-geiser (use-package! macrostep-geiser
:hook (geiser-mode . macrostep-geiser-setup) :hook (geiser-mode . macrostep-geiser-setup)
@ -58,10 +61,11 @@
:init :init
(map! :after geiser (map! :after geiser
:localleader :localleader
:map scheme-mode-map :map (scheme-mode-map geiser-repl-mode-map)
:desc "Expand macro" "m" #'macrostep-geiser (:prefix ("x" . "expand")
:desc "Expand all macros recursively" "M" #'macrostep-geiser-all)) :desc "Expand macro by one step" "x" #'macrostep-expand
:desc "Recursively expand macro" "r" #'macrostep-geiser-expand-all
:desc "Collapse macro by one step" "c" #'macrostep-collapse)))
(use-package! flycheck-guile (use-package! flycheck-guile
:when (featurep! +guile) :when (featurep! +guile)