diff options
-rw-r--r-- | .vscode/launch.json | 8 | ||||
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | editors/code/package.json | 5 | ||||
-rw-r--r-- | editors/code/src/commands.ts | 14 | ||||
-rw-r--r-- | editors/code/src/config.ts | 3 | ||||
-rw-r--r-- | editors/code/src/main.ts | 1 |
6 files changed, 25 insertions, 8 deletions
diff --git a/.vscode/launch.json b/.vscode/launch.json index 7a2c033cb..8ca27d878 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json | |||
@@ -120,12 +120,6 @@ | |||
120 | "sourceMaps": true, | 120 | "sourceMaps": true, |
121 | "outFiles": [ "${workspaceFolder}/editors/code/out/tests/unit/**/*.js" ], | 121 | "outFiles": [ "${workspaceFolder}/editors/code/out/tests/unit/**/*.js" ], |
122 | "preLaunchTask": "Pretest" | 122 | "preLaunchTask": "Pretest" |
123 | }, | 123 | } |
124 | { | ||
125 | "name": "(Windows) Attach", | ||
126 | "type": "cppvsdbg", | ||
127 | "request": "attach", | ||
128 | "processId": "${command:pickProcess}" | ||
129 | } | ||
130 | ] | 124 | ] |
131 | } | 125 | } |
diff --git a/Cargo.toml b/Cargo.toml index a5f68f7fe..5278b5a16 100644 --- a/Cargo.toml +++ b/Cargo.toml | |||
@@ -4,7 +4,7 @@ members = [ "crates/*", "xtask/" ] | |||
4 | [profile.dev] | 4 | [profile.dev] |
5 | # disabling debug info speeds up builds a bunch, | 5 | # disabling debug info speeds up builds a bunch, |
6 | # and we don't rely on it for debugging that much. | 6 | # and we don't rely on it for debugging that much. |
7 | debug = 2 | 7 | debug = 0 |
8 | 8 | ||
9 | [profile.release] | 9 | [profile.release] |
10 | incremental = true | 10 | incremental = true |
diff --git a/editors/code/package.json b/editors/code/package.json index 3acc375f6..e6ceb235f 100644 --- a/editors/code/package.json +++ b/editors/code/package.json | |||
@@ -510,6 +510,11 @@ | |||
510 | "type": "boolean", | 510 | "type": "boolean", |
511 | "default": true | 511 | "default": true |
512 | }, | 512 | }, |
513 | "rust-analyzer.hoverActions.gotoTypeDef": { | ||
514 | "markdownDescription": "Whether to show `Go to Type Definition` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.", | ||
515 | "type": "boolean", | ||
516 | "default": true | ||
517 | }, | ||
513 | "rust-analyzer.linkedProjects": { | 518 | "rust-analyzer.linkedProjects": { |
514 | "markdownDescription": "Disable project auto-discovery in favor of explicitly specified set of projects. \nElements must be paths pointing to Cargo.toml, rust-project.json, or JSON objects in rust-project.json format", | 519 | "markdownDescription": "Disable project auto-discovery in favor of explicitly specified set of projects. \nElements must be paths pointing to Cargo.toml, rust-project.json, or JSON objects in rust-project.json format", |
515 | "type": "array", | 520 | "type": "array", |
diff --git a/editors/code/src/commands.ts b/editors/code/src/commands.ts index 3e9c3aa0e..48a25495f 100644 --- a/editors/code/src/commands.ts +++ b/editors/code/src/commands.ts | |||
@@ -353,6 +353,20 @@ export function applyActionGroup(_ctx: Ctx): Cmd { | |||
353 | }; | 353 | }; |
354 | } | 354 | } |
355 | 355 | ||
356 | export function gotoLocation(ctx: Ctx): Cmd { | ||
357 | return async (locationLink: lc.LocationLink) => { | ||
358 | const client = ctx.client; | ||
359 | if (client) { | ||
360 | const uri = client.protocol2CodeConverter.asUri(locationLink.targetUri); | ||
361 | let range = client.protocol2CodeConverter.asRange(locationLink.targetSelectionRange); | ||
362 | // collapse the range to a cursor position | ||
363 | range = range.with({ end: range.start }); | ||
364 | |||
365 | await vscode.window.showTextDocument(uri, { selection: range }); | ||
366 | } | ||
367 | }; | ||
368 | } | ||
369 | |||
356 | export function resolveCodeAction(ctx: Ctx): Cmd { | 370 | export function resolveCodeAction(ctx: Ctx): Cmd { |
357 | const client = ctx.client; | 371 | const client = ctx.client; |
358 | return async (params: ra.ResolveCodeActionParams) => { | 372 | return async (params: ra.ResolveCodeActionParams) => { |
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index 22ebdf636..9591d4fe3 100644 --- a/editors/code/src/config.ts +++ b/editors/code/src/config.ts | |||
@@ -135,6 +135,9 @@ export class Config { | |||
135 | return { | 135 | return { |
136 | enable: this.get<boolean>("hoverActions.enable"), | 136 | enable: this.get<boolean>("hoverActions.enable"), |
137 | implementations: this.get<boolean>("hoverActions.implementations"), | 137 | implementations: this.get<boolean>("hoverActions.implementations"), |
138 | run: this.get<boolean>("hoverActions.run"), | ||
139 | debug: this.get<boolean>("hoverActions.debug"), | ||
140 | gotoTypeDef: this.get<boolean>("hoverActions.gotoTypeDef"), | ||
138 | }; | 141 | }; |
139 | } | 142 | } |
140 | } | 143 | } |
diff --git a/editors/code/src/main.ts b/editors/code/src/main.ts index a92c676fa..270fbcb64 100644 --- a/editors/code/src/main.ts +++ b/editors/code/src/main.ts | |||
@@ -100,6 +100,7 @@ export async function activate(context: vscode.ExtensionContext) { | |||
100 | ctx.registerCommand('applySnippetWorkspaceEdit', commands.applySnippetWorkspaceEditCommand); | 100 | ctx.registerCommand('applySnippetWorkspaceEdit', commands.applySnippetWorkspaceEditCommand); |
101 | ctx.registerCommand('resolveCodeAction', commands.resolveCodeAction); | 101 | ctx.registerCommand('resolveCodeAction', commands.resolveCodeAction); |
102 | ctx.registerCommand('applyActionGroup', commands.applyActionGroup); | 102 | ctx.registerCommand('applyActionGroup', commands.applyActionGroup); |
103 | ctx.registerCommand('gotoLocation', commands.gotoLocation); | ||
103 | 104 | ||
104 | ctx.pushCleanup(activateTaskProvider(workspaceFolder)); | 105 | ctx.pushCleanup(activateTaskProvider(workspaceFolder)); |
105 | 106 | ||