mirror of https://codeberg.org/cage/tinmop/
- added command to repeat the last text search.
This commit is contained in:
parent
94a8e29f84
commit
77b7188581
|
@ -209,6 +209,8 @@
|
||||||
|
|
||||||
(define-key "\\\\ m" #'thread-search-previous-message-meta *thread-keymap*)
|
(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 "n" #'thread-search-next-unread-message *thread-keymap*)
|
||||||
|
|
||||||
(define-key "home" #'thread-goto-first-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 "/" #'message-search-regex *message-keymap*)
|
||||||
|
|
||||||
|
(define-key "N" #'repeat-search *message-keymap*)
|
||||||
|
|
||||||
(define-key "npage" #'message-scroll-next-page *message-keymap*)
|
(define-key "npage" #'message-scroll-next-page *message-keymap*)
|
||||||
|
|
||||||
(define-key "ppage" #'message-scroll-previous-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 "/" #'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 "npage" #'message-scroll-next-page *gemini-message-keymap*)
|
||||||
|
|
||||||
(define-key "ppage" #'message-scroll-previous-page *gemini-message-keymap*)
|
(define-key "ppage" #'message-scroll-previous-page *gemini-message-keymap*)
|
||||||
|
|
|
@ -1262,11 +1262,12 @@
|
||||||
:min-id
|
:min-id
|
||||||
:fetch-remote-status-event
|
:fetch-remote-status-event
|
||||||
:process-event
|
:process-event
|
||||||
|
:search-next-event
|
||||||
:search-regex-message-content-event
|
:search-regex-message-content-event
|
||||||
:thread-goto-message
|
|
||||||
:thread-search-message-body-event
|
:thread-search-message-body-event
|
||||||
:search-direction
|
:search-direction
|
||||||
:thread-search-message-meta-event
|
:thread-search-message-meta-event
|
||||||
|
:thread-goto-message
|
||||||
:delete-all-status-event
|
:delete-all-status-event
|
||||||
:quit-program-event
|
:quit-program-event
|
||||||
:error-message-event
|
:error-message-event
|
||||||
|
@ -2208,6 +2209,7 @@
|
||||||
:thread-search-previous-message-body
|
:thread-search-previous-message-body
|
||||||
:thread-search-next-message-meta
|
:thread-search-next-message-meta
|
||||||
:thread-search-previous-message-meta
|
:thread-search-previous-message-meta
|
||||||
|
:repeat-search
|
||||||
:thread-search-next-unread-message
|
:thread-search-next-unread-message
|
||||||
:thread-open-selected-message
|
:thread-open-selected-message
|
||||||
:thread-mark-delete-selected-message
|
:thread-mark-delete-selected-message
|
||||||
|
|
|
@ -395,7 +395,19 @@
|
||||||
(dbg "fetch single status ~a" dump))
|
(dbg "fetch single status ~a" dump))
|
||||||
(db:update-db status)))
|
(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))
|
(defmethod process-event ((object search-regex-message-content-event))
|
||||||
(let ((regexp (payload object)))
|
(let ((regexp (payload object)))
|
||||||
|
@ -406,13 +418,7 @@
|
||||||
(error ()
|
(error ()
|
||||||
(ui:error-message (_ "Invalid regular expression")))))))
|
(ui:error-message (_ "Invalid regular expression")))))))
|
||||||
|
|
||||||
(defclass thread-goto-message (program-event) ())
|
(defclass thread-search-event (search-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)
|
|
||||||
((search-direction
|
((search-direction
|
||||||
:initform nil
|
:initform nil
|
||||||
:initarg :search-direction
|
:initarg :search-direction
|
||||||
|
@ -436,6 +442,12 @@
|
||||||
(thread-window:search-next-message-meta specials:*thread-window* text-looking-for)
|
(thread-window:search-next-message-meta specials:*thread-window* text-looking-for)
|
||||||
(thread-window:search-previous-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) ())
|
(defclass delete-all-status-event (program-event) ())
|
||||||
|
|
||||||
(defmethod process-event ((object delete-all-status-event))
|
(defmethod process-event ((object delete-all-status-event))
|
||||||
|
|
|
@ -280,6 +280,10 @@ Metadata includes:
|
||||||
"Jump to next unread message"
|
"Jump to next unread message"
|
||||||
(thread-window:search-next-unread *thread-window*))
|
(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 ()
|
(defun thread-open-selected-message ()
|
||||||
"Open selected message"
|
"Open selected message"
|
||||||
(setf (windows:keybindings specials:*message-window*)
|
(setf (windows:keybindings specials:*message-window*)
|
||||||
|
|
Loading…
Reference in New Issue