From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yuan Fu Newsgroups: gmane.emacs.bugs Subject: bug#58431: 29.0.50; [Eglot] Add "breadcrumb.el" feature based on imenu.el/project.el services Date: Tue, 11 Oct 2022 08:38:30 -0700 Message-ID: <21C0D090-6EE1-45EB-B23A-8BECDD5A9447@gmail.com> References: <87czayra73.fsf@gmail.com> Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) 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="36817"; mail-complaints-to="usenet@ciao.gmane.io" Cc: eliz@gnu.org, 58431@debbugs.gnu.org To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Oct 11 17:47:31 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1oiHTf-0009Mx-7J for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 11 Oct 2022 17:47:31 +0200 Original-Received: from localhost ([::1]:47282 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oiHTe-0000Ey-0z for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 11 Oct 2022 11:47:30 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50614) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oiHLS-0003Nt-R9 for bug-gnu-emacs@gnu.org; Tue, 11 Oct 2022 11:39:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55577) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oiHLS-0004PH-E4 for bug-gnu-emacs@gnu.org; Tue, 11 Oct 2022 11:39:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oiHLS-0000bQ-97 for bug-gnu-emacs@gnu.org; Tue, 11 Oct 2022 11:39:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Yuan Fu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 11 Oct 2022 15:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58431 X-GNU-PR-Package: emacs Original-Received: via spool by 58431-submit@debbugs.gnu.org id=B58431.16655027302299 (code B ref 58431); Tue, 11 Oct 2022 15:39:02 +0000 Original-Received: (at 58431) by debbugs.gnu.org; 11 Oct 2022 15:38:50 +0000 Original-Received: from localhost ([127.0.0.1]:54655 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oiHLG-0000b1-Cp for submit@debbugs.gnu.org; Tue, 11 Oct 2022 11:38:50 -0400 Original-Received: from mail-oa1-f43.google.com ([209.85.160.43]:33289) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oiHLE-0000al-Hp for 58431@debbugs.gnu.org; Tue, 11 Oct 2022 11:38:49 -0400 Original-Received: by mail-oa1-f43.google.com with SMTP id 586e51a60fabf-131dda37dddso16390635fac.0 for <58431@debbugs.gnu.org>; Tue, 11 Oct 2022 08:38:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ZEiW9XaG3wVKmf5LDPt7v+8fMV5P+3lvHQ00uyR5kmo=; b=PwmzAvXbFeSEPZA31TST8UinT81NCGgiLsmJE4zPtyPNP5XYEsA5CwaD9hUjQ4/nLb Yl1ENFk6vDmqUumMP9CKifqeHc6RVKt1449krbR+CUuIi0UHCzgQnUMsW+sn/xWM/Ezh SYznV9zQR+llAvi8SBHCbEorPCLognUY5ixlSVZ2JmUn1lRv1Efk77oojYz5sX3/YmB2 DNp0akNq7KILk95LpGrKvJocgTLU12q0sCmt5wun5JgbA7ROLcq5/iSCi2JJiFyGsASw MOeaYJg4cPkhCjXmi3J3pCJU/upr3hDrOHkh4msmPvsaINDC8/7kvKCrm+exGYpF5ckH tLnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZEiW9XaG3wVKmf5LDPt7v+8fMV5P+3lvHQ00uyR5kmo=; b=sUJA8/ADrUyJab0nAvjpNt/vOVGCP6ufaoFncBRmyXEC31DTKSYJabY3/VAiIeDFAo QaOjuw+Wn8lZ895T8w+CM1n1LzIdiN6EKA6UzLKlP5F3AyB9jRxP2Ut9lSyJ8Ow2cm62 FFgqmcR+L2wHTCFDr6kXUMG32krHhXTmGBROHjejvFbgl8QZ1cDLjyFeBw1Sr1GktyXu JgvXjHtANNGUVBFbTLxUcTXWaCdW1JZjp8jeEFBzNfkRSBacu0/0yT/Ndjhj4Q6b3eii zu6MiD0JlDV8tpapwzBKJtBcnFHS+r6oAppCDDPyH0A0U4FjU+h37NpOBSvTSQUkGyXk 4o5A== X-Gm-Message-State: ACrzQf0UIznMjjMO+AMjHhH6J+sChJwLEAwUDKFPSYOjZ6lmzUMlswjI DJC8OORnOboaGZrAN2onmvbrXykvXuVf3Q== X-Google-Smtp-Source: AMsMyM5mTovwPi8x46GaQvUekvD2m93Mbaeskv8XsLv4SFNVVhSPU1RCGA7AQsP+kZNM+sDNDyd6Fw== X-Received: by 2002:a17:90b:4b0e:b0:20d:213b:1083 with SMTP id lx14-20020a17090b4b0e00b0020d213b1083mr18876893pjb.208.1665502712274; Tue, 11 Oct 2022 08:38:32 -0700 (PDT) Original-Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id w4-20020a170902ca0400b0017eea4a3979sm8689091pld.154.2022.10.11.08.38.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Oct 2022 08:38:31 -0700 (PDT) In-Reply-To: <87czayra73.fsf@gmail.com> X-Mailer: Apple Mail (2.3696.120.41.1.1) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:245119 Archived-At: > In the original Eglot request, users are requesting this UI feature = for > the Eglot LSP client. But this doesn't have any LSP-specific > interactions. It can and should be done entirely by using the = services > provided by imenu.el and project.el. >=20 > Eglot already integrates with Imenu, so as soon as this hypothetical > breadcrumb.el is in place, then Eglot users can take advantage of it. >=20 > This is similar to which-func.el, which displays the trailing element = of > the breadcrumb in the headerline. Perhaps the breadcrumb feature can = be > thought of as an augmentation of which-func.el's functionality. I = don't > have a strong opinion there. I think which-func is closer to breadcrumb conceptually and api-wise: = Both which-func and breadcrumb are about the current function, while = imenu is about a list of _all_ functions/sections. We could just allow = which-func-function to accept a list of function names. In fact, the = which-func function of tree-sitter powered python.el already generates a = breadcrumb, I just joined all the function names along the path with = =E2=80=9C/=E2=80=9C.=20 >=20 > Jo=C3=A3o >=20 > PS: Eli, I'm CCing you to underline this as just an example of a UI > feature that is requested for Eglot, but belongs somewhere else. In > this case, I believe there is 0 additional integration needed in > eglot.el: it can be realized independently of the backend which feeds > into Imenu (perhaps tree-sitter?) and project.el. I agree, Emacs provides the framework/UI, and tree-sitter/eglot/future = magic plug in. Yuan=