Add config for the default click action of extension status bar

This commit is contained in:
dfireBird 2023-10-04 10:14:03 +05:30
parent 7b8330f283
commit ab091b73d0
No known key found for this signature in database
GPG key ID: 26D522CA5FC2B93D
3 changed files with 22 additions and 1 deletions

View file

@ -371,6 +371,19 @@
],
"markdownDescription": "Problem matchers to use for `rust-analyzer.run` command, eg `[\"$rustc\", \"$rust-panic\"]`."
},
"rust-analyzer.statusBar.clickAction": {
"type": "string",
"enum": [
"stopServer",
"openLogs"
],
"enumDescriptions": [
"Stop Server",
"Open Logs"
],
"default": "openLogs",
"markdownDescription": "Action to run when clicking the extension status bar item."
},
"rust-analyzer.server.path": {
"type": [
"null",

View file

@ -329,6 +329,10 @@ export class Config {
get showDependenciesExplorer() {
return this.get<boolean>("showDependenciesExplorer");
}
get statusBarClickAction() {
return this.get<string>("statusBar.clickAction");
}
}
// the optional `cb?` parameter is meant to be used to add additional

View file

@ -400,7 +400,11 @@ export class Ctx {
statusBar.tooltip.appendText(status.message ?? "Ready");
statusBar.color = undefined;
statusBar.backgroundColor = undefined;
statusBar.command = "rust-analyzer.openLogs";
if (this.config.statusBarClickAction === "stopServer") {
statusBar.command = "rust-analyzer.stopServer";
} else {
statusBar.command = "rust-analyzer.openLogs";
}
this.dependencies?.refresh();
break;
case "warning":