Function: org-roam-unlinked-references--rg-command

org-roam-unlinked-references--rg-command is a byte-compiled function defined in org-roam-mode.el.

Signature

(org-roam-unlinked-references--rg-command TITLES TEMP-FILE)

Documentation

Return the ripgrep command searching for TITLES using TEMP-FILE for pattern.

This avoids shell escaping issues by writing the pattern to a file instead of passing it directly through the shell command line.

Source Code

;; Defined in ~/.emacs.d/elpa/org-roam-20260224.1637/org-roam-mode.el
(defun org-roam-unlinked-references--rg-command (titles temp-file)
  "Return the ripgrep command searching for TITLES using TEMP-FILE for pattern.
This avoids shell escaping issues by writing the pattern to a file instead
of passing it directly through the shell command line."
  ;; Write pattern to temp file to avoid shell escaping issues with quotes,
  ;; spaces, and other special characters in titles
  (with-temp-file temp-file
    (insert "\\[([^[]]++|(?R))*\\]"
            (mapconcat (lambda (title)
                         ;; Use regexp-quote instead of shell-quote-argument
                         ;; since we're writing a regex pattern, not a shell argument
                         (format "|(\\b%s\\b)" (regexp-quote title)))
                       titles "")))

  (concat "rg --follow --only-matching --vimgrep --pcre2 --ignore-case "
          (mapconcat (lambda (glob) (concat "--glob " glob))
                     (org-roam--list-files-search-globs org-roam-file-extensions)
                     " ")
          " --file " (shell-quote-argument temp-file) " "
          (shell-quote-argument (expand-file-name org-roam-directory))))