Could anyone with more knowledge please explain what this is and how one might utilize it? Fwiw, I’m deeply familiar with Bash; I just don’t recognize the rest.
Could anyone with more knowledge please explain what this is and how one might utilize it? Fwiw, I’m deeply familiar with Bash; I just don’t recognize the rest.
With that, any editor that supports Language Servers can use those to provide better support to a language without implementing any details.
In this case, you can see some of the supported editors in the README itself: https://github.com/bash-lsp/bash-language-server#clients
The idea is also not new - python has had docstrings since the 90s. They never thought to show the full definition on hover or autocomplete, probably because it's noise most of the time, but a lot of people seem to like it.
You write a grammar in json and it gets compiled to a shared library via C.
LSP is _the_ way to write IDE integrations in the modern era.
(I maintain LSP tooling for F# and actively support at least half of the editors above)
There are also many different display/view methods that more sophisticated LSP implementations can implement. In my own LSP, we have different 'views' of the signatures/types/docs for
* hovers * signature completion * detailed type-level embedded docs in a separate pane
to name a few. It's entirely customizable.
If you're angry about it, feel free to produce something better.
These editors that have supposedly embraced LSP are perhaps throwing a bone to people who want to turn them into IDEs. If people don't use the LSPs, they keep the integrity of the editor - it is an editor, not an IDE. Whereas people who set up an LSP can go nuts. I'd like to see some stats about what % of neovim users are using an LSP plugin. I'm not.