From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alexander Adolf Newsgroups: gmane.emacs.devel Subject: [ELPA] New package: company-eudc Date: Fri, 30 Apr 2021 16:19:20 +0200 Message-ID: <2aaed91801ff892a269a315c50064d99@condition-alpha.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25178"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Apr 30 16:22:38 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lcU2O-0006NP-8p for ged-emacs-devel@m.gmane-mx.org; Fri, 30 Apr 2021 16:22:36 +0200 Original-Received: from localhost ([::1]:53156 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lcU2N-0002ED-A8 for ged-emacs-devel@m.gmane-mx.org; Fri, 30 Apr 2021 10:22:35 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56028) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lcTzN-0000o7-7P for emacs-devel@gnu.org; Fri, 30 Apr 2021 10:19:30 -0400 Original-Received: from smtprelay04.ispgateway.de ([80.67.18.16]:45603) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lcTzJ-0000GV-63 for emacs-devel@gnu.org; Fri, 30 Apr 2021 10:19:28 -0400 Original-Received: from [46.244.211.14] (helo=condition-alpha.com) by smtprelay04.ispgateway.de with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92.3) (envelope-from ) id 1lcTyt-0007bD-NT for emacs-devel@gnu.org; Fri, 30 Apr 2021 16:18:59 +0200 X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= Received-SPF: pass client-ip=80.67.18.16; envelope-from=alexander.adolf@condition-alpha.com; helo=smtprelay04.ispgateway.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_FILL_THIS_FORM_SHORT=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:268664 Archived-At: 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