comp.lang.ada
 help / color / mirror / Atom feed
From: briot.emmanuel@gmail.com
Subject: Re: compiling GPS (aka GNAT Studio!) from source
Date: Sat, 26 Oct 2019 05:11:18 -0700 (PDT)
Date: 2019-10-26T05:11:18-07:00	[thread overview]
Message-ID: <12b621c4-a346-492b-93f9-5b185c0f9f2a@googlegroups.com> (raw)
In-Reply-To: <8b0c4264-13c0-4a48-84e6-239d266acd2a@googlegroups.com>

> I found the indent code; it's in https://github.com/AdaCore/libadalang-tools 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 nonetheless, 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 supports
the Language Server Protocol, via multiple plugins).

> Yes, but LSP does not support indent, face (as documented in ada-mode.info). 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 support everything...

I have been using libadalang extensively to parse our 2+ million lines of code 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


  reply	other threads:[~2019-10-26 12:11 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-25 16:37 compiling GPS (aka GNAT Studio!) from source Stephen Leake
2019-10-25 16:59 ` Stephen Leake
2019-10-25 19:12 ` Dmitry A. Kazakov
2019-10-26  7:16   ` briot.emmanuel
2019-10-26 10:01     ` Stephen Leake
2019-10-26 12:11       ` briot.emmanuel [this message]
2019-10-27 16:07         ` Stephen Leake
2019-10-26 23:55   ` Steve Johnson
2019-10-27  0:10     ` Keith Thompson
2019-10-27  5:24     ` Keith Thompson
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox