feat: Project management
I might switch back to Projectile later. }:\
This commit is contained in:
11
README.org
11
README.org
@@ -166,7 +166,8 @@ Disassemble project-ideas.org and reading-list.org into a individual roam nodes.
|
|||||||
|
|
||||||
**** TODO Capture templates
|
**** TODO Capture templates
|
||||||
|
|
||||||
*** TODO project.el
|
*** DONE project.el
|
||||||
|
CLOSED: [2025-01-16 Thu 18:19]
|
||||||
|
|
||||||
*** TODO Workspaces
|
*** TODO Workspaces
|
||||||
|
|
||||||
@@ -204,6 +205,12 @@ Disassemble project-ideas.org and reading-list.org into a individual roam nodes.
|
|||||||
|
|
||||||
*** TODO Vertico repeat
|
*** TODO Vertico repeat
|
||||||
|
|
||||||
|
*** TODO so-long-mode
|
||||||
|
|
||||||
|
*** TODO Consult icons
|
||||||
|
|
||||||
|
**** TODO compile-multi-all-the-icons
|
||||||
|
|
||||||
*** Language support
|
*** Language support
|
||||||
|
|
||||||
**** TODO Clojure
|
**** TODO Clojure
|
||||||
@@ -216,6 +223,8 @@ Disassemble project-ideas.org and reading-list.org into a individual roam nodes.
|
|||||||
|
|
||||||
**** TODO Elisp
|
**** TODO Elisp
|
||||||
|
|
||||||
|
*** IDEA Email?
|
||||||
|
|
||||||
*** IDEA =map!= macro
|
*** IDEA =map!= macro
|
||||||
|
|
||||||
*** IDEA Module system?
|
*** IDEA Module system?
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ in {
|
|||||||
home.file."org".source =
|
home.file."org".source =
|
||||||
mutableSymlink "~/Dropbox/org";
|
mutableSymlink "~/Dropbox/org";
|
||||||
|
|
||||||
|
# TODO: Move to programs/age.nix.
|
||||||
xdg.configFile."sops/age/keys.txt".source =
|
xdg.configFile."sops/age/keys.txt".source =
|
||||||
mutableSymlink "/persist/vault/${config.home.username}/keys/melbourne";
|
mutableSymlink "/persist/vault/${config.home.username}/keys/melbourne";
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
(require 'syd-evil)
|
(require 'syd-evil)
|
||||||
(require 'syd-keybinds)
|
(require 'syd-keybinds)
|
||||||
(require 'syd-org)
|
(require 'syd-org)
|
||||||
|
(require 'syd-projects)
|
||||||
(require 'syd-scratch)
|
(require 'syd-scratch)
|
||||||
(require 'syd-smartparens)
|
(require 'syd-smartparens)
|
||||||
(require 'syd-ui)
|
(require 'syd-ui)
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ are active.")
|
|||||||
(defun syd-keybinds-initialise ()
|
(defun syd-keybinds-initialise ()
|
||||||
(syd--initialise-leader)
|
(syd--initialise-leader)
|
||||||
|
|
||||||
;;; Buffer
|
;; Buffer
|
||||||
(require 'syd-buffers)
|
(require 'syd-buffers)
|
||||||
(general-def
|
(general-def
|
||||||
:prefix-map 'syd-leader-buffer-map
|
:prefix-map 'syd-leader-buffer-map
|
||||||
@@ -70,13 +70,13 @@ are active.")
|
|||||||
"u" `("Save buffer as root" . ,#'syd/save-buffer-as-root)
|
"u" `("Save buffer as root" . ,#'syd/save-buffer-as-root)
|
||||||
"r" `("Revert buffer" . ,#'revert-buffer))
|
"r" `("Revert buffer" . ,#'revert-buffer))
|
||||||
|
|
||||||
;;; Search
|
;; Search
|
||||||
(general-def
|
(general-def
|
||||||
:prefix-map 'syd-leader-search-map
|
:prefix-map 'syd-leader-search-map
|
||||||
"i" `("IMenu" . ,#'consult-imenu)
|
"i" `("IMenu" . ,#'consult-imenu)
|
||||||
"b" `("Search buffer" . ,#'syd/search-buffer))
|
"b" `("Search buffer" . ,#'syd/search-buffer))
|
||||||
|
|
||||||
;;; File
|
;; File
|
||||||
(require 'syd-file)
|
(require 'syd-file)
|
||||||
(general-def
|
(general-def
|
||||||
:prefix-map 'syd-leader-file-map
|
:prefix-map 'syd-leader-file-map
|
||||||
@@ -90,7 +90,7 @@ are active.")
|
|||||||
"U" `("Open this file as root" . ,#'syd/open-this-file-as-root)
|
"U" `("Open this file as root" . ,#'syd/open-this-file-as-root)
|
||||||
"y" `("Yank buffer path" . ,#'syd/yank-buffer-path))
|
"y" `("Yank buffer path" . ,#'syd/yank-buffer-path))
|
||||||
|
|
||||||
;;; Window
|
;; Window
|
||||||
(require 'syd-window)
|
(require 'syd-window)
|
||||||
(general-def
|
(general-def
|
||||||
:prefix-map 'syd-leader-window-maximise-map
|
:prefix-map 'syd-leader-window-maximise-map
|
||||||
@@ -116,12 +116,19 @@ are active.")
|
|||||||
"C-r" `("Redo window change" . ,#'winner-redo)
|
"C-r" `("Redo window change" . ,#'winner-redo)
|
||||||
"m" `("Maximise" . ,syd-leader-window-maximise-map))
|
"m" `("Maximise" . ,syd-leader-window-maximise-map))
|
||||||
|
|
||||||
;;; Leader
|
(general-def
|
||||||
|
:prefix-map 'syd-leader-project-map
|
||||||
|
"C" `("Compile project" . ,#'project-compile))
|
||||||
|
|
||||||
|
;; Leader
|
||||||
(general-def
|
(general-def
|
||||||
:keymaps 'syd-leader-map
|
:keymaps 'syd-leader-map
|
||||||
"." #'find-file
|
"." #'find-file
|
||||||
|
"SPC" `("Find file in project" . ,#'project-find-file)
|
||||||
"x" `("Open scratch buffer" . ,#'scratch-buffer)
|
"x" `("Open scratch buffer" . ,#'scratch-buffer)
|
||||||
|
"u" `("Universal argument" . ,#'universal-argument)
|
||||||
"b" `("Buffer" . ,syd-leader-buffer-map)
|
"b" `("Buffer" . ,syd-leader-buffer-map)
|
||||||
|
"p" `("Project" . ,syd-leader-project-map)
|
||||||
"w" `("Window" . ,syd-leader-window-map)
|
"w" `("Window" . ,syd-leader-window-map)
|
||||||
"f" `("File" . ,syd-leader-file-map)
|
"f" `("File" . ,syd-leader-file-map)
|
||||||
"s" `("Search" . ,syd-leader-search-map)
|
"s" `("Search" . ,syd-leader-search-map)
|
||||||
|
|||||||
31
users/crumb/programs/emacs/modules/syd-projects.el
Normal file
31
users/crumb/programs/emacs/modules/syd-projects.el
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
;;; syd-projects.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(require 'syd-constants)
|
||||||
|
|
||||||
|
(use-package project
|
||||||
|
:custom ((project-list-file (file-name-concat syd-cache-dir
|
||||||
|
"known-projects"))))
|
||||||
|
|
||||||
|
;; Projection provides a Projectile-like project management library atop
|
||||||
|
;; Emacs built-in project.el. It's more lightweight, while still featureful.
|
||||||
|
(use-package projection
|
||||||
|
;; Enable the `projection-hook' feature.
|
||||||
|
:hook (after-init . global-projection-hook-mode)
|
||||||
|
;; Require projections immediately after project.el.
|
||||||
|
:config
|
||||||
|
(with-eval-after-load 'project
|
||||||
|
(require 'projection)))
|
||||||
|
|
||||||
|
;; Allow interactively selecting available compilation targets from the
|
||||||
|
;; current project type.
|
||||||
|
(use-package projection-multi
|
||||||
|
:after projection)
|
||||||
|
|
||||||
|
;; Embark integration for projection-multi.
|
||||||
|
(use-package projection-multi-embark
|
||||||
|
:after (embark projection-multi)
|
||||||
|
;; Add the projection set-command bindings to
|
||||||
|
;; `compile-multi-embark-command-map'.
|
||||||
|
:config (projection-multi-embark-setup-command-map))
|
||||||
|
|
||||||
|
(provide 'syd-projects)
|
||||||
Reference in New Issue
Block a user