From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Mendler Newsgroups: gmane.emacs.devel Subject: Re: Simplification of `affixation-function` Date: Sun, 25 Apr 2021 20:08:37 +0200 Message-ID: <1e9bb418-9f1a-68ee-14de-e68f30f88b0a@daniel-mendler.de> References: <87y2d777r2.fsf@mail.linkov.net> <35e2e508-cd0a-b921-af96-9c12da92faf3@yandex.ru> <126afe1f-8ac5-69fc-f6af-a586bc354d03@daniel-mendler.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15887"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Dmitry Gutov , Stefan Monnier , Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Apr 25 20:11:24 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 1lajE4-000448-Kj for ged-emacs-devel@m.gmane-mx.org; Sun, 25 Apr 2021 20:11:24 +0200 Original-Received: from localhost ([::1]:58850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lajE3-0005sb-NZ for ged-emacs-devel@m.gmane-mx.org; Sun, 25 Apr 2021 14:11:23 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47186) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lajBT-0004XR-Jq for emacs-devel@gnu.org; Sun, 25 Apr 2021 14:08:43 -0400 Original-Received: from server.qxqx.de ([2a01:4f8:121:346::180]:60805 helo=mail.qxqx.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lajBR-0003F8-QG for emacs-devel@gnu.org; Sun, 25 Apr 2021 14:08:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=gQBJSTETtMt5nFZuUnED007Vxbo0+Ru4Pl8q6VGSRiE=; b=Rs3ogrPJ8tZQzuxZzecMl9KurZ 8+0wUkyzfE6izchlmViD0V7V+5zXqv4amdnBDdqDps6vZsF6VTQsG4ENWuvCrEFieVst0DOWZBOUK H9EZMHPpwy+IxX/TwdMfKFrkEb8gmuvpVPQXNzNLo5uSCN4c6tA+Jc6fACZAivmejQDE=; In-Reply-To: Content-Language: en-US Received-SPF: pass client-ip=2a01:4f8:121:346::180; envelope-from=mail@daniel-mendler.de; helo=mail.qxqx.de X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 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:268406 Archived-At: On 4/25/21 7:58 PM, Dmitry Gutov wrote: > I guess my problem with it is, with the apparent end goal of > flexibility, it ends up targeting only the default completion UI, and > the more an alternative UI is different from it, the worse the result > can look. > > And without semantic information, it fails to take advantage of the > additional features the alternative UIs might provide. You are right about that. As things stand now the annotation/affixation-function only work well for the default completions buffer and the vertical completion UIs. The completion-at-point popups are very different from that, so it is only fair if they try to invent their own metadata functions as you are doing in Company with `company-kind` etc. However I am a bit critical with regards to the "semantic information". As far as I understood you use some icon names for that, but this restricts the purpose of the annotations. Maybe it would be sufficient to use a more crude solution, where you only specify that the annotations/affixations must be sufficiently short in order to display well in the popups, without going the full way to the semantic kinds. Daniel