feat(emacs): multi-projection

This commit is contained in:
Madeleine Sydney
2025-05-06 11:35:47 -06:00
parent c50ccfa1c3
commit 5ca97b9ec8

View File

@@ -39,28 +39,37 @@
;; Projection provides a Projectile-like project management library atop ;; Projection provides a Projectile-like project management library atop
;; Emacs built-in project.el. It's more lightweight, while still featureful. ;; Emacs built-in project.el. It's more lightweight, while still featureful.
(use-package projection (use-package projection
:straight (:type git
:host github
:repo "msyds/projection"
:files (:defaults "src/*.el"))
;; Enable the `projection-hook' feature. ;; Enable the `projection-hook' feature.
:hook (after-init . global-projection-hook-mode) :hook (after-init . global-projection-hook-mode)
:general (:keymaps 'syd-leader-project-map :general (:keymaps 'syd-leader-project-map
"R" #'projection-commands-run-project) "R" #'projection-commands-run-project
;; Require projections immediately after project.el. "M" #'projection-multi-compile
:config "T" #'projection-commands-test-project))
(with-eval-after-load 'project
(require 'projection)))
;; Allow interactively selecting available compilation targets from the ;; Allow interactively selecting available compilation targets from the
;; current project type. ;; current project type.
(use-package projection-multi (use-package projection-multi
:after projection :straight (:type git
:host github
:repo "msyds/projection"
:files (:defaults "src/projection-multi/*.el"))
:general (:keymaps 'syd-leader-project-map :general (:keymaps 'syd-leader-project-map
"M" #'projection-multi-projection)) "M" #'projection-multi-compile)
:after projection
:config
(require 'projection-multi-bb)
(setq projection-multi-bb-executable (executable-find "bb")))
;; Embark integration for projection-multi. ;; ;; Embark integration for projection-multi.
(use-package projection-multi-embark ;; (use-package projection-multi-embark
:after (embark projection-multi) ;; :after (embark projection-multi)
;; Add the projection set-command bindings to ;; ;; Add the projection set-command bindings to
;; `compile-multi-embark-command-map'. ;; ;; `compile-multi-embark-command-map'.
:config (projection-multi-embark-setup-command-map)) ;; :config (projection-multi-embark-setup-command-map))
(use-package skeletor (use-package skeletor
:commands (skeletor-create-project-at skeletor-create-project) :commands (skeletor-create-project-at skeletor-create-project)