Skip to content

Commit 0f1786b

Browse files
author
heraplem
authored
fix: recursive directories
1 parent fb9a833 commit 0f1786b

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

citar-file.el

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,16 @@ whether entries have associated files."
178178
(when citar-file-variable
179179
(lambda (citekey) (and (citar-get-value citar-file-variable citekey) t))))
180180

181-
(defun citar--library-dirs ()
181+
(defun citar-file--library-dirs ()
182182
"Return all directories to be searched for library files."
183-
(mapcar (lambda (dir)
184-
(cons dir (when citar-library-paths-recursive
185-
(directory-files-recursively dir "" :include-directories
186-
#'file-directory-p))))
187-
citar-library-paths))
183+
(apply #'append
184+
(mapcar (lambda (dir)
185+
(cons dir
186+
(when citar-library-paths-recursive
187+
(seq-filter #'file-directory-p
188+
(directory-files-recursively dir ""
189+
:include-directories)))))
190+
citar-library-paths)))
188191

189192
(defun citar-file--get-from-file-field (&optional keys)
190193
"Return files for KEYS by parsing the `citar-file-variable' field.
@@ -200,7 +203,7 @@ files associated with KEYS."
200203
(when-let ((filefield citar-file-variable))
201204
(citar--check-configuration 'citar-library-paths 'citar-library-file-extensions
202205
'citar-file-parser-functions)
203-
(let ((dirs (append (citar--library-dirs)
206+
(let ((dirs (append (citar-file--library-dirs)
204207
(mapcar #'file-name-directory (citar--bibliography-files)))))
205208
(citar--get-resources-using-function
206209
(lambda (citekey entry)
@@ -221,7 +224,7 @@ files associated with KEYS."
221224
"Return list of files for KEYS in ENTRIES."
222225
(citar--check-configuration 'citar-library-paths 'citar-library-file-extensions)
223226
(citar-file--directory-files
224-
citar-library-paths keys citar-library-file-extensions
227+
(citar-file--library-dirs) keys citar-library-file-extensions
225228
citar-file-additional-files-separator))
226229

227230
(defun citar-file--make-filename-regexp (keys extensions &optional additional-sep)

citar.el

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1352,9 +1352,10 @@ it.
13521352
13531353
SOURCE-PLIST must be as specified in the documentation of
13541354
`citar-add-file-sources'."
1355-
(let* ((directory (if (cdr citar-library-paths)
1356-
(completing-read "Directory: " citar-library-paths)
1357-
(car citar-library-paths)))
1355+
(let* ((dirs (citar-file--library-dirs))
1356+
(directory (if (cdr dirs)
1357+
(completing-read "Directory: " dirs)
1358+
(car dirs)))
13581359
(extension (or (plist-get source-plist :extension)
13591360
(read-string "File extension: ")))
13601361
(destfile (expand-file-name citekey directory))

0 commit comments

Comments
 (0)