From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: feature/completions-highlight-modifications e3c5b99 3/6: Add completions-highlight-mode initial implementation. Date: Sat, 21 Nov 2020 21:30:17 +0200 Organization: LINKOV.NET Message-ID: <871rgmwt6e.fsf@mail.linkov.net> References: <20201116033719.63dryvqm4ozfer2r@Ergus> <92f3cbd7-29a0-461a-a023-562bc6020ea8@default> <87v9e5herj.fsf@mail.linkov.net> <20201116102729.ywubtda6cqdzc45z@Ergus> <87d00acuh3.fsf@mail.linkov.net> <20201119032519.lpa53ixezgpdppze@Ergus> <87d009kfmf.fsf@mail.linkov.net> <20201119105052.kfichqojkhfwwsiz@Ergus> <87k0ugfirt.fsf@mail.linkov.net> <20201120145248.wmbv2zgbvs7bg25i@Ergus> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33440"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) Cc: Stefan Monnier , Drew Adams , emacs-devel@gnu.org To: Ergus Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Nov 21 20:50:20 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 1kgYto-0008bN-IR for ged-emacs-devel@m.gmane-mx.org; Sat, 21 Nov 2020 20:50:20 +0100 Original-Received: from localhost ([::1]:35858 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kgYtn-0002Pd-C3 for ged-emacs-devel@m.gmane-mx.org; Sat, 21 Nov 2020 14:50:19 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35934) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kgYpd-0006NG-HC for emacs-devel@gnu.org; Sat, 21 Nov 2020 14:46:01 -0500 Original-Received: from relay4-d.mail.gandi.net ([217.70.183.196]:39529) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kgYpb-0005Nh-Lz for emacs-devel@gnu.org; Sat, 21 Nov 2020 14:46:01 -0500 X-Originating-IP: 91.129.97.46 Original-Received: from mail.gandi.net (m91-129-97-46.cust.tele2.ee [91.129.97.46]) (Authenticated sender: juri@linkov.net) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 778FEE0006; Sat, 21 Nov 2020 19:45:55 +0000 (UTC) In-Reply-To: <20201120145248.wmbv2zgbvs7bg25i@Ergus> (Ergus's message of "Fri, 20 Nov 2020 15:52:48 +0100") Received-SPF: pass client-ip=217.70.183.196; envelope-from=juri@linkov.net; helo=relay4-d.mail.gandi.net 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_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=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:259538 Archived-At: >>> Maybe we should look more how zsh behaves... and try to mimic that as >>> much as possible. Because it is already pretty consisten >> >>Does zsh use arrow keys to navigate in completions? >>How then it's possible to get previous/next history item (up/down arrows), >>and move the cursor in the command line (left/right arrows)? > > Similar to what we are doing. > > 1) When NO completions shown: previous/next history and so on. > 2) When completions are shown: navigate completions. > > Completions are only shown after a "tab request" 1->2 (unlike > incomplete) Trying to mimic the 'zsh' behavior is a good thing. Using 'zsh' as a reference, what do you think about naming the package 'zcomplete'. > If you type any letter completions disappear, inserts a space and then > the letter, so > > backspace just hides completions (deletes the inserted space), so goes > from 2->1 easily (unlike *Completions*). If you want to emulate the 'zsh' behavior, then much simpler approach would be to allow TAB to pop-up the completions buffer, i.e. to display and switch to it. Then all motion keys will be available by default. To display the cursor in the minibuffer is still possible by using '(cursor-in-echo-area t)'. RET will insert the completion under point to the minibuffer. Any self-inserting key could switch back to the minibuffer and insert its character.