[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ebdb 44cce48 8/9: Absorb helm-ebdb package, rename to e
From: |
Eric Abrahamsen |
Subject: |
[elpa] externals/ebdb 44cce48 8/9: Absorb helm-ebdb package, rename to ebdb-helm |
Date: |
Sun, 18 Feb 2018 22:56:26 -0500 (EST) |
branch: externals/ebdb
commit 44cce4888dfbaf59f2c88f3181e0f7c2168fa30e
Author: Eric Abrahamsen <address@hidden>
Commit: Eric Abrahamsen <address@hidden>
Absorb helm-ebdb package, rename to ebdb-helm
* ebdb-helm.el: Don't requre helm, only declare-function.
---
ebdb-helm.el | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)
diff --git a/ebdb-helm.el b/ebdb-helm.el
new file mode 100644
index 0000000..9e6ebaf
--- /dev/null
+++ b/ebdb-helm.el
@@ -0,0 +1,79 @@
+;;; ebdb-helm.el --- Helm integration for EBDB -*- lexical-binding: t;
-*-
+
+;; Copyright (C) 2018 Free Software Foundation, Inc.
+
+;; Author: Eric Abrahamsen <address@hidden>
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Helm integration for EBDB. Provides the command `helm-ebdb'.
+
+;;; Code:
+
+(require 'ebdb-com)
+
+(declare-function helm-other-buffer "ext:helm"
+ (any-sources any-buffer))
+
+(declare-function helm-marked-candidates "ext:helm"
+ (&key with-wildcard all-sources))
+
+(defun ebdb-helm-candidates ()
+ "Return a list of all records in the database."
+ (mapcar (lambda (rec)
+ (let* ((rec-string (ebdb-string rec))
+ (mails (ebdb-record-mail-canon rec))
+ (mail-list (when mails
+ (mapconcat #'identity
+ mails
+ " "))))
+ (cons (if mail-list
+ (concat rec-string
+ " => "
+ mail-list)
+ rec-string)
+ rec)))
+ (ebdb-records)))
+
+(defun ebdb-helm-display-records (_candidate)
+ "Display marked candidate(s)."
+ (ebdb-display-records
+ (helm-marked-candidates) nil nil t nil
+ (format "*%s*" ebdb-buffer-name)))
+
+(defun ebdb-helm-compose-mail (_candidate)
+ "Compose mail to marked candidate(s)."
+ (ebdb-mail (helm-marked-candidates) nil current-prefix-arg))
+
+(defun ebdb-helm-cite-records (_candidate)
+ "Insert mode-appropriate \"Name <email>\" string candidate(s)."
+ (ebdb-cite-records (helm-marked-candidates) current-prefix-arg))
+
+(defvar helm-source-ebdb
+ '((name . "EBDB")
+ (candidates . ebdb-helm-candidates)
+ (action . (("Display" . ebdb-helm-display-records)
+ ("Send mail" . ebdb-helm-compose-mail)
+ ("Insert name and address" . ebdb-helm-cite-records)))))
+
+;;;###autoload
+(defun ebdb-helm ()
+ "Preconfigured `helm' for EBDB."
+ (interactive)
+ (helm-other-buffer 'helm-source-ebdb "*helm ebdb*"))
+
+(provide 'helm-ebdb)
+;;; helm-ebdb.el ends here
- [elpa] externals/ebdb updated (5735686 -> 2c71ef9), Eric Abrahamsen, 2018/02/18
- [elpa] externals/ebdb c07f50b 2/9: Get rid of ebdb-version, Eric Abrahamsen, 2018/02/18
- [elpa] externals/ebdb 6395a75 1/9: Manipulation of ebdb-db-list *still* in the wrong place, Eric Abrahamsen, 2018/02/18
- [elpa] externals/ebdb 4796722 3/9: Fix mail sorting, Eric Abrahamsen, 2018/02/18
- [elpa] externals/ebdb 7f51a4e 5/9: Make explicit "full" formatter, Eric Abrahamsen, 2018/02/18
- [elpa] externals/ebdb 2c71ef9 9/9: Bump EBDB version to 0.4.3, Eric Abrahamsen, 2018/02/18
- [elpa] externals/ebdb 2a25117 6/9: New option ebdb-print-object-name, Eric Abrahamsen, 2018/02/18
- [elpa] externals/ebdb 9102219 7/9: Re-work ebdb-records-cite, Eric Abrahamsen, 2018/02/18
- [elpa] externals/ebdb 44cce48 8/9: Absorb helm-ebdb package, rename to ebdb-helm,
Eric Abrahamsen <=
- [elpa] externals/ebdb 639694c 4/9: Docstring changes, Eric Abrahamsen, 2018/02/18