summaryrefslogtreecommitdiff
path: root/utils/bindKeys.el
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--utils/bindKeys.el25
1 files changed, 25 insertions, 0 deletions
diff --git a/utils/bindKeys.el b/utils/bindKeys.el
new file mode 100644
index 0000000..c07c393
--- /dev/null
+++ b/utils/bindKeys.el
@@ -0,0 +1,25 @@
+;;; bindKeys.el --- bind key sequence to a key map -*- lexical-binding: t; -*-
+
+;; Author: Benj Bellon
+;; Keywords: lisp
+
+;;; Commentary:
+
+;; Bind key seqeuence to a keymap
+
+;;; Code:
+(require 'dash)
+
+(defun bindKeys (triggerSeq bindings)
+ "Bind keys to a trigger sequence.
+TRIGGERSEQ is a sequence of key(s) to trigger the binding.
+BINDINGS is an alist of bindings."
+ (let ((trigger (concat (-reduce (lambda (acc cur) (concat acc cur)) triggerSeq) " ")))
+ (mapcar (lambda (binding)
+ (global-set-key
+ (kbd (concat (concat "C-c " trigger) (car binding)))
+ (cdr binding)))
+ bindings)))
+
+(provide 'bindKeys)
+;;; bindKeys.el ends here