A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/microsoft/vscode/commit/fd13e449f5f2fe300f187129d6065ed1cfad74d3 below:

add TokenStylingDefaultRule.match · microsoft/vscode@fd13e44 · GitHub

@@ -96,14 +96,13 @@ export interface TokenStyleDefaults {

96 96

}

97 97 98 98

export interface TokenStylingDefaultRule {

99 -

classification: TokenClassification;

100 -

matchScore: number;

99 +

match(classification: TokenClassification): number;

100 +

selector: TokenClassification;

101 101

defaults: TokenStyleDefaults;

102 102

}

103 103 104 104

export interface TokenStylingRule {

105 -

classification: TokenClassification;

106 -

matchScore: number;

105 +

match(classification: TokenClassification): number;

107 106

value: TokenStyle;

108 107

}

109 108

@@ -276,16 +275,35 @@ class TokenClassificationRegistry implements ITokenClassificationRegistry {

276 275

return { type: tokenTypeDesc.num, modifiers: allModifierBits };

277 276

}

278 277 279 -

public getTokenStylingRule(classification: TokenClassification, value: TokenStyle): TokenStylingRule {

280 -

return { classification, matchScore: getTokenStylingScore(classification), value };

278 + 279 +

private newMatcher(selector: TokenClassification) {

280 +

const score = getTokenStylingScore(selector);

281 +

return (classification: TokenClassification) => {

282 +

const selectorType = selector.type;

283 +

if (selectorType !== TOKEN_TYPE_WILDCARD_NUM && selectorType !== classification.type) {

284 +

return -1;

285 +

}

286 +

const selectorModifier = selector.modifiers;

287 +

if ((classification.modifiers & selectorModifier) !== selectorModifier) {

288 +

return -1;

289 +

}

290 +

return score;

291 +

};

281 292

}

282 293 283 -

public registerTokenStyleDefault(classification: TokenClassification, defaults: TokenStyleDefaults): void {

284 -

this.tokenStylingDefaultRules.push({ classification, matchScore: getTokenStylingScore(classification), defaults });

294 +

public getTokenStylingRule(selector: TokenClassification, value: TokenStyle): TokenStylingRule {

295 +

return {

296 +

match: this.newMatcher(selector),

297 +

value

298 +

};

299 +

}

300 + 301 +

public registerTokenStyleDefault(selector: TokenClassification, defaults: TokenStyleDefaults): void {

302 +

this.tokenStylingDefaultRules.push({ selector, match: this.newMatcher(selector), defaults });

285 303

}

286 304 287 305

public deregisterTokenStyleDefault(classification: TokenClassification): void {

288 -

this.tokenStylingDefaultRules = this.tokenStylingDefaultRules.filter(r => !(r.classification.type === classification.type && r.classification.modifiers === classification.modifiers));

306 +

this.tokenStylingDefaultRules = this.tokenStylingDefaultRules.filter(r => !(r.selector.type === classification.type && r.selector.modifiers === classification.modifiers));

289 307

}

290 308 291 309

public deregisterTokenType(id: string): void {

@@ -330,18 +348,6 @@ class TokenClassificationRegistry implements ITokenClassificationRegistry {

330 348 331 349

}

332 350 333 -

export function matchTokenStylingRule(themeSelector: TokenStylingRule | TokenStylingDefaultRule, classification: TokenClassification): number {

334 -

const selectorType = themeSelector.classification.type;

335 -

if (selectorType !== TOKEN_TYPE_WILDCARD_NUM && selectorType !== classification.type) {

336 -

return -1;

337 -

}

338 -

const selectorModifier = themeSelector.classification.modifiers;

339 -

if ((classification.modifiers & selectorModifier) !== selectorModifier) {

340 -

return -1;

341 -

}

342 -

return themeSelector.matchScore;

343 -

}

344 - 345 351 346 352

const tokenClassificationRegistry = new TokenClassificationRegistry();

347 353

platform.Registry.add(Extensions.TokenClassificationContribution, tokenClassificationRegistry);


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4