Skip to content

Manual needs to be more helpful, friendly, and better organized #9504

@matklad

Description

@matklad

rust-analyzer manual is pretty long: https://rust-analyzer.github.io/manual.html

It's useful as a reference, but is quite intimidating if you want to learn the tool. We should improve this, both in terms of logical organization, and in terms of HTML&CSS rendering. I am not experienced with it, so help would be much appreciated.

I think ideally the manual shows a short pit of success, while giving the links to in-depth reference material. Here's a structure I have in mind:

First is quick start, which suggests choosing an editor (VS Code, Vim, Emacs). For a specific editor, we have a single blessed setup. After the setup, we have a short section show-casing the most important features (worksapce symbol, go to definiton, extend selection, running tests, triggering assists). This should be duplicated for editor, and serves two purposes -- teaches about the features and allows the new user to verify if the stuff is working. Aftre quick start and show case, we show how to configure rust-analyzer in the specific editor. After that, we show alterntive setups

After per-editor quick start, we probably want to re-create show case, with the emprasis on how it looks and why it is useful, rather than on which shourtcur do you use to trigger this.

After universal show-case, we should have an index of features, which leads to specific pages for diagnostics, assists, etc.

After that, we should have troubleshooting and other stuff.

As I've said, I am not an expert at this: if you think you see a better way to do this, feel free to suggest. The source for manual lives here: https://github.com/rust-analyzer/rust-analyzer/tree/master/docs/user.

It is render to a web document here: https://github.com/rust-analyzer/rust-analyzer.github.io

The code to move the manual from the first place to the second place is here: https://github.com/rust-analyzer/rust-analyzer/blob/91bfa4b154a9776a57f25071f03e68d4f9f5ef35/xtask/src/release.rs#L25-L50

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-documentationdocs for rust-analyzer usage/inner workingE-has-instructionsIssue has some instructions and pointers to code to get startedfunA technically challenging issue with high impact

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions