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\"]`." "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": { "rust-analyzer.server.path": {
"type": [ "type": [
"null", "null",

View file

@ -329,6 +329,10 @@ export class Config {
get showDependenciesExplorer() { get showDependenciesExplorer() {
return this.get<boolean>("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 // 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.tooltip.appendText(status.message ?? "Ready");
statusBar.color = undefined; statusBar.color = undefined;
statusBar.backgroundColor = 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(); this.dependencies?.refresh();
break; break;
case "warning": case "warning":