Function: denote--act-on-query-link

denote--act-on-query-link is a byte-compiled function defined in denote.el.

Signature

(denote--act-on-query-link QUERY)

Documentation

Act on QUERY link.

QUERY is a string of the form TYPE:SEARCH, where TYPE is one among denote-query-link-types while SEARCH is the regular expression to search for.

Source Code

;; Defined in ~/.emacs.d/elpa/denote-4.2.3/denote.el
(defun denote--act-on-query-link (query)
  "Act on QUERY link.
QUERY is a string of the form TYPE:SEARCH, where TYPE is one among
`denote-query-link-types' while SEARCH is the regular expression to
search for."
  (cond
   ((string-prefix-p "query-contents:" query)
    (setq query (replace-regexp-in-string "query-contents:" "" query))
    (funcall denote-query-links-buffer-function query nil nil denote-query-links-display-buffer-action))
   ((string-prefix-p "query-filenames:" query)
    (setq query (replace-regexp-in-string "query-filenames:" "" query))
    ;; NOTE 2025-03-27: I do not think we need to add another
    ;; parameter to `denote-sort-dired' for handling the
    ;; `display-buffer'.  This is a special case, but we can always
    ;; change it later if the need arises.
    ;;
    ;; Here we handle the buffer and window state to make it behave
    ;; like the Xref buffer.  Otherwise, Dired does not reuse its
    ;; buffer (which is generally okay).
    (let ((buffer (save-window-excursion
                    (denote-sort-dired query nil nil nil)
                    (current-buffer))))
      (when (bufferp denote--query-last-dired-buffer)
        (when-let* ((window (get-buffer-window denote--query-last-dired-buffer))
                    (_ (window-live-p window)))
          (delete-window window))
        (kill-buffer denote--query-last-dired-buffer))
      (display-buffer buffer denote-query-links-display-buffer-action)
      (setq denote--query-last-dired-buffer buffer)))
   (t
    (error "Cannot open `%s' of unknown link type" query))))