[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org-real 4d6fbc4364 053/188: Removed existing container
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org-real 4d6fbc4364 053/188: Removed existing containers from completion candidates |
Date: |
Sun, 5 May 2024 22:55:52 -0400 (EDT) |
branch: externals/org-real
commit 4d6fbc4364ee603c6e137aef3ac37247ae479517
Author: Amy Grinn <grinn.amy@gmail.com>
Commit: Amy Grinn <grinn.amy@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 c95561885a..0fd60ad22f 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 8c032c1b9f 141/188: Updated readme, (continued)
- [elpa] externals/org-real 8c032c1b9f 141/188: Updated readme, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real db9f38f413 142/188: Draw selected box last, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real 760925984e 156/188: Changed cl-defmethod to defun; linting, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real 668a60cb43 139/188: Merge display-rel-box, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real e7c6fb4c14 148/188: Add submodules during ci/cd pipeline, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real f93714689a 149/188: Regression: primary boxes should be highlighted, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real 0eb43ca002 115/188: Redesigned tooltips, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real 89a03be54a 119/188: Use original relationship for tooltip if changed, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real a325418d4a 122/188: Merge branch 'next' into 'main', ELPA Syncer, 2024/05/05
- [elpa] externals/org-real b9af670298 129/188: Added is-plural, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real 4d6fbc4364 053/188: Removed existing containers from completion candidates,
ELPA Syncer <=
- [elpa] externals/org-real 0dfa33276e 052/188: More edge cases, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real f2837a4836 054/188: Added org-real-flex-width custom variable, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real f35ba82a6a 137/188: Merge branch 'next' into 'main', ELPA Syncer, 2024/05/05
- [elpa] externals/org-real 2ef7476cc7 145/188: Bump version, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real d7ab6cc78f 151/188: Removed `org-real-headlines`, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real a0250ce600 153/188: Linting, rearranging, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real 7e6871d940 164/188: Add ol to autoloads, added autoload plugin to eldev, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real c3c532f9ba 169/188: Added more autoloads, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real d9ec07c0e3 182/188: Updated version, ELPA Syncer, 2024/05/05
- [elpa] externals/org-real 2883415acc 185/188: Updated documentation, ELPA Syncer, 2024/05/05