1
0
Fork 0

- added command to repeat the last text search.

This commit is contained in:
cage 2020-12-29 13:01:59 +01:00
parent 94a8e29f84
commit 77b7188581
4 changed files with 33 additions and 9 deletions

View File

@ -209,6 +209,8 @@
(define-key "\\\\ m" #'thread-search-previous-message-meta *thread-keymap*)
(define-key "N" #'repeat-search *thread-keymap*)
(define-key "n" #'thread-search-next-unread-message *thread-keymap*)
(define-key "home" #'thread-goto-first-message *thread-keymap*)
@ -289,6 +291,8 @@
(define-key "/" #'message-search-regex *message-keymap*)
(define-key "N" #'repeat-search *message-keymap*)
(define-key "npage" #'message-scroll-next-page *message-keymap*)
(define-key "ppage" #'message-scroll-previous-page *message-keymap*)
@ -305,6 +309,8 @@
(define-key "/" #'message-search-regex *gemini-message-keymap*)
(define-key "N" #'repeat-search *gemini-message-keymap*)
(define-key "npage" #'message-scroll-next-page *gemini-message-keymap*)
(define-key "ppage" #'message-scroll-previous-page *gemini-message-keymap*)

View File

@ -1262,11 +1262,12 @@
:min-id
:fetch-remote-status-event
:process-event
:search-next-event
:search-regex-message-content-event
:thread-goto-message
:thread-search-message-body-event
:search-direction
:thread-search-message-meta-event
:thread-goto-message
:delete-all-status-event
:quit-program-event
:error-message-event
@ -2208,6 +2209,7 @@
:thread-search-previous-message-body
:thread-search-next-message-meta
:thread-search-previous-message-meta
:repeat-search
:thread-search-next-unread-message
:thread-open-selected-message
:thread-mark-delete-selected-message

View File

@ -395,7 +395,19 @@
(dbg "fetch single status ~a" dump))
(db:update-db status)))
(defclass search-regex-message-content-event (program-event) ())
(defparameter *search-next-saved-event* nil)
(defclass search-event (program-event) ())
(defmethod process-event :before ((object search-event))
(setf *search-next-saved-event* object))
(defclass search-next-event (program-event) ())
(defmethod process-event ((object search-next-event))
(push-event *search-next-saved-event*))
(defclass search-regex-message-content-event (search-event) ())
(defmethod process-event ((object search-regex-message-content-event))
(let ((regexp (payload object)))
@ -406,13 +418,7 @@
(error ()
(ui:error-message (_ "Invalid regular expression")))))))
(defclass thread-goto-message (program-event) ())
(defmethod process-event ((object thread-goto-message))
(let ((message-index (payload object)))
(thread-window:goto-message specials:*thread-window* message-index)))
(defclass thread-search-event (program-event)
(defclass thread-search-event (search-event)
((search-direction
:initform nil
:initarg :search-direction
@ -436,6 +442,12 @@
(thread-window:search-next-message-meta specials:*thread-window* text-looking-for)
(thread-window:search-previous-message-meta specials:*thread-window* text-looking-for))))
(defclass thread-goto-message (program-event) ())
(defmethod process-event ((object thread-goto-message))
(let ((message-index (payload object)))
(thread-window:goto-message specials:*thread-window* message-index)))
(defclass delete-all-status-event (program-event) ())
(defmethod process-event ((object delete-all-status-event))

View File

@ -280,6 +280,10 @@ Metadata includes:
"Jump to next unread message"
(thread-window:search-next-unread *thread-window*))
(defun repeat-search ()
"Repeat the last search performed"
(push-event (make-instance 'search-next-event)))
(defun thread-open-selected-message ()
"Open selected message"
(setf (windows:keybindings specials:*message-window*)