summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2021-11-07 09:02:12 +0800
committerLars Ingebrigtsen <larsi@gnus.org>2021-11-07 02:59:42 +0100
commit969ce9d201b07fcda080af0ae2670bfc14b7da0b (patch)
treedb935bdd4391fa80d4de75351d322bf79977a90c /lisp
parent3e04f1f7d26ae2392074fbb942dd8e1a0632bd52 (diff)
downloademacs-969ce9d201b07fcda080af0ae2670bfc14b7da0b.tar.gz
emacs-969ce9d201b07fcda080af0ae2670bfc14b7da0b.tar.bz2
emacs-969ce9d201b07fcda080af0ae2670bfc14b7da0b.zip
Improve xwidget isearch visuals
* lisp/xwidget.el (xwidget-webkit-isearch--update): New argument ONLY-MESSAGE. (xwidget-webkit-isearch-forward) (xwidget-webkit-isearch-backward): Always refresh message. (xwidget-webkit-isearch-mode): Update message when enabling.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/xwidget.el25
1 files changed, 16 insertions, 9 deletions
diff --git a/lisp/xwidget.el b/lisp/xwidget.el
index c17229d34c1..40461408952 100644
--- a/lisp/xwidget.el
+++ b/lisp/xwidget.el
@@ -834,13 +834,17 @@ WebKit widget."
(defvar-local xwidget-webkit-isearch--is-reverse nil
"Whether or not the current isearch should be reverse.")
-(defun xwidget-webkit-isearch--update ()
+(defun xwidget-webkit-isearch--update (&optional only-message)
"Update the current buffer's WebKit widget's search query.
-The query will be set to the contents of `xwidget-webkit-isearch--string'."
- (xwidget-webkit-search xwidget-webkit-isearch--string
- (xwidget-webkit-current-session)
- t xwidget-webkit-isearch--is-reverse t)
- (message "Search contents: %s" xwidget-webkit-isearch--string))
+If ONLY-MESSAGE is non-nil, the query will not be sent to the
+WebKit widget. The query will be set to the contents of
+`xwidget-webkit-isearch--string'."
+ (unless only-message
+ (xwidget-webkit-search xwidget-webkit-isearch--string
+ (xwidget-webkit-current-session)
+ t xwidget-webkit-isearch--is-reverse t))
+ (message (concat (propertize "Search contents: " 'face 'minibuffer-prompt)
+ xwidget-webkit-isearch--string)))
(defun xwidget-webkit-isearch-erasing-char (count)
"Erase the last COUNT characters of the current query."
@@ -870,7 +874,8 @@ With argument, add COUNT copies of CHAR."
(let ((i 0))
(while (< i count)
(xwidget-webkit-next-result (xwidget-webkit-current-session))
- (cl-incf i))))
+ (cl-incf i)))
+ (xwidget-webkit-isearch--update t))
(defun xwidget-webkit-isearch-backward (count)
"Move to the previous search result COUNT times."
@@ -882,7 +887,8 @@ With argument, add COUNT copies of CHAR."
(let ((i 0))
(while (< i count)
(xwidget-webkit-next-result (xwidget-webkit-current-session))
- (cl-incf i))))
+ (cl-incf i)))
+ (xwidget-webkit-isearch--update t))
(defun xwidget-webkit-isearch-exit ()
"Exit incremental search of a WebKit buffer."
@@ -935,7 +941,8 @@ Press \\[xwidget-webkit-isearch-exit] to exit incremental search."
(if xwidget-webkit-isearch-mode
(progn
(setq xwidget-webkit-isearch--string "")
- (setq xwidget-webkit-isearch--is-reverse (eq last-command-event ?\C-r)))
+ (setq xwidget-webkit-isearch--is-reverse (eq last-command-event ?\C-r))
+ (xwidget-webkit-isearch--update))
(xwidget-webkit-finish-search (xwidget-webkit-current-session))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;