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

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

Open
nartamonov opened this issue Jan 18, 2022 · 6 comments
Labels
type: documentation type: enhancement An enhancement to an already existing feature

Comments

@nartamonov
Copy link

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:

  • Try to discover new and useful commands via Command Palette (Ctrl+Shift+P). There are many available commands, they haven't any docs and it is not clear which commands belong to the extension.
  • Read the "Features" page from the HIE docs. It lists rather abstract features of the HIE itself, but doesn't mention how they connected to the VSCode extension. There are some demos but they cover advanced use-cases and don't mention basic commands like auto-completions, navigating, find usages, import identifier and so on.

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 jneira added type: documentation type: enhancement An enhancement to an already existing feature labels Jan 18, 2022
@jneira
Copy link
Member

jneira commented Jan 18, 2022

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
Copy link

malteneuss commented Jan 19, 2022

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
Copy link
Member

jneira commented Jan 20, 2022

We've opened haskell/haskell-language-server#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 haskell/haskell-language-server#2603 + haskell/haskell-language-server#2613 do not fullfill your original request

@jneira jneira closed this as completed Jan 20, 2022
@michaelpj
Copy link
Contributor

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
Copy link
Contributor

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

@jneira
Copy link
Member

jneira commented Jan 20, 2022

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

@jneira jneira reopened this Jan 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: documentation type: enhancement An enhancement to an already existing feature
Projects
None yet
Development

No branches or pull requests

4 participants