mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-27 03:54:24 +01:00
Adopts "containsBalancedBrackets" flag from vscode/text-mate.
This commit is contained in:
@@ -133,6 +133,16 @@ export abstract class AbstractTextMateService extends Disposable implements ITex
|
||||
validLanguageId = grammar.language;
|
||||
}
|
||||
|
||||
function asStringArray(array: unknown, defaultValue: string[]): string[] {
|
||||
if (!Array.isArray(array)) {
|
||||
return defaultValue;
|
||||
}
|
||||
if (!array.every(e => typeof e === 'string')) {
|
||||
return defaultValue;
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
this._grammarDefinitions.push({
|
||||
location: grammarLocation,
|
||||
language: validLanguageId ? validLanguageId : undefined,
|
||||
@@ -140,6 +150,8 @@ export abstract class AbstractTextMateService extends Disposable implements ITex
|
||||
embeddedLanguages: embeddedLanguages,
|
||||
tokenTypes: tokenTypes,
|
||||
injectTo: grammar.injectTo,
|
||||
balancedBracketSelectors: asStringArray(grammar.balancedBracketScopes, ['*']),
|
||||
unbalancedBracketSelectors: asStringArray(grammar.unbalancedBracketScopes, []),
|
||||
});
|
||||
|
||||
if (validLanguageId) {
|
||||
|
||||
@@ -25,6 +25,8 @@ export interface IValidGrammarDefinitionDTO {
|
||||
embeddedLanguages: IValidEmbeddedLanguagesMap;
|
||||
tokenTypes: IValidTokenTypeMap;
|
||||
injectTo?: string[];
|
||||
balancedBracketSelectors: string[];
|
||||
unbalancedBracketSelectors: string[];
|
||||
}
|
||||
|
||||
export interface ICreateData {
|
||||
@@ -143,6 +145,8 @@ export class TextMateWorker {
|
||||
embeddedLanguages: def.embeddedLanguages,
|
||||
tokenTypes: def.tokenTypes,
|
||||
injectTo: def.injectTo,
|
||||
balancedBracketSelectors: def.balancedBracketSelectors,
|
||||
unbalancedBracketSelectors: def.unbalancedBracketSelectors,
|
||||
};
|
||||
});
|
||||
this._grammarFactory = this._loadTMGrammarFactory(grammarDefinitions);
|
||||
|
||||
Reference in New Issue
Block a user