haskell / vscode-haskell

VS Code extension for Haskell, powered by haskell-language-server
https://marketplace.visualstudio.com/items?itemName=haskell.haskell
Other
560 stars 90 forks source link

Document the commands provided by the extension and corresponding key bindings #525

Open nartamonov opened 2 years ago

nartamonov commented 2 years ago

There are no comprehensive manuals that list the commands provided by the extension, their meaning and corresponding key bindings. So it's problematic to discover functionality of the plugin. When new user installs the extension he has few inconvenient options:

Personally, it would be very helpful to me to have a separate documentation page listing the available commands, default key-bindings, their meaning and corresponding demos (if exists). For example, I spent a lot of time to discover that there are 'Haskell: import identifier' command that is capable to search identifiers not only in locally-installed modules but in the whole hackage database.

jneira commented 2 years ago

That would be really helpful. If possible it would be great to make it editor generic and put it in hls, at least partially.

malteneuss commented 2 years ago

Would it be possible to provide in a structured form the (keybindings in vscode <-> LSP Protocoll functions), do the same in the haskell language server for (LSP Protocoll <-> Descriptions, Status, other Info), and then to combine both to generate a (keybindings in vscode <-> Descriptions, Status, other Info) Table? That could be repeated for every HLS client in other editors.

jneira commented 2 years ago

We've opened https://github.com/haskell/haskell-language-server/issues/2613 in the server repo, to track all editors. So if you dont min i am gonna close this one, feel free to reopen if you think https://github.com/haskell/haskell-language-server/pull/2603 + https://github.com/haskell/haskell-language-server/issues/2613 do not fullfill your original request

michaelpj commented 2 years ago

FWIW I think even if we documented them in HLS we should also document them here. It makes more sense for the client to have the source of truth on keybindings!

michaelpj commented 2 years ago

Even if it just says "consult the VSCode documentation here for the typical keybindings".

jneira commented 2 years ago

oh sure, will be reopen to track its inclusion here, thanks!