-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Missing reference documentation for configuration parameters #13178
Comments
Can someone add the |
Here is a proof of concept. Is there any other way I or someone else can assist the implementation? |
The code that generates the config is this. |
Based on what is happening in #13529, #17058 and #17101 it seems to me that there will be multiple ways to configure r-a. I would like to state my current opinion on requirements of an improved reference documentation. RequirementsThe overall goal is to provide a better usability for everyone. 1 CompletenessAll parameters must be documented. 2 DiscoverabilityThe intention is to give users the possibility to search for what they need with their own tools (e.g. browser built-in page search) and to not force them to use an opinionated, even perhaps subpar, html+js search bar. To achieve this the reference documentation needs to provide these two types of pages:
Both types of pages must have a table of contents. The second type of page could be substituted by a page containing only a table of contents linking to parameters of that scope. 3 Referenceabilityr-a currently has 175 config options. The documentation pages will be long. |
We will want to automate the generation of web docs and vscode package.json config options. |
I doubt that everyone has access to the latest version of r-a. |
Yes, this is absolutely on my list of things to target next, the documentation / manual hasn't been kept up to date with things and general deserves some love, especially with the introduction of the rust-analyzer.toml now as you pointed out. I'm planning on getting #15795 merged next week at which point we can start tackling the things you've laid out here (and more). Thanks a lot for stating your opinion here :) |
FYI I updated the proof of concept package.json renderer to work with multiple configurations. See nightly for a preview. |
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:
cachePriming.numThreads
is lacking that this parameter only accepts values between 0 and 255.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 thepackage.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?
The text was updated successfully, but these errors were encountered: