mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-23 10:08:49 +01:00
further alignments between LanguageStatusItem and StatusBarItem, add pin command that makes language status become a status bar item
This commit is contained in:
@@ -68,13 +68,15 @@ export class ExtHostLanguages {
|
||||
|
||||
private _handlePool: number = 0;
|
||||
|
||||
createLanguageStatusItem(extension: IExtensionDescription, selector: vscode.DocumentSelector): vscode.LanguageStatusItem {
|
||||
createLanguageStatusItem(extension: IExtensionDescription, id: string, selector: vscode.DocumentSelector): vscode.LanguageStatusItem {
|
||||
|
||||
const handle = this._handlePool++;
|
||||
const proxy = this._proxy;
|
||||
|
||||
const data: Omit<vscode.LanguageStatusItem, 'dispose'> = {
|
||||
selector,
|
||||
id,
|
||||
name: extension.displayName ?? extension.name,
|
||||
severity: LanguageStatusSeverity.Information,
|
||||
command: undefined,
|
||||
text: '',
|
||||
@@ -90,6 +92,8 @@ export class ExtHostLanguages {
|
||||
commandDisposables.clear();
|
||||
|
||||
this._proxy.$setLanguageStatus(handle, {
|
||||
id: `${extension.identifier.value}/${id}`,
|
||||
name: data.name ?? extension.displayName ?? extension.name,
|
||||
source: extension.displayName ?? extension.name,
|
||||
selector: data.selector,
|
||||
label: data.text,
|
||||
@@ -106,6 +110,16 @@ export class ExtHostLanguages {
|
||||
soonHandle?.dispose();
|
||||
proxy.$removeLanguageStatus(handle);
|
||||
},
|
||||
get id() {
|
||||
return data.id;
|
||||
},
|
||||
get name() {
|
||||
return data.name;
|
||||
},
|
||||
set name(value) {
|
||||
data.name = value;
|
||||
updateAsync();
|
||||
},
|
||||
get selector() {
|
||||
return data.selector;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user