From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: key completion [was: transient] Date: Sun, 24 May 2020 12:19:14 -0700 (PDT) Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="30516"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Howard Melman , emacs-devel@gnu.org To: Arthur Miller Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun May 24 21:20:00 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 1jcwAB-0007oe-D5 for ged-emacs-devel@m.gmane-mx.org; Sun, 24 May 2020 21:19:59 +0200 Original-Received: from localhost ([::1]:47790 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jcwAA-00067P-EP for ged-emacs-devel@m.gmane-mx.org; Sun, 24 May 2020 15:19:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36738) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jcw9b-0005ho-7N for emacs-devel@gnu.org; Sun, 24 May 2020 15:19:23 -0400 Original-Received: from userp2120.oracle.com ([156.151.31.85]:39880) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jcw9Z-0006Rh-AV for emacs-devel@gnu.org; Sun, 24 May 2020 15:19:22 -0400 Original-Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04OJBhlB031327; Sun, 24 May 2020 19:19:16 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 : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=4Kdj8qSRc1mdcftrHB2ddP4Ek/OUAXgU34zMU0pusGM=; b=dY8t4JOwjOVNzCrFyqCDsRfi7i1zR2Yjug2fC1YzXkryBrQHH4yBnfE3avlpNE36l6Xc lzDI77frqtArB4ncB6AFyVwVMkeI+NnKhPjGipaz3wREZrIxM1+rzIA5QPldAAcG9hLd EE2Cq59ZHmx5xH3uYuixJ6EGNLDOQSt1+kg3MzL0FUD8YC7tENVmCw6a5FJojeGz56hH B6lZEdn1ejKOGg+3/bpinkaC966rgqOcJGGdECRQIGdDZ/cKwvFgjLw9ypl8h0npKj2t ndlisKFUJH5PJfG5z0EPkmOoxZZ5JfLw5kMpOOMT6+8FnsNu89Zc/roPPx7GYMW7Bdgr Cg== Original-Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2120.oracle.com with ESMTP id 316vfn37k1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 24 May 2020 19:19:16 +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 04OJHO0L036207; Sun, 24 May 2020 19:19:15 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserp3020.oracle.com with ESMTP id 317j5fs3eh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 24 May 2020 19:19:15 +0000 Original-Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 04OJJFMC019195; Sun, 24 May 2020 19:19:15 GMT X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5005.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9631 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005240160 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9631 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 clxscore=1015 priorityscore=1501 mlxscore=0 malwarescore=0 spamscore=0 impostorscore=0 mlxlogscore=999 lowpriorityscore=0 bulkscore=0 adultscore=0 suspectscore=0 cotscore=-2147483648 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005240159 Received-SPF: pass client-ip=156.151.31.85; envelope-from=drew.adams@oracle.com; helo=userp2120.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/24 15:19:18 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, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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:251334 Archived-At: > I haven't used Icicles yet, but seen this list, maybe I > should give it a try and see if I can use it instead of > which-key. To be clear, my reason for posting that info was to show other possibilities, not to solicit Icicles users. The features I showed there are in some ways similar to what you get with things like `which-key', but they're also different. Difference always means pros & cons. Some of the UI/completion features introduced by Icicles have since been adopted in other completion frameworks (e.g. Helm, Ivy, Icomplete). There are many others that have not been taken up. I use Icicles all the time, but from the beginning I've considered it largely as a sandbox of related features that can serve as food for thought. Icicles features are related in that they feed off of each other; they work well together. But could something like Icicles key completion be taken out of Icicles? Absolutely, with some loss of functionality. Icicles key completion doesn't depend on the rest of Icicles for its most basic behavior. But it becomes more useful in concert with other Icicles features (different sort orders, progressive and apropos completion, candidate highlighting etc.). ___ I've done that now - just posted library `keysee.el'. It provides some of what Icicles key completion provides. But there's no incremental completion, progressive completion, etc. No sorting or cycling of candidates, etc. Anyway, you can try it: Description: https://www.emacswiki.org/emacs/KeySee Code: https://www.emacswiki.org/emacs/keysee.el > Can Icicles be used without any additional learning > and as easy as which-key? Which-key is kind-of > "just works", one installs it and it does what it > does without additional effort on user side. Is > "automatic" feature of Icicles in same manner? Icicles has a lot more to it than key completion. And out of the box, it (i.e. minor mode `icy-mode') will change your Emacs experience. That might not be what you want. I wouldn't want to encourage it just as a supplement or replacement for `which-key'. If you want to try Icicles key completion, to play with it, yes, it's easy. You'll need to download the Icicles files and put them in your `load-path', then `(require 'icicles)' and turn on `icy-mode'. To get automatic key completion, turn on minor mode `icicle-auto-complete-keys-mode'. (You can still use key completion on demand (`S-TAB'), even at top level.) One of the things I think Icicles helps most with, in general, is "asking Emacs". Key completion is one example. I believe there's lots _more_ room for improving Emacs to help users "Ask Emacs" than anything I've done. Again, I hope that some of the things I've done as experiments (some of which may be silly or crazy) might suggest other ways to make Emacs help you ask Emacs. FWIW, key completion was definitely one of the things I initially thought was crazy, but which I changed my mind about. (But no, it's not really a replacement for `which-key', `guide-key', etc., which are fine for what they offer.) ____ > [Dired+] What spontaneously to look usefull is > marking/toggeling/untoggling files per region only. > That seems like a usefull feature. Maybe you should > try to get that part into standard Dired? I've offered all of my code, or any parts of it, many times. And I've also tried to get specific parts added, usually unsuccessfully. I don't spend time now fighting that. The code's there, for anyone who might be interested. And I do help when someone wants help understanding etc. Most of the things in a library like Dired+ are easy to add to vanilla Emacs, I think. If someone sees something they want to add, and needs help understanding it, I'm here. I don't have the time or will to try to push anything or convince or ... I do typically speak up if I see some effort that's related, to at least say what's available in one of my libraries that might serve as food for thought or a guide to one way to do something.