[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/mct 59431a2622 61/64: Provide global variant of mct-reg
From: |
ELPA Syncer |
Subject: |
[elpa] externals/mct 59431a2622 61/64: Provide global variant of mct-region-mode |
Date: |
Thu, 30 Dec 2021 23:58:02 -0500 (EST) |
branch: externals/mct
commit 59431a26223ee5fe530feffe9a3ea3a7ed41e940
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>
Provide global variant of mct-region-mode
---
mct.el | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/mct.el b/mct.el
index cf21fb72ac..31234c9bc3 100644
--- a/mct.el
+++ b/mct.el
@@ -173,6 +173,10 @@ See `completions-format' for possible values."
:type '(choice (const horizontal) (const vertical) (const one-column))
:group 'mct)
+(defcustom mct-region-excluded-modes nil
+ "List of modes excluded by `mct-region-global-mode'."
+ :type '(repeat symbol))
+
;;;; Completion metadata
(defun mct--completion-category ()
@@ -1231,15 +1235,14 @@ minibuffer)."
(mct--setup-line-numbers)
(cursor-sensor-mode)))
+(defun mct--region-completion-done (&rest app)
+ "Apply APP before disabling completion in region."
+ (apply app)
+ (completion-in-region-mode -1))
+
;;;###autoload
(define-minor-mode mct-region-mode
"Set up interactivity over the default `completion-in-region'."
- ;; TODO the mct-region-mode should be buffer-local. One may want to use
- ;; different completion-in-region UIs depending on the major mode/buffer. Of
- ;; course it is only my preference to make this configurabe, but in principle
- ;; nothing is hindering us from offering mct-region-mode as a local mode. In
- ;; contrast, for mct-minibuffer-mode, offering a buffer-local mode does not
- ;; make sense.
:global nil
(if mct-region-mode
(progn
@@ -1256,9 +1259,19 @@ minibuffer)."
(advice-remove #'display-completion-list
#'mct--display-completion-list-advice)
(advice-remove #'minibuffer-message #'mct--honor-inhibit-message)))
-(defun mct--region-completion-done (&rest app)
- (apply app)
- (completion-in-region-mode -1))
+;; The `mct-region-global-mode', `mct-region--on', and
+;; `mct-region-excluded-modes' are adapted from the corfu.el library of
+;; Daniel Mendler.
+
+;;;###autoload
+(define-globalized-minor-mode mct-region-global-mode mct-region-mode
mct-region--on)
+
+(defun mct-region--on ()
+ "Turn `mct-region-mode' on."
+ (unless (or noninteractive
+ (eq (aref (buffer-name) 0) ?\s)
+ (memq major-mode mct-region-excluded-modes))
+ (mct-region-mode 1)))
(provide 'mct)
;;; mct.el ends here
- [elpa] externals/mct f3d86fe28a 06/64: Rename internal function, (continued)
- [elpa] externals/mct f3d86fe28a 06/64: Rename internal function, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 72a1c3e6f4 22/64: Minor changes to doc strings, ELPA Syncer, 2021/12/30
- [elpa] externals/mct dedb62cce5 23/64: Implement next/prev candidate or quit completions, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 6bb328a795 24/64: Merge branch 'main' into experiment-completion-in-region, ELPA Syncer, 2021/12/30
- [elpa] externals/mct a3edf3ce5a 28/64: Remove obsolete function, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 85d05c08b6 33/64: Remove superfluous comment, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 6a1835cf00 48/64: Remove mct--region-buf, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 771fb8b3cb 54/64: Make in-region prev motion work at all times, ELPA Syncer, 2021/12/30
- [elpa] externals/mct e4b49f40f1 58/64: Add TODO about local mct-region-mode, ELPA Syncer, 2021/12/30
- [elpa] externals/mct a6dac17d1c 59/64: Review mct--region-p for buffer-local mode, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 59431a2622 61/64: Provide global variant of mct-region-mode,
ELPA Syncer <=
- [elpa] externals/mct 9e81e4425a 64/64: Complete key bindings of next/prev group motions, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 740d9f5d7d 01/64: Do not bind while-no-input-ignore-events, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 0c575c23c4 04/64: Add TODO: mct-region-mode could be buffer local, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 2413746369 11/64: Merge 'main' into experiment-completion-in-region, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 90aa42f432 13/64: Style the completions regardless of mct variant, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 236e03fd5e 08/64: Install advice to silence messages in region, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 8958528d2e 21/64: Merge branch 'main' into experiment-completion-in-region, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 53dc6be137 20/64: Write routines for next/prev/directional motions, ELPA Syncer, 2021/12/30
- [elpa] externals/mct 639add9b8e 25/64: Merge 'main' into experiment-completion-in-region, ELPA Syncer, 2021/12/30
- [elpa] externals/mct eaf0f98d55 26/64: Merge branch 'main' into experiment-completion-in-region, ELPA Syncer, 2021/12/30