Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Language Server Protocol #37

Closed
keplersj opened this issue Mar 9, 2018 · 2 comments
Closed

[Feature Request] Language Server Protocol #37

keplersj opened this issue Mar 9, 2018 · 2 comments
Labels

Comments

@keplersj
Copy link

keplersj commented Mar 9, 2018

For easier editor integration the Language Server Protocol can be used for lint tools like this.

See:
VSCode's TSLint LSP Server
VSCode's ESLint LSP Server

For Scry we have a Crystal implementation of the protocol, and I believe that this would be a very good reason to modularize it as a lsp shard.

/cc @faustinoaq

@veelenga
Copy link
Member

veelenga commented Mar 9, 2018

I don't think Ameba should have its own implementation of lsp or depend on it. The tools like Scry (which already implements LSP) can just use Ameba. Just the same way like Scry already uses Crystal.format and crystal build tools.

Instead, it seems to be a question of a data format. Ameba uses Formatters for a different kind of output formats. For example, this emacs plugin depends on a FlycheckFormatter.

So we can add a new formatter suitable for the needs of Scry or other LSP implementations.

@veelenga
Copy link
Member

veelenga commented Mar 9, 2018

Here is an example of how this works in ruby together with Rubocop:

https://github.com/mtsmfm/language_server-ruby/blob/2349981fbd625038bd55333d39caa3646dcad987/lib/language_server/linter/rubocop.rb

I am going to add JSON formatter #38. Anyway, it was planned to be added to let it be usable with ale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants