Refactor of org-ql-view--complete-buffers-files

Handles the different values `org-ql-view-buffers-files` can hold.
Use completing-read only if `org-ql-view-buffers-files` is nil or the
contracted form of `org-ql-view-buffers-files` is a string.
This commit is contained in:
Ahmed Shariff 2021-07-03 02:17:33 -05:00
parent 7b990e5275
commit 7120b6334d

View file

@ -1051,21 +1051,23 @@ current buffer. Otherwise BUFFERS-FILES is returned unchanged."
(_ buffers-files)))) (_ buffers-files))))
(defun org-ql-view--complete-buffers-files () (defun org-ql-view--complete-buffers-files ()
"Return value for `org-ql-view-buffers-files' using completion." "Return value for `org-ql-view-buffers-files' using completion.
(cl-labels ((initial-input When `org-ql-view-buffers-files' cannot be contracted to a string
() (when org-ql-view-buffers-files representation `org-ql-view-buffers-files' is returned."
(cons (car (org-ql-view--contract-buffers-files (if (and org-ql-view-buffers-files
org-ql-view-buffers-files)) (bufferp org-ql-view-buffers-files))
0)))) ;; Buffers can't be input by name, so if the default value is a buffer, just use it.
(if (and org-ql-view-buffers-files ;; TODO: Find a way to fix this.
(bufferp org-ql-view-buffers-files)) org-ql-view-buffers-files
;; Buffers can't be input by name, so if the default value is a buffer, just use it. (let ((initial-input (when org-ql-view-buffers-files
;; TODO: Find a way to fix this. (org-ql-view--contract-buffers-files
org-ql-view-buffers-files org-ql-view-buffers-files))))
(org-ql-view--expand-buffers-files (if (or (not initial-input) (stringp initial-input))
(completing-read "Buffers/Files: " (org-ql-view--expand-buffers-files
(list 'buffer 'org-agenda-files 'org-directory 'all) (completing-read "Buffers/Files: "
nil nil (initial-input)))))) (list 'buffer 'org-agenda-files 'org-directory 'all)
nil nil initial-input))
org-ql-view-buffers-files))))
(defun org-ql-view--expand-buffers-files (buffers-files) (defun org-ql-view--expand-buffers-files (buffers-files)
"Return BUFFERS-FILES expanded to a list of files or buffers. "Return BUFFERS-FILES expanded to a list of files or buffers.