From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Chinmay Dalal Newsgroups: gmane.emacs.devel Subject: Re: Eglot "inlay hints" landed Date: Fri, 24 Feb 2023 09:50:47 +0530 Message-ID: References: <83edqqaf8c.fsf@gnu.org> <2B284D77-97DF-4B3E-89FB-13F0CA93D240@gmail.com> <87356xv65z.fsf_-_@gmail.com> <87zg94kvoq.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12727"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.9.1; emacs 30.0.50 Cc: Nikola Pajkovsky , emacs-devel@gnu.org, Dimitri Belopopsky , Po Lu , Eli Zaretskii To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Feb 24 07:40:26 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 1pVRko-00034j-0m for ged-emacs-devel@m.gmane-mx.org; Fri, 24 Feb 2023 07:40:26 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pVRkD-0004gc-A9; Fri, 24 Feb 2023 01:39:49 -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 1pVPjX-0007AM-52 for emacs-devel@gnu.org; Thu, 23 Feb 2023 23:30:59 -0500 Original-Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pVPjV-0005Yl-Fj; Thu, 23 Feb 2023 23:30:58 -0500 Original-Received: by mail-pf1-x42c.google.com with SMTP id cb13so7141496pfb.5; Thu, 23 Feb 2023 20:30:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:in-reply-to:date:subject:cc:to:from :user-agent:references:from:to:cc:subject:date:message-id:reply-to; bh=QkU21NRL5C8fvoX9yXTrD3gD9YNBHnvUDrsO28pPkgA=; b=T3cOcg4aZnlLsSQkvnb2ILZmoXYmN+7A+d8oA/0fSyg4ga3GvDFk9eXxatvYFl+Jx9 8U4+x6AIUMQjgdnpata8P6bpdVuq5DgDl1+75Qg5CS4qiIx3Rx0TihyEjggApSg303nq ghRYud7tws5mbrUlsYFl6gcJla0u24RWwSQ6DXwBnqoW2x0ev9Pa7uC0/nzqc9sCsyVA QuCpQBJVOjaTqMYJlZFzFhJNeso3znouY68OqV9LSA4W6X3O9PnqLYPxDVyRNml8+zcH bHADheaPsmPmmLSEDHWAochPMcAz84qYDiF6kkzg1hUPlvn8c8dGE8ON06CQVBqsfDEG LqvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:in-reply-to:date:subject:cc:to:from :user-agent:references:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=QkU21NRL5C8fvoX9yXTrD3gD9YNBHnvUDrsO28pPkgA=; b=wkr/O+GmG2rUYVQZ5ML49rsCYgV1sVwPgOLjwrn7GcUYMKu+rfKu2DvGR5CQtwukWq qx0iJIBigMpY44K3OPpvaIDS1V8MJMTaPJzV0M+lAFmdg+SOBf3TOpkXnrOwTmS1rWgc JAum+bcPxF98o6kE8pIEQ8T8hkuVYMig7/FQHIM7PtT7yaOTMoHgxCnaKWIDfY7g1qXw xfkjMI4LbPD5IL9aqVJyOx8W+L9ew38lvskk9oX+iP4iFzJ53Z2jxeQVhjTraW9zDJaw QH1PXsnJlGsv/N8az1tAInfx2tVJkrQmN5BEvDa0dNIJRliXjErUhYGofefwaSUX+oDL GCGQ== X-Gm-Message-State: AO0yUKVFkpmqB+zK7xBMqYuwc+nZOio+Xc2H4BmRdPnC5CtZQkFFEViG Gxe6KvTGOtWl1ehJsiFURtpzGEfUA6Y2Mw== X-Google-Smtp-Source: AK7set9VnE2zfi4mJr2SORq4k0vYoU6DIazwAg0PAWBc3jtpll7J2z5cufi8KJNQMZFQ1oVJMTuy7Q== X-Received: by 2002:a05:6a00:4205:b0:594:1f1c:3d3a with SMTP id cd5-20020a056a00420500b005941f1c3d3amr13689994pfb.15.1677213055364; Thu, 23 Feb 2023 20:30:55 -0800 (PST) Original-Received: from ganymede ([14.98.244.193]) by smtp.gmail.com with ESMTPSA id b21-20020a6567d5000000b00476dc914262sm7016573pgs.1.2023.02.23.20.30.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Feb 2023 20:30:54 -0800 (PST) In-reply-to: Received-SPF: pass client-ip=2607:f8b0:4864:20::42c; envelope-from=dalal.chinmay.0101@gmail.com; helo=mail-pf1-x42c.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, 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-Mailman-Approved-At: Fri, 24 Feb 2023 01:39:45 -0500 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:303737 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Jo=C3=A3o T=C3=A1vora writes: > On Thu, Feb 23, 2023 at 7:50 PM Nikola Pajkovsky = wrote: >> >> Jo=C3=A3o T=C3=A1vora writes: >> >> > I've just landed Eglot "inlay hints" on lisp/progmodes/eglot.el in the >> > emacs-29 branch. It's a feature that some users (including me) were >> > looking for for some time. >> >> Nice work Jo=C3=A3o! >> >> I tried rust inlay hints, and it does not work for me. I bet it's because >> eglot uses label only if it's string. The same problem was in lsp-mode. > > Actually, I think I have code for that. So please show a reproduction > recipe. I think someone reported here that hints are working > correctly with rust-analyzer, and I've tried it briefly myself with good > results. So it must be something else. > > Jo=C3=A3o You can look at the end of any long rust function with hl-line-mode on: there's an empty overlay but it's supposed to have a link to the beginning of the function. Screenshot attached. I think the bug is in eglot--update-hints-1: (if (stringp label) label (plist-get label :value)) It should instead be the value of :value from the _first element_ of label, as the spec says a label is a string or a _list of_ `InlayHintLabelP= art`s: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.1= 7/specification/#inlayHint The response from the server is of this form: (:position (:line 95 :character 1) :label [(:value "fn keyboard_interrupt_handler" :location (:uri "file:///home/chinmay/stuff/rust/blog_os/src/inte= rrupts.rs" :range (:start (:line 67 :character 26) :end (:line 67 :character 52))))] :tooltip "fn keyboard_interrupt_handler" :paddingLeft t :paddingRight :json-false) --=-=-= Content-Type: image/png Content-Disposition: attachment; filename=swappy-20230224-100015.png Content-Transfer-Encoding: base64 Content-Description: empty overlay iVBORw0KGgoAAAANSUhEUgAAAGwAAABKCAIAAADR8SaxAAAAA3NCSVQICAjb4U/gAAAFSElEQVR4 nO2aXUxbZRjHn552paWMr5byEVuo2lJFkOEYUzAYoSHEhsBiEwMJ0Rsx8YIQDFksn+UGrwjhihgE 0ZSvQbigIIkXIG4M4QICDaFCJ+2KllJCLdCN1tWLLotBcK19OK3m/V2drz7PP7++55w35xyGWCyG cMVkMoU6gl9QoQ7wf4BIRIBIRIBIRIBIRIAZExNDT6fo6GiVSqVUKh0Oh9Vq9ecnDofjslOhwKKn jVQqVSqVERER9LSjGTpO54KCApVKdXBwMDY2RkM7+qFjJO7s7CwsLMzNzSUkJNDQjn7okGg2m81m Mw2NQgW5OyNAJCJAJCJAJCJAJCJAJCJAJCJAJCJAJCJAJCLAIC+qgoeMRASIRASIRASIRASIRASe PpTNzc0NbY5z2dnZ+Ye9DAYjoGqv3ywNLs6FkJGIQLhLfOT2OFyPQ53iOdD0yvRfM7tpvn1nLo7H UWa99Mk72byIK6FOdA7hPhKzRcLmsrdy05K+va//eGDG88eTUCc6B5yRWFdXl5+ff2Zjf3//5OSk b1kikVRXV6enp1MUZTQaBwcH19bW/KmcFMO7lSO7lSMb+mmjY2rx7palMF2EkhkROkaiUCjUaDSZ mZlsNpvFYslkssbGRolEElCRQpkIAH51HF1OxqDAvCbqdLq+vr6/b1coFFwu12aztba2ejwetVot FovLysq6urr8L/7jlgUAXhbGocXFg46R6HK5lpaWRkdHrVar3W6fnZ0FgJSUlICKfLOglybGvZGa dCkRg4OOu/P4+PhfV7lcLgAcHx/7X2H/yGWy//7pu9cCnF/TBKbEwsLC4uJiiqIMBsPAwMD29vaZ AyiKkslkJSUlADA/P+9/ZR77CpOifnME4J1OMCVGRUX5FjIyMtra2urr6898h6jRaORyOQDodDrf Se0nXDbrgxvywcWNqxy24tU0SUJMJDuMJoyY10Sn01lXV1dTU2OxWDgcTnl5+UVHCgQCFiuw/++z khsf5r/Wf3e96svJHwwPgw6LCY5Eq9VqNBqnp6fNZrPdbp+ZmQGArKysM4e1traq1eq9vb28vLzK ysqAWny/8cvX9/TZYqFa+Wa2SIgSGwsciVqttqGhYWRkxLfq+5AuPj7+zGEej2dzc7O3txcAFAoF k8n0s/4Tr/eLqcVrYuFXH5WqrqcnxfBQYmNBxxSHyWQymcxnT66MRiMAcDgcPp/vZ4V9p2v/yPW2 9AUqLG/POBJra2s7Ozt9t10ASE1NBYCDgwMAYDAYWq12eHj42dkdF/d0wuxyufysf5XDphiMB/th +h08jkSbzSYSiSoqKpKTkxMTE0tLSwFgZWUFALxer8FgAACVSsXn82NjY6uqqgDAZDI5nU4/63PZ rFxJ8nfrD44enaIExgVnijM1NVVUVCQQCLq7u31bTk5OJiYmfMtDQ0MtLS1yubynp8e3xev1arXa gFq8f122aNxd2N5VZKShZEYEZyQeHh42Nzevrq663e7T09PV1dWmpiabzebbq9fr29raNjY23G63 x+PZ2trq6OhYXl4OqEVGigAA7Mf+XgHoBG2ybbFY2tvbL9qr1+ubmpqCqX/fuAsA4vjoYIpcEuH+ ZPv4sXt773DOYB64t56eFJ/3YnKoE51DuEuc//nh7TtzDAYUv5L2+Xs3mVQ4PooPd4k54sSe6hJp Ylw8jxPqLBcS7hKF0ZHC6MhQp3gO4Xh2/Ocg3yciQEYiAkQiAkQiAkQiAkQiAkQiAkQiAkQiAkQi AkQiAkQiAkQiAkQiAkQiAkQiAkQiAkQiAkQiAkQiAkQiAn8CC6qR+HgEmoIAAAAASUVORK5CYII= --=-=-=--