[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/completions-highlight-modifications b1a027d 01/25: Insert some m
From: |
Jimmy Aguilar Mena |
Subject: |
feature/completions-highlight-modifications b1a027d 01/25: Insert some modifications to implement completions highlighting. |
Date: |
Fri, 20 Nov 2020 13:28:31 -0500 (EST) |
branch: feature/completions-highlight-modifications
commit b1a027de35f63810fee4005b169ca9f88517eed5
Author: Jimmy Aguilar Mena <spacibba@aol.com>
Commit: Jimmy Aguilar Mena <spacibba@aol.com>
Insert some modifications to implement completions highlighting.
This are changes needed in the minibuffer API to do highlighting from a
different package.
* lisp/minibuffer.el (minibuffer-tab-through-completions-function) : New
variable containing the action to do when pressing tab in minibuffer
and *Completions* are shown.
(minibuffer-tab-through-completions-default) : Default function value
for minibuffer-tab-through-completions-function.
(completion--in-region-1) : Modification to funcall
minibuffer-tab-through-completions-function.
(minibuffer-hide-completions-hook) : New hook to call after
closing *Completions* buffer.
(minibuffer-hide-completions) : Modify to run hook
minibuffer-hide-completions-hook.
---
lisp/minibuffer.el | 34 ++++++++++++++++++++++++----------
1 file changed, 24 insertions(+), 10 deletions(-)
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 9d57a81..41a5d40 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -1283,6 +1283,27 @@ scroll the window of possible completions."
minibuffer-completion-table
minibuffer-completion-predicate)))
+
+(defun minibuffer-tab-through-completions-default ()
+ "Default action in `minibuffer-scroll-window' WINDOW.
+This is called when *Completions* window is already visible."
+ (let ((window minibuffer-scroll-window))
+ (with-current-buffer (window-buffer window)
+ (if (pos-visible-in-window-p (point-max) window)
+ ;; If end is in view, scroll up to the beginning.
+ (set-window-start window (point-min) nil)
+ ;; Else scroll down one screen.
+ (with-selected-window window
+ (scroll-up)))
+ nil)))
+
+(defvar minibuffer-tab-through-completions-function
+ #'minibuffer-tab-through-completions-default
+ "Function to execute when requested completion.
+This is used when *Completions* frame is already visible and the
+completions command is called again. This function receives the
+window to execute commands as a paramenter.")
+
(defun completion--in-region-1 (beg end)
;; If the previous command was not this,
;; mark the completion buffer obsolete.
@@ -1290,21 +1311,14 @@ scroll the window of possible completions."
(unless (eq 'completion-at-point last-command)
(completion--flush-all-sorted-completions)
(setq minibuffer-scroll-window nil))
-
(cond
;; If there's a fresh completion window with a live buffer,
;; and this command is repeated, scroll that window.
((and (window-live-p minibuffer-scroll-window)
(eq t (frame-visible-p (window-frame minibuffer-scroll-window))))
- (let ((window minibuffer-scroll-window))
- (with-current-buffer (window-buffer window)
- (if (pos-visible-in-window-p (point-max) window)
- ;; If end is in view, scroll up to the beginning.
- (set-window-start window (point-min) nil)
- ;; Else scroll down one screen.
- (with-selected-window window
- (scroll-up)))
- nil)))
+ ;; Action to perform when pressing tab and completions are shown.
+ (funcall minibuffer-tab-through-completions-function)
+ nil)
;; If we're cycling, keep on cycling.
((and completion-cycling completion-all-sorted-completions)
(minibuffer-force-complete beg end)
- branch feature/completions-highlight-modifications created (now 25f23b1), Jimmy Aguilar Mena, 2020/11/20
- feature/completions-highlight-modifications d015144 03/25: Add completions-highlight-mode initial implementation., Jimmy Aguilar Mena, 2020/11/20
- feature/completions-highlight-modifications b1a027d 01/25: Insert some modifications to implement completions highlighting.,
Jimmy Aguilar Mena <=
- feature/completions-highlight-modifications 5509afa 02/25: Document the changes in the API for Completions., Jimmy Aguilar Mena, 2020/11/20
- feature/completions-highlight-modifications d4d9f6a 04/25: Fix initial comment in completions-highlight file., Jimmy Aguilar Mena, 2020/11/20
- feature/completions-highlight-modifications 3a22b70 05/25: Improve keymap handling., Jimmy Aguilar Mena, 2020/11/20
- feature/completions-highlight-modifications 31d6ec4 12/25: Add parent maps, Jimmy Aguilar Mena, 2020/11/20
- feature/completions-highlight-modifications c6943d7 09/25: Simplify setting keymaps., Jimmy Aguilar Mena, 2020/11/20
- feature/completions-highlight-modifications 11431bc 13/25: Add # to function bindings, Jimmy Aguilar Mena, 2020/11/20
- feature/completions-highlight-modifications f19039c 14/25: Improve completions-highlight description in file header., Jimmy Aguilar Mena, 2020/11/20
- feature/completions-highlight-modifications ce8b5b2 17/25: Simplify and rely more in the post-command-hook, Jimmy Aguilar Mena, 2020/11/20
- feature/completions-highlight-modifications 3f0f13e 18/25: Add backtab commands., Jimmy Aguilar Mena, 2020/11/20
- feature/completions-highlight-modifications 6ea2c5c 20/25: Fixes:, Jimmy Aguilar Mena, 2020/11/20