rust-lang / rust-lang/rust-analyzer

Missing reference documentation for configuration parameters

Open
#13,178 8 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

A-documentation Broken Window
Dominant language
Rust
Stars
16.9k
Forks
2.2k
Avg merge
1d 12h
Merged PRs (30d)
72

Description

Possible values for the enum typed parameters and their descriptions are not shown in the rust analyzer manual.
In the Configuration section of the manual are only the names of configuration parameters, their description and their default value displayed.
The configuration parameters are not just booleans. They contain number and enum types too.
These two types are missing important parts of their documentation.

For example:

  1. The entry of the number parameter cachePriming.numThreads is lacking that this parameter only accepts values between 0 and 255.
  2. The entry of the enum parameter lifetimeElisionHints.enable is missing the possible values it can take and their descriptions.

No one is able to correctly guess what options it can hold and finding out the possible values is very time-consuming and impractical.
Right now I have to look into editors/code/package.json to get a look at all enum options and their descriptions.

The required information is technically already existent in that package.json. The most obvious solution would be to somehow generate the documentation from the package.json.

P.S.: I had to manually find out the anchors by looking at the html source. Is there any way to make this easier?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Compare the configuration section of the Rust Analyzer manual with the definitions in editors/code/package.json, especially cachePriming.numThreads and lifetimeElisionHints.enable. Trace how the manual’s configuration entries are produced, then document numeric constraints and enum values with their descriptions. Done means the manual exposes the available options and constraints currently present in package.json.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.