From 9519003bcdda7365093c0b38d314f7e0190c9926 Mon Sep 17 00:00:00 2001 From: Michael Fiano Date: Thu, 28 Mar 2019 19:05:52 -0400 Subject: [PATCH 1/4] Fix common-lisp local leader prefix labels --- modules/lang/common-lisp/config.el | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/modules/lang/common-lisp/config.el b/modules/lang/common-lisp/config.el index 29348b8e1..4aa3098e3 100644 --- a/modules/lang/common-lisp/config.el +++ b/modules/lang/common-lisp/config.el @@ -77,9 +77,9 @@ bin/doom while packages at compile-time (not a runtime though)." (advice-add #'sly-check-version :before #'+common-lisp*refresh-sly-version) (map! :localleader - :map sly-mode-map + :map lisp-mode-map "'" #'sly - (:prefix "g" + (:prefix ("g" . "go") "b" #'sly-pop-find-definition-stack "d" #'sly-edit-definition "D" #'sly-edit-definition-other-window @@ -87,7 +87,7 @@ bin/doom while packages at compile-time (not a runtime though)." "N" #'sly-previous-note "s" #'sly-stickers-next-sticker "S" #'sly-stickers-prev-sticker) - (:prefix "h" + (:prefix ("h" . "help") "<" #'sly-who-calls ">" #'sly-calls-who "~" #'hyperspec-lookup-format @@ -102,36 +102,36 @@ bin/doom while packages at compile-time (not a runtime though)." "r" #'sly-who-references "s" #'sly-who-specializes "S" #'sly-who-sets) - (:prefix "c" + (:prefix ("c" . "compile") "c" #'sly-compile-file "C" #'sly-compile-and-load-file "f" #'sly-compile-defun "l" #'sly-load-file "n" #'sly-remove-notes "r" #'sly-compile-region) - (:prefix "e" + (:prefix ("e" . "evaluate") "b" #'sly-eval-buffer "e" #'sly-eval-last-expression "E" #'sly-eval-print-last-expression "f" #'sly-eval-defun "F" #'sly-undefine-function "r" #'sly-eval-region) - (:prefix "m" + (:prefix ("m" . "macro") "e" #'+common-lisp/macrostep/body "E" #'macrostep-expand) - (:prefix "r" + (:prefix ("r" . "repl") "c" #'sly-mrepl-clear-repl "q" #'sly-quit-lisp "r" #'sly-restart-inferior-lisp "s" #'sly-mrepl-sync) - (:prefix "s" + (:prefix ("s" . "stickers") "b" #'sly-stickers-toggle-break-on-stickers "c" #'sly-stickers-clear-defun-stickers "C" #'sly-stickers-clear-buffer-stickers "f" #'sly-stickers-fetch "r" #'sly-stickers-replay "s" #'sly-stickers-dwim) - (:prefix "t" + (:prefix ("t" . "trace") "t" #'sly-toggle-trace-fdefinition "T" #'sly-toggle-fancy-trace "u" #'sly-untrace-all)) @@ -243,7 +243,6 @@ bin/doom while packages at compile-time (not a runtime though)." "q" 'quit-window "r" 'sly-xref-retract))) - (def-package! sly-repl-ansi-color :defer t :init From a4364b3fea965d06ad2797fd6528cf3c33b6364b Mon Sep 17 00:00:00 2001 From: Michael Fiano Date: Thu, 28 Mar 2019 19:17:32 -0400 Subject: [PATCH 2/4] Added a label for starting Sly. Also added a command for starting Sly with a choice for the implementation to use. --- modules/lang/common-lisp/config.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/lang/common-lisp/config.el b/modules/lang/common-lisp/config.el index 4aa3098e3..fc566b540 100644 --- a/modules/lang/common-lisp/config.el +++ b/modules/lang/common-lisp/config.el @@ -78,7 +78,8 @@ bin/doom while packages at compile-time (not a runtime though)." (map! :localleader :map lisp-mode-map - "'" #'sly + :desc "Sly" "'" #'sly + :desc "Sly (ask)" ";" (λ! () (let ((current-prefix-arg '-)) (sly nil nil t))) (:prefix ("g" . "go") "b" #'sly-pop-find-definition-stack "d" #'sly-edit-definition From 2f356808457c02d9c9900aeb7886739b59f1eddc Mon Sep 17 00:00:00 2001 From: Michael Fiano Date: Thu, 28 Mar 2019 19:56:00 -0400 Subject: [PATCH 3/4] Added labels for Sly bindings --- modules/lang/common-lisp/config.el | 111 ++++++++++++++--------------- 1 file changed, 55 insertions(+), 56 deletions(-) diff --git a/modules/lang/common-lisp/config.el b/modules/lang/common-lisp/config.el index fc566b540..41a03e988 100644 --- a/modules/lang/common-lisp/config.el +++ b/modules/lang/common-lisp/config.el @@ -80,62 +80,61 @@ bin/doom while packages at compile-time (not a runtime though)." :map lisp-mode-map :desc "Sly" "'" #'sly :desc "Sly (ask)" ";" (λ! () (let ((current-prefix-arg '-)) (sly nil nil t))) - (:prefix ("g" . "go") - "b" #'sly-pop-find-definition-stack - "d" #'sly-edit-definition - "D" #'sly-edit-definition-other-window - "n" #'sly-next-note - "N" #'sly-previous-note - "s" #'sly-stickers-next-sticker - "S" #'sly-stickers-prev-sticker) - (:prefix ("h" . "help") - "<" #'sly-who-calls - ">" #'sly-calls-who - "~" #'hyperspec-lookup-format - "#" #'hyperspec-lookup-reader-macro - "a" #'sly-apropos - "b" #'sly-who-binds - "d" #'sly-disassemble-symbol - "h" #'sly-describe-symbol - "H" #'sly-hyperspec-lookup - "m" #'sly-who-macroexpands - "p" #'sly-apropos-package - "r" #'sly-who-references - "s" #'sly-who-specializes - "S" #'sly-who-sets) - (:prefix ("c" . "compile") - "c" #'sly-compile-file - "C" #'sly-compile-and-load-file - "f" #'sly-compile-defun - "l" #'sly-load-file - "n" #'sly-remove-notes - "r" #'sly-compile-region) - (:prefix ("e" . "evaluate") - "b" #'sly-eval-buffer - "e" #'sly-eval-last-expression - "E" #'sly-eval-print-last-expression - "f" #'sly-eval-defun - "F" #'sly-undefine-function - "r" #'sly-eval-region) - (:prefix ("m" . "macro") - "e" #'+common-lisp/macrostep/body - "E" #'macrostep-expand) - (:prefix ("r" . "repl") - "c" #'sly-mrepl-clear-repl - "q" #'sly-quit-lisp - "r" #'sly-restart-inferior-lisp - "s" #'sly-mrepl-sync) - (:prefix ("s" . "stickers") - "b" #'sly-stickers-toggle-break-on-stickers - "c" #'sly-stickers-clear-defun-stickers - "C" #'sly-stickers-clear-buffer-stickers - "f" #'sly-stickers-fetch - "r" #'sly-stickers-replay - "s" #'sly-stickers-dwim) - (:prefix ("t" . "trace") - "t" #'sly-toggle-trace-fdefinition - "T" #'sly-toggle-fancy-trace - "u" #'sly-untrace-all)) + (:prefix ("g" . "Go") + :desc "Go back" "b" #'sly-pop-find-definition-stack + :desc "Go to" "d" #'sly-edit-definition + :desc "Go to (other window)" "D" #'sly-edit-definition-other-window + :desc "Next note" "n" #'sly-next-note + :desc "Previous note" "N" #'sly-previous-note + :desc "Next sticker" "s" #'sly-stickers-next-sticker + :desc "Previous sticker" "S" #'sly-stickers-prev-sticker) + (:prefix ("h" . "Help") + :desc "Who calls" "<" #'sly-who-calls + :desc "Calls who" ">" #'sly-calls-who + :desc "Lookup format directive" "~" #'hyperspec-lookup-format + :desc "Lookup reader macro" "#" #'hyperspec-lookup-reader-macro + :desc "Apropos" "a" #'sly-apropos + :desc "Who binds" "b" #'sly-who-binds + :desc "Disassemble symbol" "d" #'sly-disassemble-symbol + :desc "Describe symbol" "h" #'sly-describe-symbol + :desc "HyperSpec lookup" "H" #'sly-hyperspec-lookup + :desc "Who macro-expands" "m" #'sly-who-macroexpands + :desc "Apropos package" "p" #'sly-apropos-package + :desc "Who references" "r" #'sly-who-references + :desc "Who specializes" "s" #'sly-who-specializes + :desc "Who sets" "S" #'sly-who-sets) + (:prefix ("c" . "Compile") + :desc "Compile file" "c" #'sly-compile-file + :desc "Compile/load file" "C" #'sly-compile-and-load-file + :desc "Compile toplevel form" "f" #'sly-compile-defun + :desc "Load file" "l" #'sly-load-file + :desc "Remove notes" "n" #'sly-remove-notes + :desc "Compile region" "r" #'sly-compile-region) + (:prefix ("e" . "Evaluate") + :desc "Evaulate buffer" "b" #'sly-eval-buffer + :desc "Evaluate last" "e" #'sly-eval-last-expression + :desc "Evaluate/print last" "E" #'sly-eval-print-last-expression + :desc "Evaluate defun" "f" #'sly-eval-defun + :desc "Undefine function" "F" #'sly-undefine-function + :desc "Evaluate region" "r" #'sly-eval-region) + (:prefix ("m" . "Macro") + :desc "Macrostep" "E" #'macrostep-expand) + (:prefix ("r" . "REPL") + :desc "Clear REPL" "c" #'sly-mrepl-clear-repl + :desc "Quit connection" "q" #'sly-quit-lisp + :desc "Restart connection" "r" #'sly-restart-inferior-lisp + :desc "Sync REPL" "s" #'sly-mrepl-sync) + (:prefix ("s" . "Stickers") + :desc "Toggle breaking stickers" "b" #'sly-stickers-toggle-break-on-stickers + :desc "Clear defun stickers" "c" #'sly-stickers-clear-defun-stickers + :desc "Clear buffer stickers" "C" #'sly-stickers-clear-buffer-stickers + :desc "Fetch stickers" "f" #'sly-stickers-fetch + :desc "Replay stickers" "r" #'sly-stickers-replay + :desc "Add/remove sticker" "s" #'sly-stickers-dwim) + (:prefix ("t" . "Trace") + :desc "Toggle" "t" #'sly-toggle-trace-fdefinition + :desc "Toggle (fancy)" "T" #'sly-toggle-fancy-trace + :desc "Untrace all" "u" #'sly-untrace-all)) (when (featurep! :feature evil +everywhere) (add-hook 'sly-mode-hook #'evil-normalize-keymaps) From d77e1fa15fc2ac58f391feab357c0df28b12d861 Mon Sep 17 00:00:00 2001 From: Michael Fiano Date: Thu, 28 Mar 2019 20:00:50 -0400 Subject: [PATCH 4/4] Removed common-lisp macrostep hydra This can cause a variety of problems, and the actual macrostep mode toggle has the same keybindings, so no loss of functionality. --- modules/lang/common-lisp/autoload/hydras.el | 19 ------------------- modules/lang/common-lisp/config.el | 2 +- 2 files changed, 1 insertion(+), 20 deletions(-) delete mode 100644 modules/lang/common-lisp/autoload/hydras.el diff --git a/modules/lang/common-lisp/autoload/hydras.el b/modules/lang/common-lisp/autoload/hydras.el deleted file mode 100644 index 3257353a9..000000000 --- a/modules/lang/common-lisp/autoload/hydras.el +++ /dev/null @@ -1,19 +0,0 @@ -;;; lang/common-lisp/autoload/hydras.el -*- lexical-binding: t; -*- - -;;;###autoload (autoload '+common-lisp/macrostep/body "lang/common-lisp/autoload/hydras" nil nil) -(defhydra +common-lisp/macrostep (:exit nil :hint nil :foreign-keys run) - " -Macro Expansion -^^Definitions ^^Compiler Notes ^^Stickers -^^^^^^───────────────────────────────────────────────────────────────────────────────────── -[_e_] Expand -[_c_] Collapse -[_n_] Next level -[_N_] Previous level -[_q_] Exit -" - ("e" macrostep-expand) - ("c" macrostep-collapse) - ("n" macrostep-next-macro) - ("N" macrostep-prev-macro) - ("q" macrostep-collapse-all :exit t)) diff --git a/modules/lang/common-lisp/config.el b/modules/lang/common-lisp/config.el index 41a03e988..0b677a325 100644 --- a/modules/lang/common-lisp/config.el +++ b/modules/lang/common-lisp/config.el @@ -118,7 +118,7 @@ bin/doom while packages at compile-time (not a runtime though)." :desc "Undefine function" "F" #'sly-undefine-function :desc "Evaluate region" "r" #'sly-eval-region) (:prefix ("m" . "Macro") - :desc "Macrostep" "E" #'macrostep-expand) + :desc "Macrostep" "e" #'macrostep-expand) (:prefix ("r" . "REPL") :desc "Clear REPL" "c" #'sly-mrepl-clear-repl :desc "Quit connection" "q" #'sly-quit-lisp