From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Felician Nemeth Newsgroups: gmane.emacs.devel Subject: Re: Adding support for xref jumping to headers/interfaces Date: Mon, 06 Mar 2023 13:22:57 +0100 Message-ID: <87r0u2ax26.fsf@betli.tmit.bme.hu> References: <1587ddb6-f631-0890-965a-c7acb5729fa6@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18068"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) Cc: Dmitry Gutov , =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= , Helmut Eller , emacs-devel To: John Yates Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Mar 06 13:25:54 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 1pZ9ub-0004YM-KO for ged-emacs-devel@m.gmane-mx.org; Mon, 06 Mar 2023 13:25:53 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pZ9tp-0004nj-6Y; Mon, 06 Mar 2023 07:25:05 -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 1pZ9t4-0004jJ-Sh for emacs-devel@gnu.org; Mon, 06 Mar 2023 07:24:45 -0500 Original-Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pZ9t0-0001HU-KI for emacs-devel@gnu.org; Mon, 06 Mar 2023 07:24:17 -0500 Original-Received: by mail-wm1-x330.google.com with SMTP id ay29-20020a05600c1e1d00b003e9f4c2b623so8034760wmb.3 for ; Mon, 06 Mar 2023 04:23:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678105381; h=mime-version:face:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=kKrEF9+kByvTHHGwzSM16RU3VJH3Rv65+QYjiES0S/I=; b=MwQg0M6fRU3MBdvu/notqDFfK/jchSSau+rFV88artKJC0UEPdhHFqckzQFlyvD004 OcjB26ZfGsyWuCZUMwsR+z+YZCujBnrTxFWEblZRsuhluJAe9qQQnU5SV6NUY7r980a/ P9q5Fjaje31tOVFP22aa+MjXZfZHC0RTpC1CQ05sa840yTpDIyEN+EaGePbS4hUxlu8I 1KZp8QlG0U2PJX7yslN2CaxAIAYLCC9vFyMiRHwv3igpnFtYGyuqp4FN3T537AjjBRHX HDMRGHo+Y/ebUU7GZSxnKkTDCwlcBGL3rlCYGfYfDtB+mZ645lGweiMxlsXiKPafM/hp ti1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678105381; h=mime-version:face:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=kKrEF9+kByvTHHGwzSM16RU3VJH3Rv65+QYjiES0S/I=; b=Ep8MI8E0ew3cpEyv7F9Q3iODLet58/gro/eydLecoaaUUMYNPJ3f95Gn59xhzI6oLi bYobU/+Am6HIVxOKTiqfNZnuivqtP5VqdmScUSMQmK3u2Kz/lglQdvG+F4/3Q/m0PQY9 XHSlBO/jezNil5upiBTRGDNzsnZkfHZRRJJaZ5vMohhiGgI46jZL2y15Zt1D8qNXfYwh XTq2xMZyU9Sh2m4BHt/ZHIO8U+l1rMN+Sz4vasH1Dk9IbGgCyADK+Ywj0hX08CgG6QmW ZHu6q/Kv4j9iKQvvzP01XN0sFZq9dN3ewnBbjDITKkqqRN2bQASkS095NjUmauwsYoXO m6JA== X-Gm-Message-State: AO0yUKXVhO1kReKueYGL92HhCRaJfJHd23sAqKp0DGz/umxhwFJrWJBV /Kvs3vFCShtRHCcNemFJu+sBFmES4Hk= X-Google-Smtp-Source: AK7set95ABVDocL4UydD+7BgN4zHt+fDVklOO2XMaR8nXt0Jl47172q2IeDr9UE/bJPFU8ggZOy1Bw== X-Received: by 2002:a05:600c:470d:b0:3e8:f27b:a92c with SMTP id v13-20020a05600c470d00b003e8f27ba92cmr9129988wmo.32.1678105380675; Mon, 06 Mar 2023 04:23:00 -0800 (PST) Original-Received: from betli.gmail.com (catv-86-101-66-128.catv.fixed.vodafone.hu. [86.101.66.128]) by smtp.gmail.com with ESMTPSA id p20-20020a05600c205400b003e8dcc67bdesm13460114wmg.30.2023.03.06.04.22.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Mar 2023 04:23:00 -0800 (PST) In-Reply-To: (John Yates's message of "Sun, 5 Mar 2023 18:40:58 -0500") Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEU2EgDVmFNHKAa4dz4q AwCDUSH2zWrE61tmAAACeklEQVQ4jU2UwY7jIAyGEZN5ABSFc9Ytcx6K6DmqmHsD8tyZKrz/I+xv yI6WKlHlj982tomiVckiWrUrgRU5jlqMpJKCkch5W419DQAiQGHDxdrWmm0/2kXCApiUmrZLq20s cjexq3VL25QuxjY7wOcJVEpb+jLeGLAK+OMyaa1hx9rFbkwHFWBVA2y8w1wHaLE7GuDdw5cEuOM5 SLIdrpwBkN0ezwI7nYoiilqthbcYc89KgC5+NnaOHGbZz0T6BCEgOLJ0vmYXuNdPAIXgDZJhF2Yu fjnPNwAsoUTUN/P8q3AAyz4zB/xmifEfiIbvS4jh7b7QqZiSm4MJC5kXNpCRaOsoyQXAMN2XCJfs j94NKfo7ACKUEgKE3y+Sg4jibUZ1A0jgYpxtvYMC3gHaHPq6x32ACeALIZoZxB+l9VrRNIA1ncRg wwC8pvQIvYO+a2yt3VXMVyli6L0VV6aOrJa4CpilVQA+eHt0xavk61akih5BUMay/0BAqu783C5h FifY/3QsAIoWYk6PgpwAzLI652+96e2IfN2cF+BD1uT23F21Ghh5OUl4RlO15oh5A2iv+Zk2wsjZ 2DtB5Sm3A4P0+kyb2vs4iEW7G9ohoN3Stl2kVat6MCkXldo6OKaE8P6GhmrKKxWZXQH1iklhhn+d iVeNf6mDdkV0ltFwApRbp+kXSGBFHGV2aPqnIIyQyzhD5n47khqKI08bIapcas4O+hPkct20NAEv ALRuZFUp3PrnQSAm+4lTdHCsYYZ/nGqQrM5z3NS3zefFxkfFPRFbsjpIfbTlvF3ibpVZQ9nzqv60 F/KXSRLJ1AGappJulZll70N/qz6EfwEOCdYOuTHAzAAAAABJRU5ErkJggg== Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=felician.nemeth@gmail.com; helo=mail-wm1-x330.google.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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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:304033 Archived-At: Can you, please, consider adding more than just one new xref command? The Language Server Protocol defines jump-to-declaration, jump-to-implementation, and jump-to-typeDefinition commands as well. ---- I can image a new xref-find-extra command that provides a `tmm-menubar'-like single key selection for the specific jump type. The list of jump-types could be filled up by Eglot or major-modes (ada-mode would add "specifications", ocaml-mode would add "interface"). If C-M-? is bound to this new xref-find-extra, then "C-M-? i" would jump to the interface definition in ada-mode, and "C-M-? d" would ask the LSP server for declarations in case of Eglot. (Users who find "C-M-?" awkward can rebind xref-find-extra to "s-.") What do you think?