diff --git a/core/core-projects.el b/core/core-projects.el index 9ab29ef7e..d8b426867 100644 --- a/core/core-projects.el +++ b/core/core-projects.el @@ -10,7 +10,8 @@ projectile-require-project-root t projectile-globally-ignored-files '(".DS_Store" "Icon " "TAGS") projectile-globally-ignored-file-suffixes '(".elc" ".pyc" ".o") - projectile-ignored-projects '("~/" "/tmp")) + projectile-ignored-projects '("~/" "/tmp") + projectile-kill-buffers-filter 'kill-only-files) :config (add-hook 'dired-before-readin-hook #'projectile-track-known-projects-find-file-hook) diff --git a/modules/lang/common-lisp/autoload/hydras.el b/modules/lang/common-lisp/autoload/hydras.el index aa8ac79bd..3257353a9 100644 --- a/modules/lang/common-lisp/autoload/hydras.el +++ b/modules/lang/common-lisp/autoload/hydras.el @@ -1,24 +1,5 @@ ;;; lang/common-lisp/autoload/hydras.el -*- lexical-binding: t; -*- -;;;###autoload (autoload '+common-lisp/navigation/body "lang/common-lisp/autoload/hydras" nil nil) -(defhydra +common-lisp/navigation (:exit nil :hint nil :foreign-keys run) - " -^^Definitions ^^Compiler Notes ^^Stickers -^^^^^^───────────────────────────────────────────────────────────────────────────────────── -[_g_] Jump to definition [_n_] Next compiler note [_s_] Next sticker -[_G_] Jump to definition (other window) [_N_] Previous compiler note [_S_] Previous sticker -[_b_] Pop from definition -[_q_] Exit -" - ("g" sly-edit-definition) - ("G" sly-edit-definition-other-window) - ("b" sly-pop-find-definition-stack) - ("n" sly-next-note) - ("N" sly-previous-note) - ("s" sly-stickers-next-sticker) - ("S" sly-stickers-prev-sticker) - ("q" nil :exit 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) " diff --git a/modules/lang/common-lisp/config.el b/modules/lang/common-lisp/config.el index d4134d8fc..ff8cdc2fd 100644 --- a/modules/lang/common-lisp/config.el +++ b/modules/lang/common-lisp/config.el @@ -30,7 +30,6 @@ (sp-local-pair "'" "'" :actions nil) (sp-local-pair "`" "`" :actions nil)) - ;; (defun +common-lisp|cleanup-sly-maybe () "Kill processes and leftover buffers when killing the last sly buffer." (unless (cl-loop for buf in (delq (current-buffer) (buffer-list)) @@ -70,8 +69,19 @@ bin/doom while packages at compile-time (not a runtime though)." (map! :map sly-mode-map :localleader :n "'" #'sly - :n "g" #'+common-lisp/navigation/body + (:prefix "g" + :n "b" #'sly-pop-find-definition-stack + :n "d" #'sly-edit-definition + :n "D" #'sly-edit-definition-other-window + :n "n" #'sly-next-note + :n "N" #'sly-previous-note + :n "s" #'sly-stickers-next-sticker + :n "S" #'sly-stickers-prev-sticker) (:prefix "h" + :n "<" #'sly-who-calls + :n ">" #'sly-calls-who + :n "~" #'hyperspec-lookup-format + :n "#" #'hyperspec-lookup-reader-macro :n "a" #'sly-apropos :n "b" #'sly-who-binds :n "d" #'sly-disassemble-symbol @@ -81,26 +91,24 @@ bin/doom while packages at compile-time (not a runtime though)." :n "p" #'sly-apropos-package :n "r" #'sly-who-references :n "s" #'sly-who-specializes - :n "S" #'sly-who-sets - :n "<" #'sly-who-calls - :n ">" #'sly-calls-who) + :n "S" #'sly-who-sets) (:prefix "c" :n "c" #'sly-compile-file :n "C" #'sly-compile-and-load-file :n "f" #'sly-compile-defun :n "l" #'sly-load-file :n "n" #'sly-remove-notes - :n "r" #'sly-compile-region) + :v "r" #'sly-compile-region) (:prefix "e" :n "b" #'sly-eval-buffer :n "e" #'sly-eval-last-expression :n "E" #'sly-eval-print-last-expression :n "f" #'sly-eval-defun :n "F" #'sly-undefine-function - :n "r" #'sly-eval-region) + :v "r" #'sly-eval-region) (:prefix "m" - :n "e" #'macrostep-expand - :n "E" #'+common-lisp/macrostep/body) + :n "e" #'+common-lisp/macrostep/body + :n "E" #'macrostep-expand) (:prefix "r" :n "c" #'sly-mrepl-clear-repl :n "q" #'sly-quit-lisp @@ -118,8 +126,6 @@ bin/doom while packages at compile-time (not a runtime though)." :n "T" #'sly-toggle-fancy-trace :n "u" #'sly-untrace-all)) - ;; Since `evil-collection-slime' exists, but not `evil-collection-sly', we - ;; simply copy it (when (featurep! :feature evil +everywhere) (add-hook 'sly-mode-hook #'evil-normalize-keymaps) (add-hook 'sly-popup-buffer-mode-hook #'evil-normalize-keymaps) @@ -136,44 +142,17 @@ bin/doom while packages at compile-time (not a runtime though)." (evil-define-key 'normal sly-parent-map (kbd "C-t") #'sly-pop-find-definition-stack) (evil-define-key 'normal sly-db-mode-map - (kbd "RET") 'sly-db-default-action - (kbd "C-m") 'sly-db-default-action - [return] 'sly-db-default-action - [mouse-2] 'sly-db-default-action/mouse [follow-link] 'mouse-face - "\C-i" 'sly-db-cycle - "g?" 'describe-mode - "S" 'sly-db-show-source - "e" 'sly-db-eval-in-frame - "d" 'sly-db-pprint-eval-in-frame - "D" 'sly-db-disassemble - "i" 'sly-db-inspect-in-frame - "gj" 'sly-db-down - "gk" 'sly-db-up + [mouse-2] 'sly-db-default-action/mouse + [return] 'sly-db-default-action + (kbd "C-i") 'sly-db-cycle (kbd "C-j") 'sly-db-down (kbd "C-k") 'sly-db-up - "]" 'sly-db-details-down - "[" 'sly-db-details-up + (kbd "C-m") 'sly-db-default-action (kbd "C-S-j") 'sly-db-details-down (kbd "C-S-k") 'sly-db-details-up - "gg" 'sly-db-beginning-of-backtrace - "G" 'sly-db-end-of-backtrace - "t" 'sly-db-toggle-details - "gr" 'sly-db-restart-frame - "I" 'sly-db-invoke-restart-by-name - "R" 'sly-db-return-from-frame - "c" 'sly-db-continue - "s" 'sly-db-step - "n" 'sly-db-next - "o" 'sly-db-out - "b" 'sly-db-break-on-return - "a" 'sly-db-abort - "q" 'sly-db-quit - "A" 'sly-db-break-with-system-debugger - "B" 'sly-db-break-with-default-debugger - "P" 'sly-db-print-condition - "C" 'sly-db-inspect-condition - "g:" 'sly-interactive-eval + "]" 'sly-db-details-down + "[" 'sly-db-details-up "0" 'sly-db-invoke-restart-0 "1" 'sly-db-invoke-restart-1 "2" 'sly-db-invoke-restart-2 @@ -183,46 +162,78 @@ bin/doom while packages at compile-time (not a runtime though)." "6" 'sly-db-invoke-restart-6 "7" 'sly-db-invoke-restart-7 "8" 'sly-db-invoke-restart-8 - "9" 'sly-db-invoke-restart-9) + "9" 'sly-db-invoke-restart-9 + "a" 'sly-db-abort + "A" 'sly-db-break-with-system-debugger + "b" 'sly-db-break-on-return + "B" 'sly-db-break-with-default-debugger + "c" 'sly-db-continue + "C" 'sly-db-inspect-condition + "d" 'sly-db-pprint-eval-in-frame + "D" 'sly-db-disassemble + "e" 'sly-db-eval-in-frame + "g:" 'sly-interactive-eval + "g?" 'describe-mode + "gg" 'sly-db-beginning-of-backtrace + "gj" 'sly-db-down + "gk" 'sly-db-up + "gr" 'sly-db-restart-frame + "G" 'sly-db-end-of-backtrace + "i" 'sly-db-inspect-in-frame + "I" 'sly-db-invoke-restart-by-name + "n" 'sly-db-next + "o" 'sly-db-out + "P" 'sly-db-print-condition + "q" 'sly-db-quit + "R" 'sly-db-return-from-frame + "s" 'sly-db-step + "S" 'sly-db-show-frame-source + "t" 'sly-db-toggle-details) (evil-define-key 'normal sly-inspector-mode-map - [return] 'sly-inspector-operate-on-point - (kbd "C-m") 'sly-inspector-operate-on-point + [backtab] 'sly-inspector-previous-inspectable-object [mouse-1] 'sly-inspector-operate-on-click [mouse-2] 'sly-inspector-operate-on-click [mouse-6] 'sly-inspector-pop [mouse-7] 'sly-inspector-next - "gk" 'sly-inspector-pop + [return] 'sly-inspector-operate-on-point + [(shift tab)] 'sly-inspector-previous-inspectable-object + (kbd "") 'sly-mrepl-copy-part-to-repl + (kbd "C-i") 'sly-inspector-next-inspectable-object (kbd "C-k") 'sly-inspector-pop + (kbd "C-m") 'sly-inspector-operate-on-point + "." 'sly-inspector-show-source + "D" 'sly-inspector-describe-inspectee + "e" 'sly-inspector-eval + "gb" 'sly-inspector-pop "gj" 'sly-inspector-next + "gr" 'sly-inspector-reinspect + "gR" 'sly-inspector-fetch-all + "gv" 'sly-inspector-toggle-verbose "j" 'sly-inspector-next + "h" 'sly-inspector-history "k" 'sly-inspector-previous-inspectable-object "K" 'sly-inspector-describe "p" 'sly-inspector-pprint - "e" 'sly-inspector-eval - "h" 'sly-inspector-history - "gr" 'sly-inspector-reinspect - "gv" 'sly-inspector-toggle-verbose - "\C-i" 'sly-inspector-next-inspectable-object - [(shift tab)] 'sly-inspector-previous-inspectable-object ; Emacs translates S-TAB - [backtab] 'sly-inspector-previous-inspectable-object ; to BACKTAB on X. - "." 'sly-inspector-show-source - "gR" 'sly-inspector-fetch-all "q" 'sly-inspector-quit) (evil-define-key 'normal sly-mode-map (kbd "C-t") 'sly-pop-find-definition-stack) (evil-define-key 'normal sly-popup-buffer-mode-map - "q" 'quit-window - (kbd "C-t") 'sly-pop-find-definition-stack) + (kbd "C-t") 'sly-pop-find-definition-stack + "q" 'quit-window) (evil-define-key 'normal sly-xref-mode-map - (kbd "RET") 'sly-goto-xref - (kbd "S-") 'sly-goto-xref - "go" 'sly-show-xref - "gj" 'sly-xref-next-line - "gk" 'sly-xref-prev-line + [return] 'sly-goto-xref + (kbd "S-") 'sly-show-xref (kbd "C-j") 'sly-xref-next-line (kbd "C-k") 'sly-xref-prev-line "]" 'sly-xref-next-line "[" 'sly-xref-prev-line + "gj" 'sly-xref-next-line + "gk" 'sly-xref-prev-line + "go" 'sly-show-xref "gr" 'sly-recompile-xref "gR" 'sly-recompile-all-xrefs "r" 'sly-xref-retract))) + +(def-package! sly-repl-ansi-color + :config + (push 'sly-repl-ansi-color sly-contribs)) diff --git a/modules/lang/common-lisp/packages.el b/modules/lang/common-lisp/packages.el index 8541ea496..cc0549ea0 100644 --- a/modules/lang/common-lisp/packages.el +++ b/modules/lang/common-lisp/packages.el @@ -3,3 +3,4 @@ (package! sly) (package! sly-macrostep) +(package! sly-repl-ansi-color)