From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] `completing-read`: Add `group-function` support to completion metadata Date: Tue, 27 Apr 2021 18:47:55 +0300 Message-ID: <72bfab63-a66b-aedd-0cc1-5faf13d2ae95@yandex.ru> References: <39c93100-a352-538d-717a-663bcc5de296@yandex.ru> <23ebdd80-3ca2-4166-beab-e2535b6cc646@yandex.ru> <3a8d8d52-4b35-4a5a-aefc-db3e11d110e1@yandex.ru> <112dfd14.12f8.179110d4c4d.Coremail.tumashu@163.com> Mime-Version: 1.0 Content-Type: text/plain; charset=gbk; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39215"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 Cc: Daniel Mendler , Gregory Heytings , Stefan Monnier , "emacs-devel@gnu.org" To: tumashu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Apr 27 17:49:12 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 1lbPxY-000A3L-0g for ged-emacs-devel@m.gmane-mx.org; Tue, 27 Apr 2021 17:49:12 +0200 Original-Received: from localhost ([::1]:46242 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lbPxV-00033a-Ae for ged-emacs-devel@m.gmane-mx.org; Tue, 27 Apr 2021 11:49:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44132) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lbPwQ-0002bS-8v for emacs-devel@gnu.org; Tue, 27 Apr 2021 11:48:02 -0400 Original-Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:55840) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lbPwO-0000Ot-A4 for emacs-devel@gnu.org; Tue, 27 Apr 2021 11:48:02 -0400 Original-Received: by mail-wm1-x331.google.com with SMTP id n127so20282609wmb.5 for ; Tue, 27 Apr 2021 08:47:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=tCBZjCPRApPva9YhfX/0X1wUUzXQs9wn7fzC3KNXK2Q=; b=qEtAcVeFTGzO1mrkkv83RdQT55w0b9Dyfs8ccQgWWsIUJ+5Qc0q03DMtwStS5eVreG xSqUQaZP0/8pkSRP5eaCwBWSRSb8Um6CStiJpq4r4tnSLcyvzJsHoMDGJNRR3xm4zfdf xJCswFwGC3qbNIjUOXCSFfgS7WASfSVYXUXCjNhia/c6Gfq4wDH+YBd+SpuF42PrAsOC bG7s5Qf+VMm+ptQoGP8K9guGobhxJCeC46OTo2Kfg5fweL5y4JQl7ipMBp0cAkM2dTk9 8vsK6Wyvd6Gxlr6cywshIW/LxiBCIgo6RZnlUyXC8a2OJjWon46cKlNlBvcxFHhjaOzt hkAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=tCBZjCPRApPva9YhfX/0X1wUUzXQs9wn7fzC3KNXK2Q=; b=V7Kli31Z9IL28hESo2R1jrHVYMbMGdCe/QwiMShAmJhNasxeLrK9rL3oLcSqPLVtDf RnBhK3Sd5j/VH3ZrYek6AV/y0EBkbZkpHSCwV+7MZlFeJUK6zeHHsqfIdFF0vmdxVKrr tDk54e1So+9ZOJs9Dg6/EQfJd+oqfKD/0LawyHJ80Ww7uUh/mztZquOZvUBg3SweLZO+ JwDJEqqy196t0T8YovXN6Hzl5PKglao9ErJ4lwixRSzqRgkqdKoDFxcCqSqs9S1rulyV +pI/OLLGYXnbSLJn5+wtJzJtsb60JrFnHb/uGuvJA1iwV6uWHpaJeLia/NntJ6hnKm4N fKlg== X-Gm-Message-State: AOAM530fvejWvP8dM8dAkcNecUd2Kc7U+S11GLLZFaLP7PX/aZCnMoFZ mnM2OhZqtb5OszLYA4afkco/TEPrgM4= X-Google-Smtp-Source: ABdhPJxYLZzcH2HxAzlToFG16OhkFhHNykkBkybxMmw63ezxPRdKVmXSIBSAgjrd2pwvA4dbfTMwjg== X-Received: by 2002:a05:600c:4303:: with SMTP id p3mr9226922wme.166.1619538478489; Tue, 27 Apr 2021 08:47:58 -0700 (PDT) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id y21sm3168083wmc.46.2021.04.27.08.47.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 27 Apr 2021 08:47:57 -0700 (PDT) In-Reply-To: <112dfd14.12f8.179110d4c4d.Coremail.tumashu@163.com> Content-Language: en-US Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=raaahh@gmail.com; helo=mail-wm1-x331.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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:268535 Archived-At: On 27.04.2021 04:59, tumashu wrote: > >> My ideal UI would probably be more like this: >> https://emacs-lsp.github.io/lsp-ui/images/lsp-xref.gif (though perhaps >> with a slightly different layout). Meaning, a posframe popup showing the > > Wow, cool!!! > it seem to many packages use posframe at the moment, I use Ivy with posframe (because I like to have a reliably frame-centered popup, and by frame usually has 4 windows), but the package above actually implements its own rendering based on overlays. Probably because they wanted it to be functional in terminal as well. > is is a good idea > to move posframe to emacs.git? My personal rule of thumb is, it should be in emacs.git only if it's going to be used by some code inside Emacs. At the moment it seems unlikely also because of the same factor: we don't have a similar feature/library for rendering popups in terminal Emacs. A few users ago Eli (I think?) said it could be created based on the same approach that renders menu in the terminal mode, but that still has not materialized. It's also unfortunate that the core developers usually give GNU ELPA a wide berth instead of reviewing the code and making suggestions (in the most essential packages, at least). That could be another reason to add posframe to the core, but without at least someone among our windowing system experts paying attention to it, there would be no point. And without a terminal mode counterpart/support, it's unlikely to be used in the core code.