[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