Fn always promts for buffer/files; handle buffer obj and list
Fn: org-ql-view--complete-buffers-files With buffers, org-ql-view--contract-buffers-files return the buffer name. When org-ql-view-buffers-files is a list, just dumpt it as a string and check if completion-read returns the same value, if so return the original value of org-ql-view-buffers-files
This commit is contained in:
parent
cc6e22dd30
commit
06bdfc7a9e
1 changed files with 17 additions and 14 deletions
|
|
@ -1048,26 +1048,29 @@ current buffer. Otherwise BUFFERS-FILES is returned unchanged."
|
||||||
"org-agenda-files")
|
"org-agenda-files")
|
||||||
((and (pred bufferp) (guard (buffer-file-name buffers-files)))
|
((and (pred bufferp) (guard (buffer-file-name buffers-files)))
|
||||||
(buffer-file-name buffers-files))
|
(buffer-file-name buffers-files))
|
||||||
|
((pred bufferp)
|
||||||
|
(buffer-name buffers-files))
|
||||||
(_ 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.
|
||||||
When `org-ql-view-buffers-files' cannot be contracted to a string
|
When `org-ql-view-buffers-files' cannot be contracted to a string
|
||||||
representation `org-ql-view-buffers-files' is returned."
|
representation `org-ql-view-buffers-files' is returned."
|
||||||
(if (and org-ql-view-buffers-files
|
(let* ((contracted-org-ql-view-buffers-files
|
||||||
(bufferp org-ql-view-buffers-files))
|
(when org-ql-view-buffers-files
|
||||||
;; Buffers can't be input by name, so if the default value is a buffer, just use it.
|
(org-ql-view--contract-buffers-files
|
||||||
;; TODO: Find a way to fix this.
|
org-ql-view-buffers-files)))
|
||||||
org-ql-view-buffers-files
|
(initial-input (if (or (not contracted-org-ql-view-buffers-files) ;; not nil
|
||||||
(let ((initial-input (when org-ql-view-buffers-files
|
(stringp contracted-org-ql-view-buffers-files))
|
||||||
(org-ql-view--contract-buffers-files
|
contracted-org-ql-view-buffers-files
|
||||||
org-ql-view-buffers-files))))
|
(format "%s" contracted-org-ql-view-buffers-files)))
|
||||||
(if (or (not initial-input) (stringp initial-input))
|
(completion-read-result (completing-read
|
||||||
(org-ql-view--expand-buffers-files
|
"Buffers/Files: "
|
||||||
(completing-read "Buffers/Files: "
|
(list 'buffer 'org-agenda-files 'org-directory 'all)
|
||||||
(list 'buffer 'org-agenda-files 'org-directory 'all)
|
nil nil initial-input)))
|
||||||
nil nil initial-input))
|
(if (equalp completion-read-result initial-input)
|
||||||
org-ql-view-buffers-files))))
|
org-ql-view-buffers-files
|
||||||
|
(org-ql-view--expand-buffers-files completion-read-result))))
|
||||||
|
|
||||||
(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.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue