summaryrefslogtreecommitdiff
path: root/lisp/ss-keys.el
diff options
context:
space:
mode:
authorSzymon Szukalski <szymon@szymonszukalski.com>2026-04-09 10:53:27 +1000
committerSzymon Szukalski <szymon@szymonszukalski.com>2026-04-09 10:53:27 +1000
commitbc75732b9d37b77945a977ee9f7892cf6efc79c3 (patch)
tree4d9273ccc12c29eccc44fdc12372bea047414353 /lisp/ss-keys.el
parent12a5b1464bb919ba23f2aa6c22d44de81e382151 (diff)
Refactor Emacs config into modules
Diffstat (limited to 'lisp/ss-keys.el')
-rw-r--r--lisp/ss-keys.el55
1 files changed, 55 insertions, 0 deletions
diff --git a/lisp/ss-keys.el b/lisp/ss-keys.el
new file mode 100644
index 0000000..fe45572
--- /dev/null
+++ b/lisp/ss-keys.el
@@ -0,0 +1,55 @@
+;;; ss-keys.el --- Global keybindings -*- lexical-binding: t; -*-
+
+;;; Commentary:
+
+;; Centralized global keybindings for enabled features.
+
+;;; Code:
+
+(require 'ss-core)
+
+(defun ss-keys-setup ()
+ "Install global keybindings for enabled features."
+ (when (ss-feature-enabled-p 'agenda)
+ (global-set-key (kbd "C-c a") #'ss-open-agenda))
+
+ (when (ss-feature-enabled-p 'capture)
+ (global-set-key (kbd "C-c c") #'org-capture))
+
+ (when (and (ss-feature-enabled-p 'denote)
+ (fboundp 'denote-open-or-create)
+ (fboundp 'denote-link))
+ (global-set-key (kbd "C-c n n") #'denote-open-or-create)
+ (global-set-key (kbd "C-c n l") #'denote-link))
+
+ (when (ss-feature-enabled-p 'org)
+ (global-set-key (kbd "C-c n M") #'ss-open-moc)
+ (global-set-key (kbd "C-c n d") #'ss-open-journal))
+
+ (when (ss-feature-enabled-p 'crm)
+ (global-set-key (kbd "C-c n E") #'ss-crm-report-by-engagement)
+ (global-set-key (kbd "C-c n f") #'ss-crm-find)
+ (global-set-key (kbd "C-c n i") #'ss-crm-insert-name)
+ (global-set-key (kbd "C-c n I") #'ss-crm-insert-summary)
+ (global-set-key (kbd "C-c n L") #'ss-crm-report-by-location)
+ (global-set-key (kbd "C-c n o") #'ss-crm-overview)
+ (global-set-key (kbd "C-c n O") #'ss-crm-report-by-role)
+ (global-set-key (kbd "C-c n p") #'ss-crm-open)
+ (global-set-key (kbd "C-c n P") #'ss-crm-add)
+ (global-set-key (kbd "C-c n R") #'ss-crm-report-by-manager)
+ (global-set-key (kbd "C-c n S") #'ss-crm-report-by-supplier)
+ (global-set-key (kbd "C-c n T") #'ss-crm-report-by-team))
+
+ (when (and (ss-feature-enabled-p 'gptel)
+ (fboundp 'gptel)
+ (fboundp 'gptel-send)
+ (fboundp 'gptel-rewrite)
+ (fboundp 'gptel-add))
+ (global-set-key (kbd "C-c n g") #'gptel)
+ (global-set-key (kbd "C-c n s") #'gptel-send)
+ (global-set-key (kbd "C-c n r") #'gptel-rewrite)
+ (global-set-key (kbd "C-c n a") #'gptel-add)))
+
+(provide 'ss-keys)
+
+;;; ss-keys.el ends here