mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-24 07:44:10 +00:00
document feature flags
This commit is contained in:
parent
c02f1165ca
commit
dc65219ae1
@ -1,4 +1,11 @@
|
||||
//! FIXME: write short doc here
|
||||
//! Config used by the language server.
|
||||
//!
|
||||
//! We currently get this config from `initialize` LSP request, which is not the
|
||||
//! best way to do it, but was the simplest thing we could implement.
|
||||
//!
|
||||
//! Of particular interest is the `feature_flags` hash map: while other fields
|
||||
//! configure the server itself, feature flags are passed into analysis, and
|
||||
//! tweak things like automatic insertion of `()` in completions.
|
||||
|
||||
use rustc_hash::FxHashMap;
|
||||
|
||||
@ -72,10 +79,7 @@ mod test {
|
||||
assert_eq!(default, serde_json::from_str(r#"{}"#).unwrap());
|
||||
assert_eq!(
|
||||
default,
|
||||
serde_json::from_str(
|
||||
r#"{"publishDecorations":null, "showWorkspaceLoaded":null, "lruCapacity":null}"#
|
||||
)
|
||||
.unwrap()
|
||||
serde_json::from_str(r#"{"publishDecorations":null, "lruCapacity":null}"#).unwrap()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -83,8 +83,6 @@ host.
|
||||
### Settings
|
||||
|
||||
* `rust-analyzer.highlightingOn`: enables experimental syntax highlighting
|
||||
* `rust-analyzer.showWorkspaceLoadedNotification`: to ease troubleshooting, a
|
||||
notification is shown by default when a workspace is loaded
|
||||
* `rust-analyzer.enableEnhancedTyping`: by default, rust-analyzer intercepts
|
||||
`Enter` key to make it easier to continue comments. Note that it may conflict with VIM emulation plugin.
|
||||
* `rust-analyzer.raLspServerPath`: path to `ra_lsp_server` executable
|
||||
@ -102,6 +100,17 @@ host.
|
||||
* `rust-analyzer.trace.server`: enables internal logging
|
||||
* `rust-analyzer.trace.cargo-watch`: enables cargo-watch logging
|
||||
* `RUST_SRC_PATH`: environment variable that overwrites the sysroot
|
||||
* `rust-analyzer.featureFlags` -- a JSON object to tweak fine-grained behavior:
|
||||
```js
|
||||
{
|
||||
// Show diagnostics produced by rust-analyzer itself.
|
||||
"lsp.diagnostics": true,
|
||||
// Automatically insert `()` and `<>` when completing functions and types.
|
||||
"completion.insertion.add-call-parenthesis": true,
|
||||
// Show notification when workspace is fully loaded
|
||||
"notifications.workspace-loaded": true,
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## Emacs
|
||||
|
@ -229,11 +229,6 @@
|
||||
"description": "A list of patterns for cargo-watch to ignore (will be passed as `--ignore`)",
|
||||
"default": []
|
||||
},
|
||||
"rust-analyzer.showWorkspaceLoadedNotification": {
|
||||
"type": "boolean",
|
||||
"description": "Controls whether rust-analyzer displays a notification when a project is loaded.",
|
||||
"default": false
|
||||
},
|
||||
"rust-analyzer.trace.server": {
|
||||
"type": "string",
|
||||
"scope": "window",
|
||||
|
@ -20,7 +20,6 @@ export class Config {
|
||||
public rainbowHighlightingOn = false;
|
||||
public enableEnhancedTyping = true;
|
||||
public raLspServerPath = RA_LSP_DEBUG || 'ra_lsp_server';
|
||||
public showWorkspaceLoadedNotification = true;
|
||||
public lruCapacity: null | number = null;
|
||||
public displayInlayHints = true;
|
||||
public maxInlayHintLength: null | number = null;
|
||||
@ -56,12 +55,6 @@ export class Config {
|
||||
) as boolean;
|
||||
}
|
||||
|
||||
if (config.has('showWorkspaceLoadedNotification')) {
|
||||
this.showWorkspaceLoadedNotification = config.get(
|
||||
'showWorkspaceLoadedNotification'
|
||||
) as boolean;
|
||||
}
|
||||
|
||||
if (!this.highlightingOn && Server) {
|
||||
Server.highlighter.removeHighlights();
|
||||
}
|
||||
|
@ -42,8 +42,6 @@ export class Server {
|
||||
documentSelector: [{ scheme: 'file', language: 'rust' }],
|
||||
initializationOptions: {
|
||||
publishDecorations: true,
|
||||
showWorkspaceLoaded:
|
||||
Server.config.showWorkspaceLoadedNotification,
|
||||
lruCapacity: Server.config.lruCapacity,
|
||||
excludeGlobs: Server.config.excludeGlobs,
|
||||
useClientWatching: Server.config.useClientWatching,
|
||||
|
Loading…
Reference in New Issue
Block a user