emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/denote d98d05981b 2/3: Add function denote-retrieve-fil


From: ELPA Syncer
Subject: [elpa] externals/denote d98d05981b 2/3: Add function denote-retrieve-filename-keywords
Date: Wed, 29 Nov 2023 09:57:41 -0500 (EST)

branch: externals/denote
commit d98d05981ba8079a48445537001111d03ea6be4b
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>

    Add function denote-retrieve-filename-keywords
    
    This is used to extract keywords from the file name alone, without
    going into the file contents.
---
 README.org | 6 ++++++
 denote.el  | 8 ++++++++
 2 files changed, 14 insertions(+)

diff --git a/README.org b/README.org
index 2205586215..1579986294 100644
--- a/README.org
+++ b/README.org
@@ -3837,6 +3837,12 @@ might change them without further notice.
   =FILE= name, else return ~file-name-base~.  Run ~denote-desluggify~
   on the title if the extraction is successful.
 
+#+findex: denote-retrieve-filename-keywords
++ Function ~denote-retrieve-filename-keywords~ ::  Extract keywords
+  from =FILE= name, if present, else return an empty string. Return
+  matched keywords as a single string. [ Part of
+  {{{development-version}}} . ]
+
 #+findex: denote-retrieve-filename-signature
 + Function ~denote-retrieve-filename-signature~ :: Extract signature
   from =FILE= name, if present, else return nil.
diff --git a/denote.el b/denote.el
index 4a4e2c5038..d2b28bee7d 100644
--- a/denote.el
+++ b/denote.el
@@ -1375,6 +1375,14 @@ To only return an existing identifier, refer to the 
function
   'denote-retrieve-filename-identifier
   "2.1.0")
 
+(defun denote-retrieve-filename-keywords (file)
+  "Extract keywords from FILE name, if present, else return an empty string.
+Return matched keywords as a single string."
+  (let ((filename (file-name-nondirectory file)))
+    (if (string-match denote-keywords-regexp filename)
+        (match-string 1 filename)
+      "")))
+
 (defun denote-retrieve-filename-signature (file)
   "Extract signature from FILE name, if present, else return an empty string."
   (let ((filename (file-name-nondirectory file)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]