[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org-contacts 80ab4708b7 114/154: Change how completion
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org-contacts 80ab4708b7 114/154: Change how completion is done |
Date: |
Fri, 9 Sep 2022 15:58:53 -0400 (EDT) |
branch: externals/org-contacts
commit 80ab4708b76675b8383107079b0d4b2b26725eee
Author: Morgan Smith <Morgan.J.Smith@outlook.com>
Commit: stardiviner <numbchild@gmail.com>
Change how completion is done
---
org-contacts.el | 51 +++++++++++++++++++++++----------------------------
1 file changed, 23 insertions(+), 28 deletions(-)
diff --git a/org-contacts.el b/org-contacts.el
index 7be845af24..38f284a0b9 100644
--- a/org-contacts.el
+++ b/org-contacts.el
@@ -502,7 +502,7 @@ prefixes rather than just the beginning of the string."
((cycle-sort-function . org-contacts-display-sort-function)
(display-sort-function . org-contacts-display-sort-function))))
-(defun org-contacts-complete-group (start end string)
+(defun org-contacts-complete-group (string)
"Complete text at START from a group.
A group FOO is composed of contacts with the tag FOO."
@@ -520,12 +520,11 @@ A group FOO is composed of contacts with the tag FOO."
(cl-loop for contact in (org-contacts-filter)
nconc (org-split-string
(or (cdr (assoc-string "ALLTAGS" (caddr
contact))) "") ":")))))))
- (list start end
+
(if (= (length completion-list) 1)
;; We've found the correct group, returns the address
(let ((tag (get-text-property 0 'org-contacts-group
(car completion-list))))
- (lambda (string pred &optional to-ignore)
(mapconcat 'identity
(cl-loop for contact in (org-contacts-filter
nil
@@ -542,12 +541,12 @@ A group FOO is composed of contacts with the tag FOO."
""))) ""))
;; If the user has an email address,
append USER <EMAIL>.
if email collect
(org-contacts-format-email contact-name email))
- ", ")))
+ ", "))
;; We haven't found the correct group
(completion-table-case-fold completion-list
- (not
org-contacts-completion-ignore-case))))))))
+ (not
org-contacts-completion-ignore-case)))))))
-(defun org-contacts-complete-tags-props (start end string)
+(defun org-contacts-complete-tags-props (string)
"Insert emails that match the tags expression.
For example: FOO-BAR will match entries tagged with FOO but not
@@ -581,11 +580,8 @@ description."
(eval (cdr (org-make-tags-matcher (cl-subseq
string 1)))))))
collect (org-contacts-format-email contact-name email))
",")))
- (when (not (string= "" result))
- ;; return (start end function)
- (let* ((to-return result))
- (list start end
- (lambda (string pred &optional to-ignore) to-return))))))))
+ (when (not (string= "" result))
+ result)))))
(defun org-contacts-remove-ignored-property-values (ignore-list list)
"Remove all ignore-list's elements from list and you can use
@@ -596,7 +592,7 @@ description."
ignore-list))
list))
-(defun org-contacts-complete-name (start end string)
+(defun org-contacts-complete-name (string)
"Complete text at START with a user name and email."
(let* ((completion-ignore-case org-contacts-completion-ignore-case)
(completion-list
@@ -625,27 +621,26 @@ description."
string
(org-uniquify completion-list))))
(when completion-list
- (list start end
- (org-contacts-make-collection-prefix completion-list)))))
+ (org-contacts-make-collection-prefix completion-list))))
-(defun org-contacts-message-complete-function (&optional start)
+(defun org-contacts-message-complete-function ()
"Function used in `completion-at-point-functions' in `message-mode'."
- ;; Avoid to complete in `post-command-hook'.
- (when completion-in-region-mode
- (remove-hook 'post-command-hook #'completion-in-region--postch))
(let ((mail-abbrev-mode-regexp
"^\\(Resent-To\\|To\\|B?Cc\\|Reply-To\\|From\\|Mail-Followup-To\\|Mail-Copies-To\\|Disposition-Notification-To\\|Return-Receipt-To\\):"))
(when (mail-abbrev-in-expansion-header-p)
- (let*
- ((end (point))
- (start (or start
- (save-excursion
- (re-search-backward "\\(\\`\\|[\n:,]\\)[ \t]*")
- (goto-char (match-end 0))
- (point))))
- (string (buffer-substring start end)))
- (run-hook-with-args-until-success
- 'org-contacts-complete-functions start end string)))))
+ (let
+ ((beg
+ (save-excursion
+ (re-search-backward "\\(\\`\\|[\n:,]\\)[ \t]*")
+ (goto-char (match-end 0))
+ (point)))
+ (end (point)))
+ (list beg
+ end
+ (completion-table-dynamic
+ (lambda (string)
+ (run-hook-with-args-until-success
+ 'org-contacts-complete-functions string))))))))
(defun org-contacts-gnus-get-name-email ()
"Get name and email address from Gnus message."
- [elpa] externals/org-contacts cf8ae48b37 142/154: Add if logic on function erc-nicknames-list, (continued)
- [elpa] externals/org-contacts cf8ae48b37 142/154: Add if logic on function erc-nicknames-list, ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts bd83216f38 079/154: contrib/lisp/org-contacts.el: Complete contacts using tags and properties, ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts 2e77024e89 017/154: Copyright year fixes for contrib/., ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts 4170ea25f3 090/154: Deprecate `org-find-if' in favor of `cl-find-if', ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts c1a17bf632 076/154: Merge branch 'maint', ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts 2de057e423 145/154: Make org-link-set-parameters <- org-add-link-type API compatible., ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts 21d4ae5367 141/154: Improve the alternative org-contacts headline goto., ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts c1c4cadf3f 151/154: Fix Warning: Unused lexical argument, ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts a50ced61ef 093/154: Update tel link definition, ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts f02da8b4de 088/154: org-contacts: Register "tel" link, ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts 80ab4708b7 114/154: Change how completion is done,
ELPA Syncer <=
- [elpa] externals/org-contacts 1b028de47c 124/154: Fix contacts complete not working problem, ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts b1032119a3 152/154: Fix package-lint warnings., ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts d1298f4599 083/154: org-contacts.el: Catch `nextfile' in `org-contacts-db', ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts 0a91557ef9 115/154: Tidy up whitespace, ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts 00560d5f4f 117/154: Try to support different type of AVATAR property., ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts 81d9ed977d 138/154: Ensure font-lock after org-mode in company-mode doc-buffer, ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts 8f008e1b70 131/154: Fix company-mode doc-buffer support with reverse query contact element in all contacts list., ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts c8408cf44e 118/154: replace gnus-rescale-image with create-image property :height, ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts 5d0ecac118 143/154: Update package description., ELPA Syncer, 2022/09/09
- [elpa] externals/org-contacts 8078958995 082/154: contrib: Fix error messages., ELPA Syncer, 2022/09/09