rust-lang / rust-lang/rust-analyzer
Missing reference documentation for configuration parameters
Nobody has claimed this yet.
- 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:
- The entry of the number parameter
cachePriming.numThreadsis lacking that this parameter only accepts values between 0 and 255. - The entry of the enum parameter
lifetimeElisionHints.enableis 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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