[Development] Requesting a module for Qt JSON RPC and Qt Language Server

Jason H jhihn at gmx.com
Mon Dec 16 17:43:06 CET 2019


Question: Will this have any overlap/impact on Qt Remote Objects?
https://doc.qt.io/qt-5/qtremoteobjects-index.html

While the docs says it is not RPC, if it's using similar concepts there might be overlap?


> Sent: Monday, December 16, 2019 at 10:39 AM
> From: "Ulf Hermann" <ulf.hermann at qt.io>
> To: "development at qt-project.org" <development at qt-project.org>
> Subject: [Development] Requesting a module for Qt JSON RPC and Qt Language Server
>
> Hi,
>
> I would like to request a new module and repository for an
> implementation of the JSON RPC and Language Server protocols:
>
> Name of the repository: qt/qtlanguageserver.git
> Description: An implementation of the language server protocol
> Responsible person: Ulf Hermann
> Gerrit user/email: ulf.hermann at qt.io
>
> You can see my previous work on this in the context of the QML language
> server here:
>
> https://codereview.qt-project.org/c/qt/qtdeclarative/+/243394
> https://codereview.qt-project.org/c/qt/qtdeclarative/+/233778
>
> The relevant specifications can be found at:
>
> https://www.jsonrpc.org/specification
> https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/
>
> The JSON RPC implementation might be moved to QtNetwork, instead. I'm
> eager to hear opinions on this. Mind that the JSON RPC protocol
> implementation doesn't depend on any network classes, but only on
> QIODevice. Indeed you can run many existing language servers over stdio.
>
> Mind also that the language server _protocol_ implementation shown in
> above changes can be used to build both language servers _and_ clients
> for language servers. The basic primitives are automatically generated
> from the specification itself.
>
> There currently is no good place for the language server code in any
> existing modules. We should not commit it to qtdeclarative, as it would
> be useful for a number of other applications, too:
>
> It turned out that we need a language server protocol implementation not
> only for the QML language server, but also for the language client in Qt
> Creator. Qt Creator is using its own, manually written, client-only,
> implementation right now. We should strive to maintain only one Qt-based
> language server protocol implementation.
>
> Another idea is to add rich support for CSS in the style editor of the
> designer by using some existing CSS language server. More generally, we
> could make the integration of existing Qt text editing facilities with
> language support (auto-completion, diagnostics, etc) easier by providing
> a generic language server API.
>
> best regards,
> Ulf Hermann
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development
>


More information about the Development mailing list