question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Proposal: More LSP friendly package names

See original GitHub issue

We’re working to further LSP-ify our language services and server in preparation for monaco and an improved LSP interface and experience (see: https://github.com/graphql/graphiql/project/6).

(Edit: Revised, as npm will not allow us to publish both graphql-language-service and graphql-languageservice)

Overall, we need graphql-language-service to refer to a runtime agnostic service, and for the CLI to become another package with an explicit name, such as graphql-language-service-cli

Deprecating the binary

To transition users from the graphql bin included in graphql-language-service, the new graphql-language-service package will include a bin temporarily that just stderrs to install the new cli package, as I’ve seen webpack do.

CLI Usage Notes

image

The GraphQL Language Service has taken off in terms of usage, however by comparison to our other packages in the monorepo it’s still the least installed. That said, it’s often installed as a global bin, so usage will be different.

Also, to note, I’ve seen a few implementations of it that bundle the packaged bin manually with whatever IDE plugin that uses it, as their actual IDE plugin code is written in python, lua, etc.

So, a significant amount of users could be impacted by this.

Renaming the bin

Another consideration is renaming the bin itself. graphql bin path is being used by graphql-cli, which we may end up using/reccomending for scaffolding plugins. After working with a wide range of IDE extension developers (not just vscode devs), LSP is very descriptive.

So, I reccomend changing the bin as such:

graphql => graphql-lsp

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
rebornixcommented, Mar 6, 2020

consider a full document persistence layer in the language service, alongside the cacheing

Maybe you are considering doing that: once having a document cache in the language server side, you may want to turn on document incremental sync mode to reduce the communication payload.

Besides, if you don’t want to implement a document store yourself, you can use the VS Code one https://github.com/microsoft/vscode-textbuffer .

0reactions
acaocommented, May 29, 2020

done!

Read more comments on GitHub >

github_iconTop Results From Across the Web

VonHeikemen/lsp-zero.nvim: A starting point to setup ... - GitHub
The purpose of this plugin is to bundle all the "boilerplate code" necessary to have nvim-cmp (a popular completion engine) and the LSP...
Read more >
Language Server Protocol Specification - 3.17
This document describes the 3.17.x version of the language server protocol. An implementation for node of the 3.17.x version of the protocol can...
Read more >
Language Server Protocol Tutorial: From VSCode to Vim
We need a framework to make the editor an LSP client. Type “Package Control: Install Package” and hit enter. Find the package “LSP”...
Read more >
Label Switched Path - an overview | ScienceDirect Topics
In the outputs, we can see that each ingress LSP has an associated P2MP LSP name identifying the NG-MVPN configured on the ingress...
Read more >
Show all apps menu flooded with LSP Modules after upgrade ...
find /usr -name "*lsp_plug*desktop" 2>/dev/null | cut -f 5 -d ... The package seems to be called lsp-plugins-vst , but I couldn't remove...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found