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: [External] : Re: Include which-key.el in the Emacs distribution Date: Mon, 14 Feb 2022 16:23:47 +0000 Message-ID: References: <20200908201434.hrvupafbu2kyvb4q@Ergus> <87wnhyk72h.fsf@posteo.net> 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="22684"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Emacs developers To: Philip Kaludercic , Corwin Brust Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Feb 14 17:27:17 2022 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 1nJeC5-0005gm-OI for ged-emacs-devel@m.gmane-mx.org; Mon, 14 Feb 2022 17:27:17 +0100 Original-Received: from localhost ([::1]:51516 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nJeC4-0005gy-1R for ged-emacs-devel@m.gmane-mx.org; Mon, 14 Feb 2022 11:27:16 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:36290) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nJe8s-0003hZ-Oq for emacs-devel@gnu.org; Mon, 14 Feb 2022 11:23:58 -0500 Original-Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:1890) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nJe8p-00075J-93 for emacs-devel@gnu.org; Mon, 14 Feb 2022 11:23:58 -0500 Original-Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 21EG6Yq4021646; Mon, 14 Feb 2022 16:23:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=JHtH0thfFNLS9Sgghdpd+rKPUdo3i2UV9Z0GaXex6lY=; b=SL5nNIURZ0CE1sn2BdgDz0W6DWlKKy5jFBGJQO7sqOSjvttzcsCCrHii3JjrwB726x50 1RxiFniZRvgpq27nawcDb4OjB016TdynJQAbBDz8QcQImF95HJmRcWF/oC883lSO3v3/ gDtTTqLHtMwRrX8B3psQs/4TU0sGn8ZRCA4GM1xQsNFAqRl0dJXqxTxUUm+IGOFUSbNm v15wkNdiOZhxr6N2SJbH3sJJeIvnpvwIqJctcDB+4UmlTHTFLAwDsoLBl04dYigUMWQY NCRARgoimX544/25BnqerqagN1wpF3a9qgl5ELhzPkS0mLQAtNgsrEpHb5jBlVmsAtwA Kw== Original-Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3e63p25416-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Feb 2022 16:23:51 +0000 Original-Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 21EGFLBS081592; Mon, 14 Feb 2022 16:23:50 GMT Original-Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2103.outbound.protection.outlook.com [104.47.55.103]) by userp3020.oracle.com with ESMTP id 3e66bma8k3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 14 Feb 2022 16:23:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DTrgkeThuOh8UCrlMYe81YbyqSJQZjkK2d7BrK0lMiWXAV1XTrdNFvUvqEDX0o1D0+VbSWb0mPeGORA//OuYIdWuDH403U0BRl62doyR39TLDrVxsCiHreU5uqT+2lGpn/PdN3hbbrsDAKVE/+EpBcyFREUth1Ap1AlfRdyHAxFwuS0jp50WGVfClPvnc39+f73ONlOjje0G62qVF2enRUsOsBitK3yqoo++wT/+ah5QHsFjRP5xzyr20mGRdtZhQFXLfV375yV1J/pP3bWRYp1vNcDY8NF7oyL38BzV7Xl/NCCxEwDQ3FlPcJIhTIAN3xgwggdkA97AWX2tjVZAqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JHtH0thfFNLS9Sgghdpd+rKPUdo3i2UV9Z0GaXex6lY=; b=ayisTYUjGAmBMChMRm5vUR4S6kS0hx/AFv8SZxyZ0myX6aOLIlzIBwvyBnA8DQwtwTpJy6kj9p/dcPt9fErUTvtoTwobOunannTn9yxStNqiA6SeK9+4ZRBAdRDORS9w6ScdiV/jVFcFWh8Qox+6c9oz6a2RdkPOJGakkLNIZsTd4EexACmdUxadjTmLlaKHwGVbfZwifUB9PISjUp1vzPoZDraTQOpUWunw7CXJNfRJfbDuk05gtp48wewGoSnZYBDM2XqzepNVBnXwdmqtrLNPZinlKEZQbTlQEEtW/cfjX0MKcUXC0GsjnaG8+RMKnstBFv8SXzk9EU+fCvq8nw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JHtH0thfFNLS9Sgghdpd+rKPUdo3i2UV9Z0GaXex6lY=; b=Gy4gWvQqUgq3Pus1phqHduWgCYf7kZ88YRutBSKJoTiWQGR0AucOPIozwvccRK79YJf/UOJM0LppCHOVXScOkPnTpmn0yvYUZBm42SYUc7K44sg9Ux7HW8op7n6fJKr31TfQd6ijeyWNKh0Bg0GAAjSYY9ywZPujXEms70PiqF8= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by PH7PR10MB5699.namprd10.prod.outlook.com (2603:10b6:510:127::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.17; Mon, 14 Feb 2022 16:23:47 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::6d28:e29d:4c51:6d04]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::6d28:e29d:4c51:6d04%5]) with mapi id 15.20.4975.019; Mon, 14 Feb 2022 16:23:47 +0000 Thread-Topic: [External] : Re: Include which-key.el in the Emacs distribution Thread-Index: AQHYIXiTRCv8AQDLQUebgXHn69Xdd6yTL3Ww In-Reply-To: <87wnhyk72h.fsf@posteo.net> Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9eb7d1da-d0db-4b44-69c6-08d9efd660bf x-ms-traffictypediagnostic: PH7PR10MB5699:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jzX0ppo7nobBv5xJa7lrprtxaQtg2ORZyhpACgN/IHWvC+oPVn5LeQISrIvCtklEC6rD/V6TsSt7CJyfU9vHR3VdwY7Ogt8VxP5m+cSU+iDmnS6rHYC6Oas18Y1cyEGEgk9l1SoH/Vh71kpWtjE2TkEmw9072IWW7aA4Pya2vTLQkO2JE1ACeSPwYLbJvzKsxJxpd6tzo6Nc4hentTjZ0Bpy1yqpifgfbxzwPwN6b+sp7ToFtdzXaUBma0AsXzuPAQAdrI8tecSDhT7BSw/5E5h/1SKa/w4EY76zls2FX9+vHnyeFGAL9L639F3XzBnNMKwmf7mHYFPQtavKhpc8zLySnGKb2ReXYJSXmepGEDuSPTLU5Q2RfymnP88svYELIOUcgBYTLyLhAcsxlwh5uXj/AKZohY359lKxx7sh034Ir5skAZMvB7ahbSUAOCB2Rcc0cG1ioYVFfNAzMfbki4iXKVxF/ApU/LJVM4uhAFYqYYDJditgQK1n7csvBSWmdQ408PW+A9Iw9Hwbcp2ZRCp+EcQKrSuLIFEQxwZ3HBB+NdNQDTT/TaUZEhpX5f4J8hm+jLFKvx50/eeCHKlHhHehTl3P9u0T1+lDa1zKbxc5gmz4+9GTHXIKBShadEPT8YWaW2fz8yKGbXJvY2zv2O2bdlxg+cL7Cx/oB7bgAB9FWWlAKRmmjui+CEvE59rCM5mv/P+DxhhMPuD98RyOgQAFIoA7zCZu1vo2ridm9O73FEEbZiKDKjGGlM/cL DT8k9nIGpaHjAXlNHcU1aX0IfnvgSSE7+Pej4zk5QC5z5lHwV718/BRroBIkZxSlPZY0RmPGPVh/mvqhZnBAwiihg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(2906002)(38070700005)(71200400001)(186003)(9686003)(44832011)(508600001)(26005)(86362001)(38100700002)(33656002)(316002)(122000001)(7696005)(83380400001)(8676002)(8936002)(110136005)(55016003)(76116006)(966005)(6506007)(66946007)(52536014)(4326008)(5660300002)(66476007)(64756008)(66556008)(66446008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?+Q6hrGlMtXjNl6RwVegUN0EgiDPUJavhJlzRK14sNxB9JyfEYvSDUmlzbbxn?= =?us-ascii?Q?fvkPvo4vpR2EUkf/KkhHM/aSGdVCmpAHgPsEe+gO6nVwcnVm96oGCu99eZQ3?= =?us-ascii?Q?+0HSTgakYdCRjtKjCfTXKJMfY64QOJ60G0Nb/nJPXFNsLD3BtOFo3L5R4Ct8?= =?us-ascii?Q?9+bSk+MGhD6dBN7uSc+Qv16FUgJC5ySDaenKqIr2YsJzSxXGEDdvs/nR+26k?= =?us-ascii?Q?dfa5wbTwzwE+9rURkecKmV8dcMzNMa3H/52s5TlH6H7FDS+7RkSzeIewf1k+?= =?us-ascii?Q?ZyFUWKRRRedjlSJyzb2/5rpmjZuD9svcLOFVPkZgriDdtz40LFkETX8WQjRQ?= =?us-ascii?Q?b7Du4XFI4vLAJ058Of3jlBZG+k5rTLiQFdX4rgueKqwmrSI4o6EKmMUrN+jR?= =?us-ascii?Q?OHy6+B43aGV3nfcp3Ev6w8hrJKg26AQzSp3mRDewJa8oU8LOCKjbASfKygN3?= =?us-ascii?Q?Bxmzb9pi0vd1aA9F9skDqEuHtKpvwZbmej4LaotbqvIJxxACmgQ11W4VrDGE?= =?us-ascii?Q?dbpshuFr/laKlhwCyL2AzjMfxMVtlsRWMdclCT0UYvk8P5aGJgYke5zKRqVi?= =?us-ascii?Q?kvPJwVTqiYREsQoJD5fk8T5E7KqnMMSL6LHvRpVsLb+GDxP4VpSzv6UEiiks?= =?us-ascii?Q?rT X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9eb7d1da-d0db-4b44-69c6-08d9efd660bf X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Feb 2022 16:23:47.3593 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Z/DuAF3Sg8U+IYjYCsgE/4QTxPQo2XcgoPl3BIODbdtq7YLeX71chbwytzXg4C6NdDfYc9OT2RHdp9VnY9YIhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB5699 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10258 signatures=673431 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 malwarescore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202140098 X-Proofpoint-ORIG-GUID: 1BLYg7qP8af8W6hrzrTYHRGAMOzF3VC_ X-Proofpoint-GUID: 1BLYg7qP8af8W6hrzrTYHRGAMOzF3VC_ Received-SPF: pass client-ip=205.220.177.32; envelope-from=drew.adams@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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:286285 Archived-At: > What I would be more interested in is to add optional > support for C-h to continue a command prefix, so that > if I want to know what keys a keymap provides, I can > request it immediately without waiting for the idle > timer to trigger a often too small popup window, > without loosing the partial input. I know that you know that `C-h' after a prefix key shows you the possible continuations. I think your request is to not "lose" what you've typed so far. Library `keysee.el' can help with this. It can either show you possible continuations after a delay, automatically, or show you them only on demand, when you hit key `S-TAB' (by default). You can also use `S-TAB' at top level, to see all possible keys available in the current context. You can also complete menu-bar menus. Completion candidates are pairs: key name, followed by a (configurable) separator, followed by the associated command name. Completion is normal, so you can use keys to edit minibuffer content. This is a difference from `which-key', where the keys you type just continue the prefix key directly. With Key See, keys you type act normally in the minibuffer. This means you can match against the key name or the command name, or against both. If you do want to have a key you type continue the key sequence instead of editing minibuffer content, precede it with `M-q'. That inserts its name, for completion. You can also sort the completion candidates in these ways (by default - you can add sorts): * By key name alphabetically, prefix keys first * By key name alphabetically, local keys first * By command name alphabetically Sorting applies to both display and cycling (per option `completion-cycle-threshold '). You can change the current sort order on the fly anytime, using `C-,' (by default). A prefix arg (e.g. `C-u C-,') reverses the current sort order. The completion styles used are those defined by option `kc-completion-styles', so they can be different from what you prefer for general use (option `completion-styles'). Key See essentially extracts some of what Icicles key completion provides, as a separate library. `keysee.el' requires `sortie.el', which is what provides for completion sorting.=20 If you complete to another prefix key (e.g. you complete `C-x' to `C-x 4'), the candidates are changed to those of that key (e.g. `C-x 4'). Whenever you are not at top level (candidates are those of a prefix key), `..' is available as a special candidate. It takes you up a level, essentially undoing the use of a prefix key. This means you can use Key See to navigate up and down the complete current key hierarchy - all possible keys (including menu-bar menus). The on-demand completion behavior is provided by minor mode `kc-mode'. The automatic, timer-based completion is provided by minor mode `kc-auto-mode'. It includes on-demand behavior, so you can still use `S-TAB' at top level. To complete only menu-bar menus, you can use command `kc-complete-menu-bar'. ___ Key See description: https://www.emacswiki.org/emacs/KeySee Key See code: https://www.emacswiki.org/emacs/download/keysee.el Sortie description: https://www.emacswiki.org/emacs/Sortie Sortie code: https://www.emacswiki.org/emacs/download/sortie.el