From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a37:98e:: with SMTP id 136mr4289750qkj.184.1572091879564; Sat, 26 Oct 2019 05:11:19 -0700 (PDT) X-Received: by 2002:aca:5d8a:: with SMTP id r132mr6647218oib.119.1572091879135; Sat, 26 Oct 2019 05:11:19 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!j16no1870386qtl.0!news-out.google.com!x7ni1120qtf.0!nntp.google.com!j16no1870375qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sat, 26 Oct 2019 05:11:18 -0700 (PDT) In-Reply-To: <8b0c4264-13c0-4a48-84e6-239d266acd2a@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=91.169.209.222; posting-account=6yLzewoAAABoisbSsCJH1SPMc9UrfXBH NNTP-Posting-Host: 91.169.209.222 References: <8b0c4264-13c0-4a48-84e6-239d266acd2a@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <12b621c4-a346-492b-93f9-5b185c0f9f2a@googlegroups.com> Subject: Re: compiling GPS (aka GNAT Studio!) from source From: briot.emmanuel@gmail.com Injection-Date: Sat, 26 Oct 2019 12:11:19 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:57349 Date: 2019-10-26T05:11:18-07:00 List-Id: > I found the indent code; it's in https://github.com/AdaCore/libadalang-to= ols src/pp-actions.adb Likely it is the same code used by gnatpp, which was rewritten last year to use libadalang, I believe. It likely has far less configuration options than the Emacs ada-mode does, but it would be nice to share the code noneth= eless, and perhaps suggest new configs to AdaCore. Ultimately, the language server protocol also supports "formatting", and I think the GNAT Studio team intends to use that for GPS down the line. It would be awesome if all tools supported the same indentation engine and switches, that would allow users to better switch editors (even vim support= s the Language Server Protocol, via multiple plugins). > Yes, but LSP does not support indent, face (as documented in ada-mode.inf= o). I don't remember if it supports all the cross-reference actions used by= ada-mode. I think it does, if you check https://langserver.org/. "indent" is called "formatting". Of course the Ada server doesn't yet suppo= rt everything... I have been using libadalang extensively to parse our 2+ million lines of c= ode and generate input/output subprograms for out types, and I think there = was one case where it wasn't able to resolve a type, and this is with a few= months old libadalang. So I am really hopeful this is the right technology= , even when the sources do not compile yet. > I should be able to implement an ada-mode backend using libadalang-tools. What are the Emacs plugins for the Language Server Protocol ? Emmanuel