emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/cape 040c1ee30b 1/2: Add cape-prefix-map for simplified


From: ELPA Syncer
Subject: [elpa] externals/cape 040c1ee30b 1/2: Add cape-prefix-map for simplified configuration
Date: Wed, 10 Jul 2024 15:57:49 -0400 (EDT)

branch: externals/cape
commit 040c1ee30b6ff766ba0f3e1458b43ce4a65f068b
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    Add cape-prefix-map for simplified configuration
---
 CHANGELOG.org |  4 ++++
 README.org    | 27 ++++++++-------------------
 cape.el       | 24 ++++++++++++++++++++++++
 3 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 16da75398e..fd8c0c12cc 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -2,6 +2,10 @@
 #+author: Daniel Mendler
 #+language: en
 
+* Development
+
+- Add ~cape-prefix-map~ for simplified configuration.
+
 * Version 1.5 (2024-04-12)
 
 - ~cape-file-prefix~: New variable to customize file name completion prefix. If
diff --git a/README.org b/README.org
index 9e12b4fb58..9f446facf3 100644
--- a/README.org
+++ b/README.org
@@ -84,25 +84,14 @@ information.
 
 ;; Add extensions
 (use-package cape
-  ;; Bind dedicated completion commands
-  ;; Alternative prefix keys: C-c p, M-p, M-+, ...
-  :bind (("C-c p p" . completion-at-point) ;; capf
-         ("C-c p t" . complete-tag)        ;; etags
-         ("C-c p d" . cape-dabbrev)        ;; or dabbrev-completion
-         ("C-c p h" . cape-history)
-         ("C-c p f" . cape-file)
-         ("C-c p k" . cape-keyword)
-         ("C-c p s" . cape-elisp-symbol)
-         ("C-c p e" . cape-elisp-block)
-         ("C-c p a" . cape-abbrev)
-         ("C-c p l" . cape-line)
-         ("C-c p w" . cape-dict)
-         ("C-c p :" . cape-emoji)
-         ("C-c p \\" . cape-tex)
-         ("C-c p _" . cape-tex)
-         ("C-c p ^" . cape-tex)
-         ("C-c p &" . cape-sgml)
-         ("C-c p r" . cape-rfc1345))
+  ;; Bind prefix keymap providing all Cape commands under a mnemonic key.
+  ;; Press C-c p ? for help.
+  :bind ("C-c p" . cape-prefix-map) ;; Alternative keys: M-p, M-+, ...
+  ;; Alternatively bind Cape commands individually.
+  ;; :bind (("C-c p d" . cape-dabbrev)
+  ;;        ("C-c p h" . cape-history)
+  ;;        ("C-c p f" . cape-file)
+  ;;        ...)
   :init
   ;; Add to the global default value of `completion-at-point-functions' which 
is
   ;; used by `completion-at-point'.  The order of the functions matters, the
diff --git a/cape.el b/cape.el
index b268507215..d2bcc32bfb 100644
--- a/cape.el
+++ b/cape.el
@@ -1271,5 +1271,29 @@ This function can be used as an advice around an 
existing Capf."
       (format "Create a %s Capf from CAPF.
 The Capf calls `%s' with CAPF and ARGS as arguments." name wrapper))))
 
+(defvar-keymap cape-prefix-map
+  :doc "Keymap used as completion entry point.
+The keymap should be installed globally under a prefix."
+  "p" #'completion-at-point
+  "t" #'complete-tag
+  "d" #'cape-dabbrev
+  "h" #'cape-history
+  "f" #'cape-file
+  "s" #'cape-elisp-symbol
+  "e" #'cape-elisp-block
+  "a" #'cape-abbrev
+  "l" #'cape-line
+  "w" #'cape-dict
+  "k"  'cape-keyword
+  ":"  'cape-emoji
+  "\\" 'cape-tex
+  "_"  'cape-tex
+  "^"  'cape-tex
+  "&"  'cape-sgml
+  "r"  'cape-rfc1345)
+
+;;;###autoload (autoload 'cape-prefix-map "cape" nil t 'keymap)
+(defalias 'cape-prefix-map cape-prefix-map)
+
 (provide 'cape)
 ;;; cape.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]