]> git.eshelyaron.com Git - emacs.git/commitdiff
eww: Enable completion in URL/keyword prompt.
authorAntero Mejr <antero@mailbox.org>
Wed, 12 Apr 2023 17:56:01 +0000 (17:56 +0000)
committerEli Zaretskii <eliz@gnu.org>
Tue, 25 Apr 2023 14:28:10 +0000 (17:28 +0300)
* lisp/net/eww.el (eww): Use 'completing-read' when prompting for a URL
or keywords.
(eww-minibuffer-url-keymap): New keymap for use in the URL/keyword
prompt.
* etc/NEWS (EWW): Add NEWS entry for the change.  (Bug#62800)

etc/NEWS
lisp/net/eww.el

index 4c5f50e343e34adc3812d91e00b3626091898457..38858a4bc63d730dfa5086dd73185d491779d825 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -231,6 +231,11 @@ the new argument NEW-BUFFER non-nil, it will use a new buffer instead.
 Interactively, invoke 'eww-open-file' with a prefix argument to
 activate this behavior.
 
++++
+*** 'eww' URL or keyword prompt now has tab completion.
+The interactive minibuffer prompt when invoking 'eww' now has support
+for tab completion.
+
 ** go-ts-mode
 
 +++
index 99450356b7cf927f0b4f8d81a3edccce9470b05e..eb123864973fc7685453e82bcbe6d973c7e704ef 100644 (file)
@@ -329,6 +329,12 @@ parameter, and should return the (possibly) transformed URL."
   :parent shr-image-map
   "RET" #'eww-follow-link)
 
+(defvar-keymap eww-minibuffer-url-keymap
+  :doc "Keymap used in the minibuffer prompt for URLs or keywords."
+  :parent minibuffer-local-completion-map
+  "SPC" #'self-insert-command
+  "?" #'self-insert-command)
+
 (defun eww-suggested-uris nil
   "Return the list of URIs to suggest at the `eww' prompt.
 This list can be customized via `eww-suggest-uris'."
@@ -377,10 +383,12 @@ killed after rendering.
 
 For more information, see Info node `(eww) Top'."
   (interactive
-   (let ((uris (eww-suggested-uris)))
-     (list (read-string (format-prompt "Enter URL or keywords"
-                                       (and uris (car uris)))
-                        nil 'eww-prompt-history uris)
+   (let ((uris (eww-suggested-uris))
+         (minibuffer-local-completion-map eww-minibuffer-url-keymap))
+     (list (completing-read (format-prompt "Enter URL or keywords"
+                                           (and uris (car uris)))
+                            eww-prompt-history nil nil nil
+                            'eww-prompt-history uris)
            current-prefix-arg)))
   (setq url (eww--dwim-expand-url url))
   (pop-to-buffer-same-window