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

Join forces with Bash IDE #920

Open
felipecrs opened this issue Feb 5, 2023 · 3 comments
Open

Join forces with Bash IDE #920

felipecrs opened this issue Feb 5, 2023 · 3 comments

Comments

@felipecrs
Copy link
Collaborator

felipecrs commented Feb 5, 2023

I would love our two projects to join forces that all editors (Atom, Eclipse, Emacs, Helix, JupyterLab, Neovim, Sublime Text, Vim, Visual Studio Code, Oni, and editors that I forgot) can get the same great shellcheck linting experience as provided by vscode-shellcheck. ;)

Originally posted by @skovhus in #916 (comment)

An alternative would be to join forces and ensure that all editors get a great ShellCheck experience. Your great extension has a few feature that we currently do not support in the bash language server, but it should be too hard to add.

Originally posted by @skovhus in bash-lsp/bash-language-server#711 (comment)

Thus, I'm opening this thread for discussing this. The Bash IDE repository can be found at https://github.com/bash-lsp/bash-language-server.

@felipecrs
Copy link
Collaborator Author

@skovhus I also think that providing a single, better maintained extension would provide a better experience for end-users.

However, just to be clear, we're talking about deprecating vscode-shellcheck in favor of Bash IDE. Right?

As you mentioned, at the moment Bash IDE lacks some features that are present in VS Code ShellCheck. The ones I can think of:

  • Ability to set whether to run ShellCheck on type, on save, or manually. I don't personally use this feature though, as I always keep it on type.
  • Bundled ShellCheck binaries for a great out of the box experience, including distribution of platform specific .vsix packages.
  • Fix all auto-fixable errors in one command, or on save.
  • Grammar for .shellcheckrc files.
  • Support for alternative shells as ShellCheck does (namely sh (POSIX), dash and ksh).

@timonwong what's your opinion about this?

@skovhus
Copy link

skovhus commented Feb 5, 2023

Thanks for writing this up.

There could like be some features that is harder or not possible to do with an language server protocol (LSP) server compared to a vscode extension. I'm not 100% on this, but I'm unsure on how to provide grammar for .shellcheckrc files for example – while it definitely might be possible.

However, just to be clear, we're talking about deprecating vscode-shellcheck in favor of Bash IDE. Right?

As bash language server has a much wider scope and is applicable to all editors following the LSP protocol – eventually deprecating vscode-shellcheck could be natural step. Similar idea presented in #114.

But I also see a world where the two projects could co-exist and share fundamentals (like ShellCheck binaries) and features. As mentioned the fact that vscode-shellcheck is a vscode only extension does give some flexibility compare to bash-language-server that follows the language server protocol.

As for the features lacking then I believe your list it correct, although we do support alternatives shells based on the shebang and file extension of the file.

@felipecrs
Copy link
Collaborator Author

I'm not 100% on this, but I'm unsure on how to provide grammar for .shellcheckrc files for example – while it definitely might be possible.

It should be possible as part of the VS Code client only, at least in worst case. Anyway, grammar for this file that such a meaningful feature.

although we do support alternatives shells based on the shebang and file extension of the file.

Well, that's great then!

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

2 participants