From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: feature/completions-highlight-modifications e3c5b99 3/6: Add completions-highlight-mode initial implementation. Date: Sun, 15 Nov 2020 21:38:26 -0800 (PST) Message-ID: <92f3cbd7-29a0-461a-a023-562bc6020ea8@default> References: <20201115023629.19537.77471@vcs0.savannah.gnu.org> <20201115023631.C78AB20A27@vcs0.savannah.gnu.org> <20201115224943.o5r7lkkblmyt2ox4@Ergus> <20201116033719.63dryvqm4ozfer2r@Ergus> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17410"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Ergus , Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Nov 16 06:39:24 2020 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 1keXEa-0004QV-AT for ged-emacs-devel@m.gmane-mx.org; Mon, 16 Nov 2020 06:39:24 +0100 Original-Received: from localhost ([::1]:59600 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1keXEZ-0004yT-AS for ged-emacs-devel@m.gmane-mx.org; Mon, 16 Nov 2020 00:39:23 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55292) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1keXDr-0004X4-80 for emacs-devel@gnu.org; Mon, 16 Nov 2020 00:38:39 -0500 Original-Received: from aserp2130.oracle.com ([141.146.126.79]:59738) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1keXDp-0000g5-1S for emacs-devel@gnu.org; Mon, 16 Nov 2020 00:38:38 -0500 Original-Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0AG5Z39t002495; Mon, 16 Nov 2020 05:38:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=w5dvG2Sf1Z2yRJzFn+i21TUPWoVQ1sWCzvpgkW/4Imo=; b=TFt748oMuf/KhAaPpYQ/yhFG/GhVWguDfVGzUBtT9syNoygpNob2QhIGD7JTe6LN/prA JZcNY81JVKo9CHlrkhUjQQ+CFgaBp+EMAlC67q3JDB7Fq8uHk7FJwAp5FEu79YXlXqBm FxW+VdSeFfHE6HdtFeDXiADtiKKQ5eTOcGivyXrtwpQMQOJ+g1jjaexNR2z5VhAE7gDf p48ROpj8hhPmaNSreRZvDhXgGEFmkWoWdB6DHPy5TiCbOUrNTUcSfxI9xGhYfiHxs/zk HInCuQrRIbGuHiTj73W8QP9ep5t/P/Zh46pWQxJjpfZLc5bzhk4qyZwB28nggKURCArz zQ== Original-Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2130.oracle.com with ESMTP id 34t4rakh7u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 16 Nov 2020 05:38:30 +0000 Original-Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0AG5ZDBd074383; Mon, 16 Nov 2020 05:38:29 GMT Original-Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3020.oracle.com with ESMTP id 34ts4vy2m2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Nov 2020 05:38:29 +0000 Original-Received: from abhmp0020.oracle.com (abhmp0020.oracle.com [141.146.116.26]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 0AG5cSTo022236; Mon, 16 Nov 2020 05:38:28 GMT In-Reply-To: <20201116033719.63dryvqm4ozfer2r@Ergus> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5071.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9806 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011160035 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9806 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 clxscore=1015 malwarescore=0 impostorscore=0 lowpriorityscore=0 priorityscore=1501 mlxlogscore=999 adultscore=0 phishscore=0 suspectscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011160035 Received-SPF: pass client-ip=141.146.126.79; envelope-from=drew.adams@oracle.com; helo=aserp2130.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/16 00:38:32 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, 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:259218 Archived-At: FWIW - > This mode shows the completions buffer..., but then cycles > there.... But over a visible list of candidates and > highlighting the current one. That's exactly what Icicles does, and has done for a couple of decades now. And the sort order in *Completions* is the same as the cycling order. And you can change the order any time, on the fly. > Once cycling started it is easy to know what will be the next > candidate or how many tabs (or arrows) are needed to get to a > candidate. It is also possible to go to the candidate down, up, or the > previous one (left) if you accidentally passed it. Of course. And you can also go directly to candidates, without cycling. Cycling is actually a fairly inefficient, unconscious way to navigate among candidates. It's handy, but dumb cycling shouldn't be the only or the main way to get around. Progressively narrowing the current set of matches is much better. Combine cycling with that: progressive completion/filtering, matching multiple simple patterns. Cycling & filtering work hand in hand. > Another advantage is that the cursor (point) stays in the same > mini-buffer place after completion, so, in case the list is too long > and you want to reduce it (or a wrong letter was inserted); you only need > to type another letter(backspace) and tab again (like in bash or zsh or > the default completion engine to get a new list). Again, like Icicles. ___ https://www.emacswiki.org/emacs/Icicles_-_Cycling_Completions https://www.emacswiki.org/emacs/Icicles_-_Progressive_Completion