aboutsummaryrefslogtreecommitdiff
path: root/bard-elisp/bard-embark.el
diff options
context:
space:
mode:
authorDaniel <[email protected]>2024-04-13 14:44:15 -0400
committerDaniel <[email protected]>2024-04-13 14:44:59 -0400
commitd0550e73385c9b31c1a5067c0bed5c47e5c23a39 (patch)
tree946d409c05182b2a2aed9a565b74ecef013f4828 /bard-elisp/bard-embark.el
parentdfd24ab72e985b32dcac868e3f502f6654dfd24d (diff)
embark library
Diffstat (limited to 'bard-elisp/bard-embark.el')
-rw-r--r--bard-elisp/bard-embark.el87
1 files changed, 87 insertions, 0 deletions
diff --git a/bard-elisp/bard-embark.el b/bard-elisp/bard-embark.el
new file mode 100644
index 0000000..382c6c9
--- /dev/null
+++ b/bard-elisp/bard-embark.el
@@ -0,0 +1,87 @@
+(require 'embark)
+
+(defvar-keymap bard-embark-general-map
+ :parent embark-general-map
+ "i" #'embark-insert
+ "w" #'embark-copy-as-kill
+ "E" #'embark-export
+ "S" #'embark-collect
+ "A" #'embark-act-all
+ "DEL" #'delete-region)
+
+(defvar-keymap bard-embark-url-map
+ :parent embark-general-map
+ "b" #'browse-url
+ "d" #'embark-download-url
+ "e" #'eww)
+
+(defvar-keymap bard-embark-buffer-map
+ :parent embark-general-map
+ "k" #'bard-simple-kill-buffer
+ "o" #'switch-to-buffer-other-window
+ "e" #'ediff-buffers)
+
+(add-to-list 'embark-post-action-hooks (list 'bard-simple-kill-buffer 'embark--restart))
+
+(defvar-keymap bard-embark-file-map
+ :parent embark-general-map
+ "f" #'find-file
+ "j" #'embark-dired-jump
+ "c" #'copy-file
+ "e" #'ediff-files)
+
+(defvar-keymap bard-embark-identifier-map
+ :parent embark-general-map
+ "h" #'display-local-help
+ "." #'xref-find-definitions
+ "o" #'occur)
+
+(defvar-keymap bard-embark-command-map
+ :parent embark-general-map
+ "h" #'describe-command
+ "." #'embark-find-definition)
+
+(defvar-keymap bard-embark-expression-map
+ :parent embark-general-map
+ "e" #'pp-eval-expression
+ "m" #'pp-macroexpand-expression)
+
+(defvar-keymap bard-embark-function-map
+ :parent embark-general-map
+ "h" #'describe-function
+ "." #'embark-find-definition)
+
+(defvar-keymap bard-embark-package-map
+ :parent embark-general-map
+ "h" #'describe-package
+ "i" #'package-install
+ "d" #'package-delete
+ "r" #'package-reinstall
+ "u" #'embark-browse-package-url
+ "w" #'embark-save-package-url)
+
+(defvar-keymap bard-embark-symbol-map
+ :parent embark-general-map
+ "h" #'describe-symbol
+ "." #'embark-find-definition)
+
+(defvar-keymap bard-embark-variable-map
+ :parent embark-general-map
+ "h" #'describe-variable
+ "." #'embark-find-definition)
+
+(defvar-keymap bard-embark-region-map
+ :parent embark-general-map
+ "a" #'align-regexp
+ "D" #'delete-duplicate-lines
+ "f" #'flush-lines
+ "i" #'epa-import-keys-region
+ "d" #'epa-decrypt-armor-in-region
+ "r" #'repunctuate-sentences
+ "s" #'sort-lines
+ "u" #'untabify)
+
+;; The minimal indicator shows cycling options, but I have no use
+;; for those. I want it to be silent.
+(defun bard-embark-no-minimal-indicator ())
+(advice-add #'embark-minimal-indicator :override #'bard-embark-no-minimal-indicator)