Contribute to json language server with a custom language. (#198583)

* Contribute to json language server with a custom language.

* Add `snippets` to `"activationEvents"`

* Remove hardcoded `snippets` from `documentSettings`

* Fix wrong variable in `!isEqualSet()`

* Use `extensions.allAcrossExtensionHosts` instead of `extensions.all`

* enable `"enabledApiProposals"` for `extensions.allAcrossExtensionHosts`

* Fix error: `Property 'allAcrossExtensionHosts' does not exist on type 'typeof extensions'`

* Remove `snippets`
This commit is contained in:
RedCMD
2024-01-31 00:10:23 +13:00
committed by GitHub
parent 6215ccd0e7
commit eee4b5fc50
7 changed files with 176 additions and 20 deletions

View File

@@ -9,6 +9,7 @@ import {
ThemeIcon, TextDocument, LanguageStatusSeverity, l10n
} from 'vscode';
import { JSONLanguageStatus, JSONSchemaSettings } from './jsonClient';
import { DocumentSelector } from 'vscode-languageclient';
type ShowSchemasInput = {
schemas: string[];
@@ -163,7 +164,7 @@ function showSchemaList(input: ShowSchemasInput) {
});
}
export function createLanguageStatusItem(documentSelector: string[], statusRequest: (uri: string) => Promise<JSONLanguageStatus>): Disposable {
export function createLanguageStatusItem(documentSelector: DocumentSelector, statusRequest: (uri: string) => Promise<JSONLanguageStatus>): Disposable {
const statusItem = languages.createLanguageStatusItem('json.projectStatus', documentSelector);
statusItem.name = l10n.t('JSON Validation Status');
statusItem.severity = LanguageStatusSeverity.Information;
@@ -268,7 +269,7 @@ export function createLimitStatusItem(newItem: (limit: number) => Disposable) {
const openSettingsCommand = 'workbench.action.openSettings';
const configureSettingsLabel = l10n.t('Configure');
export function createDocumentSymbolsLimitItem(documentSelector: string[], settingId: string, limit: number): Disposable {
export function createDocumentSymbolsLimitItem(documentSelector: DocumentSelector, settingId: string, limit: number): Disposable {
const statusItem = languages.createLanguageStatusItem('json.documentSymbolsStatus', documentSelector);
statusItem.name = l10n.t('JSON Outline Status');
statusItem.severity = LanguageStatusSeverity.Warning;