mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 14:30:50 -08:00
* lisp/comint.el (comint-complete-input-ring): New command (bug#74694).
(comint-mode-map): Bind 'comint-complete-input-ring' to 'C-x <up>'.
This commit is contained in:
parent
61f1d7fc68
commit
d2986e79b7
2 changed files with 25 additions and 0 deletions
6
etc/NEWS
6
etc/NEWS
|
|
@ -337,6 +337,12 @@ It removes all the buttons in the specified region.
|
||||||
+++
|
+++
|
||||||
*** Disabling 'button-mode' now removes all buttons in the current buffer.
|
*** Disabling 'button-mode' now removes all buttons in the current buffer.
|
||||||
|
|
||||||
|
** Shell
|
||||||
|
|
||||||
|
*** New command to complete the shell history.
|
||||||
|
'comint-complete-input-ring' ('C-x <up>') is like 'minibuffer-complete-history'
|
||||||
|
but completes on comint inputs.
|
||||||
|
|
||||||
** Eshell
|
** Eshell
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -543,6 +543,7 @@ via PTYs.")
|
||||||
(define-key map "\er" 'comint-history-isearch-backward-regexp)
|
(define-key map "\er" 'comint-history-isearch-backward-regexp)
|
||||||
(define-key map [?\C-c ?\M-r] 'comint-previous-matching-input-from-input)
|
(define-key map [?\C-c ?\M-r] 'comint-previous-matching-input-from-input)
|
||||||
(define-key map [?\C-c ?\M-s] 'comint-next-matching-input-from-input)
|
(define-key map [?\C-c ?\M-s] 'comint-next-matching-input-from-input)
|
||||||
|
(define-key map [?\C-x up] 'comint-complete-input-ring)
|
||||||
(define-key map "\e\C-l" 'comint-show-output)
|
(define-key map "\e\C-l" 'comint-show-output)
|
||||||
(define-key map "\C-m" 'comint-send-input)
|
(define-key map "\C-m" 'comint-send-input)
|
||||||
(define-key map "\C-d" 'comint-delchar-or-maybe-eof)
|
(define-key map "\C-d" 'comint-delchar-or-maybe-eof)
|
||||||
|
|
@ -1180,6 +1181,24 @@ See also `comint-read-input-ring'."
|
||||||
(set-window-configuration conf)
|
(set-window-configuration conf)
|
||||||
(push ch unread-command-events))))))
|
(push ch unread-command-events))))))
|
||||||
|
|
||||||
|
(defun comint-complete-input-ring ()
|
||||||
|
"Complete a list of recent inputs entered into the current buffer.
|
||||||
|
Like `minibuffer-complete-history' but completes on comint inputs.
|
||||||
|
This function makes `comint-dynamic-list-input-ring' obsolete."
|
||||||
|
(interactive)
|
||||||
|
(let ((completions
|
||||||
|
(if (and (ring-p comint-input-ring)
|
||||||
|
(not (ring-empty-p comint-input-ring)))
|
||||||
|
(ring-elements comint-input-ring)
|
||||||
|
(user-error "No history available")))
|
||||||
|
(completion-in-region-mode-predicate
|
||||||
|
(lambda () (get-buffer-window "*Completions*" 0))))
|
||||||
|
(completion-in-region
|
||||||
|
(comint-line-beginning-position) (point-max)
|
||||||
|
(completion-table-with-metadata
|
||||||
|
completions '((category . comint-input)
|
||||||
|
(display-sort-function . identity)
|
||||||
|
(cycle-sort-function . identity))))))
|
||||||
|
|
||||||
(defun comint-regexp-arg (prompt)
|
(defun comint-regexp-arg (prompt)
|
||||||
"Return list of regexp and prefix arg using PROMPT."
|
"Return list of regexp and prefix arg using PROMPT."
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue