Add function denote-retrieve-keywords-value-as-string

This commit is contained in:
Protesilaos Stavrou 2023-10-16 08:24:58 +03:00
parent ef43b21e46
commit b17980a1af
No known key found for this signature in database
GPG key ID: 99BD6459CD5CA3EA
2 changed files with 24 additions and 2 deletions

View file

@ -3784,7 +3784,18 @@ might change them without further notice.
#+findex: denote-retrieve-keywords-value
+ Function ~denote-retrieve-keywords-value~ :: Return keywords value
from =FILE= front matter per =FILE-TYPE=.
from =FILE= front matter per =FILE-TYPE=. The return value is a list
of strings. To get a combined string the way it would appear in a
Denote file name, use ~denote-retrieve-keywords-value-as-string~ [
That function is part of {{{development-version}}}. ].
#+findex: denote-retrieve-keywords-value-as-string
+ Function ~denote-retrieve-keywords-value-as-string~ :: Return
keywords value from =FILE= front matter per =FILE-TYPE=. The return
value is a string, with the underscrore as a separator between
individual keywords. To get a list of strings instead, use
~denote-retrieve-keywords-value~ (the current function uses that
internally). [ Part of {{{development-version}}}. ]
#+findex: denote-retrieve-keywords-line
+ Function ~denote-retrieve-keywords-line~ :: Return keywords line

View file

@ -1412,12 +1412,23 @@ Subroutine of `denote--file-with-temp-buffer'."
(buffer-substring-no-properties (line-beginning-position) (line-end-position)))))
(defun denote-retrieve-keywords-value (file file-type)
"Return keywords value from FILE front matter per FILE-TYPE."
"Return keywords value from FILE front matter per FILE-TYPE.
The return value is a list of strings. To get a combined string
the way it would appear in a Denote file name, use
`denote-retrieve-keywords-value-as-string'."
(denote--file-with-temp-buffer file
(when (re-search-forward (denote--keywords-key-regexp file-type) nil t 1)
(funcall (denote--keywords-value-reverse-function file-type)
(buffer-substring-no-properties (point) (line-end-position))))))
(defun denote-retrieve-keywords-value-as-string (file file-type)
"Return keywords value from FILE front matter per FILE-TYPE.
The return value is a string, with the underscrore as a separator
between individual keywords. To get a list of strings instead,
use `denote-retrieve-keywords-value' (the current function uses
that internally)."
(denote--keywords-combine (denote-retrieve-keywords-value file file-type)))
(defun denote-retrieve-keywords-line (file file-type)
"Return keywords line from FILE front matter per FILE-TYPE."
(denote--file-with-temp-buffer file