summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mendler <mail@daniel-mendler.de>2021-07-14 18:14:31 +0200
committerDaniel Mendler <mail@daniel-mendler.de>2021-07-14 20:30:24 +0200
commit66116be876dbe92cd1185db04f7c0507cda4e6c3 (patch)
treedadf0cc1c2b809541688a2e18efbd8a5922ceace
parent9f278fd95b0bffe57617d3574fe1c658609e3c7c (diff)
Add completion-predicate to the Corfu commands (Fix #35)completion-predicate
-rw-r--r--README.org5
-rw-r--r--corfu.el6
2 files changed, 11 insertions, 0 deletions
diff --git a/README.org b/README.org
index fd64b55..dfd3e15 100644
--- a/README.org
+++ b/README.org
@@ -104,6 +104,11 @@
;; TAB cycle if there are only few candidates
(setq completion-cycle-threshold 3)
+ ;; Emacs 28: Hide commands in M-x which do not work in the current mode.
+ ;; Corfu commands are hidden, since they are not supposed to be used via M-x.
+ ;; (setq read-extended-command-predicate
+ ;; #'command-completion-default-include-p)
+
;; Enable indentation+completion using the TAB key.
;; `completion-at-point' is often bound to M-TAB.
(setq tab-always-indent 'complete))
diff --git a/corfu.el b/corfu.el
index 85b22ff..31b5df5 100644
--- a/corfu.el
+++ b/corfu.el
@@ -833,5 +833,11 @@ filter string with spaces is allowed."
(memq major-mode corfu-excluded-modes))
(corfu-mode 1)))
+;; Emacs 28: Do not show Corfu commands with M-X
+(dolist (sym '(corfu-next corfu-previous corfu-first corfu-last corfu-quit
+ corfu-complete corfu-insert corfu-scroll-up corfu-scroll-down
+ corfu-show-location corfu-show-documentation))
+ (put sym 'completion-predicate #'ignore))
+
(provide 'corfu)
;;; corfu.el ends here