From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Spencer Baugh Newsgroups: gmane.emacs.devel Subject: Re: Adding support for xref jumping to headers/interfaces Date: Fri, 23 Jun 2023 10:37:30 -0400 Message-ID: References: <83pm9sfxfa.fsf@gnu.org> <861qm4tkih.fsf@stephe-leake.org> <71ea5e83-183f-2ae3-8146-6a31045a0309@yandex.ru> <834jqzafse.fsf@gnu.org> <83h6uv47e8.fsf@gnu.org> <4639d7ca-2109-864c-33c0-38e65f26f262@yandex.ru> <835ybb3txt.fsf@gnu.org> <83wn3q311i.fsf@gnu.org> <412afa2d-5dbc-52da-39c4-99be3873929c@yandex.ru> <83o7p20wdi.fsf@gnu.org> <72b09256-5a1b-8962-9e3c-7d2ffd0dc0d7@yandex.ru> <83ilf925n8.fsf@gnu.org> <95afa441-18ae-e62a-be16-be73a545bbba@yandex.ru> <81c2ff07-c5e2-fb3a-5945-049a307bff84@yandex.ru> <835y7e3etn.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26525"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jun 23 16:54:06 2023 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 1qCiAm-0006Zd-Ud for ged-emacs-devel@m.gmane-mx.org; Fri, 23 Jun 2023 16:54:04 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qCiA1-0004Za-Fn; Fri, 23 Jun 2023 10:53:17 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qChuy-0006U3-Rf for emacs-devel@gnu.org; Fri, 23 Jun 2023 10:37:44 -0400 Original-Received: from mxout2.mail.janestreet.com ([38.105.200.79]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qChux-0007NY-AH for emacs-devel@gnu.org; Fri, 23 Jun 2023 10:37:44 -0400 Original-Received: from mail-yw1-f199.google.com ([209.85.128.199]) by mxgoog2.mail.janestreet.com with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) (Exim 4.96) id 1qChuv-001t5f-2E for emacs-devel@gnu.org; Fri, 23 Jun 2023 10:37:42 -0400 Original-Received: by mail-yw1-f199.google.com with SMTP id 00721157ae682-5700861af1bso9963767b3.2 for ; Fri, 23 Jun 2023 07:37:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; t=1687531061; x=1690123061; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=1HhIUqkMZ9J9Qt/P6z+Lq39+DTaCFsxbvxis4kEPIno=; b=JYWoLBCdD0FZq+mNBVbHrhp1RL7pfNDgQIhcD4049VEaUc8uJfL0dcbIc4OS1MQ4mI o/JEExsx1+4QmTrYm3pcLwOqyV7SPNHp8iDqPHAI7TPkkvTJTs2gaUlGwdbH1r5tG27O kVbMAqH5WOiWIG1qPIsKtI/j6YcSLQwdFGDz8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687531061; x=1690123061; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1HhIUqkMZ9J9Qt/P6z+Lq39+DTaCFsxbvxis4kEPIno=; b=ILUsj8aFyTxri117aBmGVOSV5N5Lc7NECbX0UYVQ4ZNUZS0LjROymRpWIc7DrlnvB8 p6vbIInYuVDY1Gy+jqmmMUnJaI8s2b0RrHzVDBOLE8cOGrnEz8P8JM+kx64sojGyUfFO +HKysYIBaF3j+6HlHhCPp93UVR4QQ8d8gFKLOVqWeCN2S/jVfBG1lZrt5aZIOIC2bVs3 RreS/GDxD9UQS9YBnZvE7GCOe5tUVNOKqf+m0Gbhj8TGiUgD0DjaJch6Evk4LugR4xcH QtvN/6P12S1agywAzWjdaQB0aChiPtP9LV1rPiP95AiKG4/GTbBxcW9wbLJ+qb7GCr76 EK6w== X-Gm-Message-State: AC+VfDwUKYfToqHdVWaxjohgUOiOMompqXwYHcvkTglxze5sszbfgFXM KMpcATxXUSd4J+OEigSCDRR6wKh4xfzsrHZYgiP/NNtB7JlA+GBL7wmG0bkyCajpieY7OQmfxKl KGriV20V4aWmJfydVLWyd0vrMo00= X-Received: by 2002:a25:15c5:0:b0:c01:9d74:905a with SMTP id 188-20020a2515c5000000b00c019d74905amr4480168ybv.57.1687531061627; Fri, 23 Jun 2023 07:37:41 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ632sMVd+21WYqy77YvZ1J9uiXTVXYSCMjeCtUnYkfZoKKEF2EMJqDRifpeauAXXT+7sm2ljuIE96RIoIKg900= X-Received: by 2002:a25:15c5:0:b0:c01:9d74:905a with SMTP id 188-20020a2515c5000000b00c019d74905amr4480157ybv.57.1687531061380; Fri, 23 Jun 2023 07:37:41 -0700 (PDT) In-Reply-To: <835y7e3etn.fsf@gnu.org> Received-SPF: pass client-ip=38.105.200.79; envelope-from=sbaugh@janestreet.com; helo=mxout2.mail.janestreet.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 23 Jun 2023 10:53:16 -0400 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:307161 Archived-At: On Fri, Jun 23, 2023 at 1:52=E2=80=AFAM Eli Zaretskii wrote: > > > From: Spencer Baugh > > Date: Thu, 22 Jun 2023 15:22:25 -0400 > > > > Jo=C3=A3o T=C3=A1vora writes: > > > On Sat, Jun 17, 2023 at 2:54=E2=80=AFAM Dmitry Gutov wrote: > > >> It is of course the prerogative of the backend to choose which locat= ions > > >> to return as the list of definitions. Some backends/languages might = as > > >> well include interfaces in the list. > > >> > > >> One problem with that, though, is that we're doing some things > > >> differently from SLIME. In particular, we try to make it easy to jum= p to > > >> a specific definition as quickly as possible. > > > > > > I see no problem with that, but it might be interesting to keep the > > > backend plug-in mechanisms generic enough to eventually enable > > > different types of UI. > > > > Do you envision that eglot-find-typeDefinition would also be covered by > > xref-find-definitions in this way? The type defintion feels a bit > > different from others. > > > > In any case, it seems to me that C-u M-. would be a good way to say > > "return all different kinds of definitions" to xref-find-definitions. > > Then the user could just switch to the one they want in the *xref* > > buffer. This keeps the basic M-. operation fast, while making it easy > > to jump to other kinds of definitions. Seems perfect. > > Why does this need a separate key sequence? M-. already knows how to > cope with more than a single candidate returned by the backend. How > is this case different? Merely that M-. currently usually returns only one candidate, and when it returns multiple candidates it pops up a buffer, which is annoying if you only ever want one of the candidates. Most of the time, for most users, a user will only want the single candidate which is currently returned by M-. (which is the implementation/definition of the identifier), so we should avoid adding multiple candidates by default.