From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Adding support for xref jumping to headers/interfaces Date: Sat, 11 Nov 2023 23:01:53 +0200 Message-ID: <70b681ab-b827-01b4-d4f3-fe0b45cd698d@gutov.dev> References: <65a16247-1b1a-149c-b413-71612f88f184@yandex.ru> <9377bf2b-13ed-8d86-4294-0b88e6808d80@yandex.ru> <953056ea-9cfb-34ad-6515-9036633dfdbb@yandex.ru> <2d964697-2b4e-64c7-2f16-aae87e57def4@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11866"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Cc: Spencer Baugh , emacs-devel@gnu.org To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Nov 11 22:02:53 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 1r1v7z-0002rU-V5 for ged-emacs-devel@m.gmane-mx.org; Sat, 11 Nov 2023 22:02:52 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r1v7B-0007bH-VH; Sat, 11 Nov 2023 16:02:01 -0500 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 1r1v7B-0007b6-39 for emacs-devel@gnu.org; Sat, 11 Nov 2023 16:02:01 -0500 Original-Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r1v79-0002bp-8G for emacs-devel@gnu.org; Sat, 11 Nov 2023 16:02:00 -0500 Original-Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 075E85C010C; Sat, 11 Nov 2023 16:01:57 -0500 (EST) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Sat, 11 Nov 2023 16:01:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm2; t= 1699736517; x=1699822917; bh=R7ndqV4lm9v2a5ESKDA3qbxDtv9PPwutNI6 n2u75KTY=; b=p+26U7XwzYv1VTvYjBuSXORTG7ag1OLh3UqtZRTdhLT1+QhAwbH xIJnaTi7Iq1SWmlinLh7lYkky5Pmq+ZkT46C4IuvCTckRPOgRHLoxLcUcwZMtNgr v8O0hJ8glSso3l14vUC88ykbHbmASqGo3DRYRBd18O9UunmDxwHleM1mRO6H9NjC pHSu6WDJYTLpD3uz7unXIW9MInbhRndlBIL4KZE2TS7rw2E9eqQS6UPRnmDClUzs FgjDP3abkk3d5+tht0jx0+n+2vT2/Qq5ryuArlWQX7bGuKSHMH3jHFDfSR8v2jtQ WzKtlYzHnBFdycPP2hs+ZnrRptzszcl9y8w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1699736517; x=1699822917; bh=R7ndqV4lm9v2a5ESKDA3qbxDtv9PPwutNI6 n2u75KTY=; b=kmVA47jdC/kWxZiMrvp2k5X9KJAr0KUxkbqO/gtmJJjo6PdYa91 ZJCSNP2rVj6QgTdLCXY9i2SXYxHfUEohIq8JC1Z/ISeHDhTcf3JpX9FHT1R0EP8y g56NROWAKtaT2uwZyDjCuzRREiPJoV0u0zW12ZJta7Y8li3pmfOOv+GmthtJ7rL/ EILcBUxyx8SJhtGK5N2E6MAkFmpuXp0SZV+uyZCtSIbL3gXtWOgFK22g8JtSyP4I lFdP7ExdpZdKSOpqXrPk+tll/3pOWPv6gT/wd5OuUvFSt1sfY1EyzOuYts52qvkW +pl2CscrKrtm2xepK1UP2uCoaUvj4nptcPQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedruddvhedgudeggecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefkffggfgfuvfevfhfhjggtgfesthekredttdefjeenucfhrhhomhepffhm ihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrg htthgvrhhnpefhffehleejffegffeugefhkeektdffgfehjedvgeejtedtudehueffgffg feejheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe gumhhithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 11 Nov 2023 16:01:55 -0500 (EST) Content-Language: en-US In-Reply-To: Received-SPF: pass client-ip=66.111.4.29; envelope-from=dmitry@gutov.dev; helo=out5-smtp.messagingengine.com X-Spam_score_int: -69 X-Spam_score: -7.0 X-Spam_bar: ------- X-Spam_report: (-7.0 / 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, NICE_REPLY_A=-4.148, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, 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-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:312613 Archived-At: On 11/11/2023 13:30, João Távora wrote: >> BTW, do you know of any LSP servers for C/C++ have >> implementation-specific actions/endpoints for any of the things that you >> mentioned above? > > Clangd, whose source code I've recently become familiar with, > has the capability of doing all of those but my vapourware > 'memory-allocations'. It doesn't expose endpoints to them, I think, > but it's not fundamentally hard to do (clangd has a very rich index > derived from the LLVM AST processing machinery, as you probably know). So these features that are not available in the VS Code plugin yet? I guess we'll wait until that happens. But then it seems like Eglot will have to define the corresponding commands. >> > When I get around to finishing refactor.el which will inherit most of >> > Eglot's UI for doing refactorings, I don't plan to burn the concepts >> > of "organizeImports" and "quickfix" into it. They are LSP things. >> >> I things refactorings are inherently slower process, so having less >> dedicated commands and more typing won't be a problem. >> >> Do you have any WIP code/patch/branch for refactor.el? I was thinking of >> giving it a shot soon-ish, but it would start with extracting some code >> from Eglot anyway. > > Yes, I have a refactor.el started, but ot sidetracked. I'll pull it > up soon, it's still unfinished but I would love some help and am > fairly certain we can collaborate to get at least the basics working. I'm happy to take a look. > I think the xref-backend-extra-kinds/xref-backend-extra-defs is > the analogue mechanism I was looking for and couldn't quite commit > to but your patch and this discussion has helped me see it is a > simple and viable way. Indeed, I think that approach should fit it well. > Anyway, will try to do that coming weeks, do ping me if I forget, > we can even pair-program via tmate or something. Sounds interesting. My Emacs doesn't really function in the terminal, but we could try.