[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org-real b9a7e8a 053/160: Removed existing containers f
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org-real b9a7e8a 053/160: Removed existing containers from completion candidates |
Date: |
Wed, 6 Oct 2021 16:58:13 -0400 (EDT) |
branch: externals/org-real
commit b9a7e8a305a850aa484c07f48e90804ea411fddc
Author: Tyler Grinn <tylergrinn@gmail.com>
Commit: Tyler Grinn <tylergrinn@gmail.com>
Removed existing containers from completion candidates
---
org-real.el | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/org-real.el b/org-real.el
index c955618..0fd60ad 100644
--- a/org-real.el
+++ b/org-real.el
@@ -182,7 +182,7 @@ describing where BOX is."
(let* ((container-matrix (org-real--parse-buffer))
(containers (if existing
(org-real--parse-url existing)
- (org-real--complete-thing "Thing: " container-matrix))))
+ (org-real--complete-thing "Thing: " container-matrix
'()))))
(catch 'confirm
(while t
(org-real--pp (org-real--make-instance 'org-real-box containers)
containers)
@@ -193,27 +193,35 @@ describing where BOX is."
((eq response 'backspace)
(pop containers)
(if (= 0 (length containers))
- (setq containers (org-real--complete-thing "Thing: "
container-matrix))))
+ (setq containers (org-real--complete-thing "Thing: "
container-matrix containers))))
((eq response ?+)
(let* ((top (plist-get (car containers) :name))
(preposition
(completing-read (concat "The " top " is: ")
org-real-prepositions nil t))
(additional-containers
- (org-real--complete-thing (concat "The " top " is "
preposition " the: ") container-matrix)))
+ (org-real--complete-thing (concat "The " top " is "
preposition " the: ")
+ container-matrix
+ containers)))
(setcar containers (plist-put (car containers) :rel preposition))
(setq containers (append additional-containers containers))))))))
(org-real--to-link containers)))
-(defun org-real--complete-thing (prompt container-matrix)
+(defun org-real--complete-thing (prompt container-matrix existing)
"Use `completing-read' with PROMPT to get a list of containers.
CONTAINER-MATRIX is used to generate possible completions. The
return value is the longest list of containers from the matrix
that contains, as the last element, a container with a name
-matching the one returned from `completing-read'."
- (let* ((completions (mapcar
- (lambda (container) (plist-get container :name))
- (apply 'append container-matrix)))
+matching the one returned from `completing-read'.
+
+EXISTING containers will be excluded from the completion."
+ (let* ((existing-names (mapcar (lambda (container) (plist-get container
:name)) existing))
+ (completions (seq-filter
+ (lambda (name) (not (member name existing-names)))
+ (cl-delete-duplicates
+ (mapcar
+ (lambda (container) (plist-get container :name))
+ (apply 'append container-matrix)))))
(result (completing-read prompt completions nil 'confirm))
(existing-containers (car (seq-sort
(lambda (a b) (> (length a) (length b)))
- [elpa] externals/org-real 356767c 034/160: Added org-real-pkg for multifile package, (continued)
- [elpa] externals/org-real 356767c 034/160: Added org-real-pkg for multifile package, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real dd03f41 025/160: Initial release, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real 0b764c7 022/160: get-width compares children with margins included, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real a5df40f 026/160: Bump version, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real ac799d3 040/160: Merge into single file, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real 7d9d67d 044/160: Rearranging, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real 2ebeb5c 046/160: Updated readme, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real 8445765 047/160: Added customization group, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real cb64694 051/160: Added children when following a link, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real 01899e9 052/160: More edge cases, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real b9a7e8a 053/160: Removed existing containers from completion candidates,
ELPA Syncer <=
- [elpa] externals/org-real 8b6a4e1 054/160: Added org-real-flex-width custom variable, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real 91b96a1 057/160: Renamed org-real-include-children to org-real-include-context, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real 35aa1c1 062/160: Updated readme, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real 43f349e 067/160: Typos, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real baf5c9b 072/160: Updated documentation, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real bc2c7ea 068/160: Using infinity, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real c37d17c 073/160: Bump version, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real e0109e8 079/160: Typo, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real 106063e 077/160: Complete redesign, ELPA Syncer, 2021/10/06
- [elpa] externals/org-real 573df43 087/160: Removed reference to org-collect-keywords, ELPA Syncer, 2021/10/06