emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ELPA] New package: company-eudc


From: Alexander Adolf
Subject: [ELPA] New package: company-eudc
Date: Fri, 30 Apr 2021 16:19:20 +0200

Dear Emacs Developers,

I would kindly like to propose my new package company-eudc.el for
inclusion into ELPA. Here is an excerpt from the package's home page at
https://github.com/condition-alpha/company-eudc :

----------------------------------------------------------------------
What This Package Does

company-mode in conjunction with yasnippet makes composing emails a
breeze. Where things fall short, is the completion of email addresses,
however. Some Emacs MUA packages feed the addresses of emails in your
archive into the completion system. But what about those in your
contacts app, or those on the LDAP directory of your organisation?

The Emacs Unified Directory Client (EUDC), which is part of core Emacs,
can make information from your contacts app, or from LDAP servers
available. But there is no way of getting these to be presented as
completion candidates in company-mode.

company-eudc closes this gap by implementing a comapny back-end, that
retrieves names and email addresses from EUDC.


Limited Completion Scope

company-eudc will only provide completion candidates if, and only if,
all of the following apply:

1. the major mode of the current buffer is message-mode, or a derived
   mode (e.g. notmuch-message-mode);

2. the cursor is on the line of a message header field that requires one
   or more email addresses (From, To, Cc, Bcc, or Reply-to).

This prevents most likely useless completion proposals with email
addresses when typing names in the body of an email message ("Dear John,
..."), or in non email related modes.


Query Semantics

To assemble the query string, company-eudc collects all text preceding
the cursor, which is not part of the header field label, or another
email address. This means that you can e.g. type "John Smith", invoke
company-eudc-expand-inline, and "John Smith" will be passed to EUDC as
the query string. How EUDC handles multi-word queries is controlled by
the EUDC variable eudc-inline-query-format (which see).
----------------------------------------------------------------------

I have created an account on savannah.gnu.org yesterday (and am of
course not member of any projects there yet). I am subscribed to both,
emacs-devel@gnu.org, and bug-gnu-emacs@gnu.org. I have also signed a
copyright assignment form for everything Emacs (rt.gnu.org #1503473).


Many thanks and looking forward to your thoughts,

  --alexander



reply via email to

[Prev in Thread] Current Thread [Next in Thread]