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

Investigation: Use language server #114

Open
timonwong opened this issue Sep 2, 2020 · 5 comments
Open

Investigation: Use language server #114

timonwong opened this issue Sep 2, 2020 · 5 comments

Comments

@timonwong
Copy link
Member

No description provided.

@felipecrs
Copy link
Collaborator

@timonwong, could you elaborate?

@dseynhae
Copy link

dseynhae commented Oct 1, 2020

I have been impressed with the capabilities of the LanguageServer API:

  • The Perl extension makes for a very rich edit and debug experience based on the Perl::LanguageServer library (I think this library also includes the VS Code Debug Adaptor).
  • The Bash IDE is a language server extension that has a similar impact on my edit-based debugging..., based on the treesiter compiler...

I don't know enough of the architecture of the Bash IDE underlying compiler, nor have I looked for the foundation of shellchecker. But it seems to me that it would be great to have a common parser underneath, and then merge the capabilities for Editing/Outlining, Error Checking/Linting, Debugging in a common effort to support the **LSP (Language Server Protocol) ** with Debug Adaptor Protocol for Bash/Shell...

However.
shellchecker currently doesn't offer rich editing nor debugging capabilities, it supplies a rich set of "problems".
I didn't think that those are covered by LSP, are they???
I think it is time for me to dig a bit deeper in the VS Code architecture, before I make a fool of myself here...

@felipecrs
Copy link
Collaborator

felipecrs commented Oct 1, 2020

ESLint for example is delivered as a separate extension, only for lining purposes just the way this extension is.

JavaScript Debugger as well, just the way Bash Debug is.

So I still don't understand what else could be made for the ShellCheck extension that is not already covered by Bash IDE or Bash Debug.

I doubt that we should extend its functionalities beyond the original ShellCheck itself.

@dseynhae
Copy link

dseynhae commented Oct 1, 2020

So I still don't understand what else could be made for the ShellCheck extension that is not already covered by Bash IDE or Bash Debug.

I guess I was too focussed on my ignorance of the architecture, and not enough on the question that I have...
Ir is the same question you stated: What can the Language Server Protocol do for shellcheck?

The LSP enhances the EDITING experience (and combined with the DAP, the DEBUGGING experience).

But VS Code also does PROBLEM REPORTING, which, as far as I know, is independent of LSP/DAP???
And I believe that shellcheck is integrated with the PROBLEM REPORTING GUI through the correct TypeScript API??

But that is where my ignorance shines... I really haven't looked into the VS Code Extensions architecture...

@felipecrs
Copy link
Collaborator

What can the Language Server Protocol do for shellcheck?

Now it's much more clear. That's my doubt and I'm also ignorant in this sense.

And I believe that shellcheck is integrated with the PROBLEM REPORTING GUI through the correct TypeScript API??

I can't answer this yet, but probably @timonwong can.

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

No branches or pull requests

3 participants