diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js index bd0b285e88e..8915457164b 100644 --- a/build/gulpfile.vscode.js +++ b/build/gulpfile.vscode.js @@ -43,7 +43,7 @@ const nodeModules = ['electron', 'original-fs'] // Build const builtInExtensions = [ - { name: 'ms-vscode.node-debug', version: '1.17.2' }, + { name: 'ms-vscode.node-debug', version: '1.17.3' }, { name: 'ms-vscode.node-debug2', version: '1.17.1' } ]; diff --git a/build/lib/tslint/allowAsyncRule.js b/build/lib/tslint/allowAsyncRule.js deleted file mode 100644 index a27d2870779..00000000000 --- a/build/lib/tslint/allowAsyncRule.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var ts = require("typescript"); -var Lint = require("tslint"); -var Rule = /** @class */ (function (_super) { - __extends(Rule, _super); - function Rule() { - return _super !== null && _super.apply(this, arguments) || this; - } - Rule.prototype.apply = function (sourceFile) { - var allowed = this.getOptions().ruleArguments[0]; - return this.applyWithWalker(new AsyncRuleWalker(sourceFile, this.getOptions(), allowed)); - }; - return Rule; -}(Lint.Rules.AbstractRule)); -exports.Rule = Rule; -var AsyncRuleWalker = /** @class */ (function (_super) { - __extends(AsyncRuleWalker, _super); - function AsyncRuleWalker(file, opts, allowed) { - var _this = _super.call(this, file, opts) || this; - _this.allowed = allowed; - return _this; - } - AsyncRuleWalker.prototype.visitMethodDeclaration = function (node) { - this.visitFunctionLikeDeclaration(node); - }; - AsyncRuleWalker.prototype.visitFunctionDeclaration = function (node) { - this.visitFunctionLikeDeclaration(node); - }; - AsyncRuleWalker.prototype.visitFunctionLikeDeclaration = function (node) { - var _this = this; - var flags = ts.getCombinedModifierFlags(node); - if (!(flags & ts.ModifierFlags.Async)) { - return; - } - var path = node.getSourceFile().path; - var pathParts = path.split(/\\|\//); - if (pathParts.some(function (part) { return _this.allowed.some(function (allowed) { return part === allowed; }); })) { - return; - } - var message = "You are not allowed to use async function in this layer. Allowed layers are: [" + this.allowed + "]"; - this.addFailureAtNode(node, message); - }; - return AsyncRuleWalker; -}(Lint.RuleWalker)); diff --git a/build/lib/tslint/allowAsyncRule.ts b/build/lib/tslint/allowAsyncRule.ts deleted file mode 100644 index e61765bf53d..00000000000 --- a/build/lib/tslint/allowAsyncRule.ts +++ /dev/null @@ -1,47 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as ts from 'typescript'; -import * as Lint from 'tslint'; - -export class Rule extends Lint.Rules.AbstractRule { - public apply(sourceFile: ts.SourceFile): Lint.RuleFailure[] { - const allowed = this.getOptions().ruleArguments[0] as string[]; - return this.applyWithWalker(new AsyncRuleWalker(sourceFile, this.getOptions(), allowed)); - } -} - -class AsyncRuleWalker extends Lint.RuleWalker { - - constructor(file: ts.SourceFile, opts: Lint.IOptions, private allowed: string[]) { - super(file, opts); - } - - protected visitMethodDeclaration(node: ts.MethodDeclaration): void { - this.visitFunctionLikeDeclaration(node); - } - - protected visitFunctionDeclaration(node: ts.FunctionDeclaration): void { - this.visitFunctionLikeDeclaration(node); - } - - private visitFunctionLikeDeclaration(node: ts.FunctionLikeDeclaration) { - const flags = ts.getCombinedModifierFlags(node); - - if (!(flags & ts.ModifierFlags.Async)) { - return; - } - - const path = (node.getSourceFile() as any).path; - const pathParts = path.split(/\\|\//); - - if (pathParts.some(part => this.allowed.some(allowed => part === allowed))) { - return; - } - - const message = `You are not allowed to use async function in this layer. Allowed layers are: [${this.allowed}]`; - this.addFailureAtNode(node, message); - } -} diff --git a/extensions/coffeescript/test/colorize-results/test-regex_coffee.json b/extensions/coffeescript/test/colorize-results/test-regex_coffee.json index b6a7a06b854..cc3f1d3d7ab 100644 --- a/extensions/coffeescript/test/colorize-results/test-regex_coffee.json +++ b/extensions/coffeescript/test/colorize-results/test-regex_coffee.json @@ -69,8 +69,8 @@ "c": "(", "t": "source.coffee string.regexp.coffee meta.group.regexp punctuation.definition.group.regexp", "r": { - "dark_plus": "string.regexp: #D16969", - "light_plus": "string.regexp: #811F3F", + "dark_plus": "punctuation.definition.group.regexp: #D7BA7D", + "light_plus": "punctuation.definition.group.regexp: #FF0000", "dark_vs": "string.regexp: #D16969", "light_vs": "string.regexp: #811F3F", "hc_black": "string.regexp: #D16969" @@ -91,8 +91,8 @@ "c": "+", "t": "source.coffee string.regexp.coffee meta.group.regexp keyword.operator.quantifier.regexp", "r": { - "dark_plus": "keyword.operator: #D4D4D4", - "light_plus": "keyword.operator: #000000", + "dark_plus": "keyword.operator.quantifier.regexp: #D4D4D4", + "light_plus": "keyword.operator.quantifier.regexp: #0000FF", "dark_vs": "keyword.operator: #D4D4D4", "light_vs": "keyword.operator: #000000", "hc_black": "keyword.operator: #D4D4D4" @@ -102,8 +102,8 @@ "c": ")", "t": "source.coffee string.regexp.coffee meta.group.regexp punctuation.definition.group.regexp", "r": { - "dark_plus": "string.regexp: #D16969", - "light_plus": "string.regexp: #811F3F", + "dark_plus": "punctuation.definition.group.regexp: #D7BA7D", + "light_plus": "punctuation.definition.group.regexp: #FF0000", "dark_vs": "string.regexp: #D16969", "light_vs": "string.regexp: #811F3F", "hc_black": "string.regexp: #D16969" @@ -454,11 +454,11 @@ "c": "#{", "t": "source.coffee string.regexp.coffee source.coffee.embedded.source punctuation.section.embedded.coffee", "r": { - "dark_plus": "punctuation.section.embedded.coffee: #569CD6", - "light_plus": "punctuation.section.embedded.coffee: #0000FF", - "dark_vs": "punctuation.section.embedded.coffee: #569CD6", - "light_vs": "punctuation.section.embedded.coffee: #0000FF", - "hc_black": "punctuation.section.embedded.coffee: #569CD6" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -476,11 +476,11 @@ "c": "}", "t": "source.coffee string.regexp.coffee source.coffee.embedded.source punctuation.section.embedded.coffee", "r": { - "dark_plus": "punctuation.section.embedded.coffee: #569CD6", - "light_plus": "punctuation.section.embedded.coffee: #0000FF", - "dark_vs": "punctuation.section.embedded.coffee: #569CD6", - "light_vs": "punctuation.section.embedded.coffee: #0000FF", - "hc_black": "punctuation.section.embedded.coffee: #569CD6" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { diff --git a/extensions/coffeescript/test/colorize-results/test_coffee.json b/extensions/coffeescript/test/colorize-results/test_coffee.json index 55a97e8b7ef..8c1254dfa9f 100644 --- a/extensions/coffeescript/test/colorize-results/test_coffee.json +++ b/extensions/coffeescript/test/colorize-results/test_coffee.json @@ -311,11 +311,11 @@ "c": "#{", "t": "source.coffee meta.function-call.coffee meta.arguments.coffee string.quoted.double.coffee source.coffee.embedded.source punctuation.section.embedded.coffee", "r": { - "dark_plus": "punctuation.section.embedded.coffee: #569CD6", - "light_plus": "punctuation.section.embedded.coffee: #0000FF", - "dark_vs": "punctuation.section.embedded.coffee: #569CD6", - "light_vs": "punctuation.section.embedded.coffee: #0000FF", - "hc_black": "punctuation.section.embedded.coffee: #569CD6" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -333,11 +333,11 @@ "c": "}", "t": "source.coffee meta.function-call.coffee meta.arguments.coffee string.quoted.double.coffee source.coffee.embedded.source punctuation.section.embedded.coffee", "r": { - "dark_plus": "punctuation.section.embedded.coffee: #569CD6", - "light_plus": "punctuation.section.embedded.coffee: #0000FF", - "dark_vs": "punctuation.section.embedded.coffee: #569CD6", - "light_vs": "punctuation.section.embedded.coffee: #0000FF", - "hc_black": "punctuation.section.embedded.coffee: #569CD6" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -575,11 +575,11 @@ "c": "#{", "t": "source.coffee meta.function-call.coffee meta.arguments.coffee string.quoted.double.coffee source.coffee.embedded.source punctuation.section.embedded.coffee", "r": { - "dark_plus": "punctuation.section.embedded.coffee: #569CD6", - "light_plus": "punctuation.section.embedded.coffee: #0000FF", - "dark_vs": "punctuation.section.embedded.coffee: #569CD6", - "light_vs": "punctuation.section.embedded.coffee: #0000FF", - "hc_black": "punctuation.section.embedded.coffee: #569CD6" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -597,11 +597,11 @@ "c": "}", "t": "source.coffee meta.function-call.coffee meta.arguments.coffee string.quoted.double.coffee source.coffee.embedded.source punctuation.section.embedded.coffee", "r": { - "dark_plus": "punctuation.section.embedded.coffee: #569CD6", - "light_plus": "punctuation.section.embedded.coffee: #0000FF", - "dark_vs": "punctuation.section.embedded.coffee: #569CD6", - "light_vs": "punctuation.section.embedded.coffee: #0000FF", - "hc_black": "punctuation.section.embedded.coffee: #569CD6" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -1378,8 +1378,8 @@ "c": "(", "t": "source.coffee string.regexp.coffee meta.group.regexp punctuation.definition.group.regexp", "r": { - "dark_plus": "string.regexp: #D16969", - "light_plus": "string.regexp: #811F3F", + "dark_plus": "punctuation.definition.group.regexp: #D7BA7D", + "light_plus": "punctuation.definition.group.regexp: #FF0000", "dark_vs": "string.regexp: #D16969", "light_vs": "string.regexp: #811F3F", "hc_black": "string.regexp: #D16969" @@ -1400,8 +1400,8 @@ "c": "+", "t": "source.coffee string.regexp.coffee meta.group.regexp keyword.operator.quantifier.regexp", "r": { - "dark_plus": "keyword.operator: #D4D4D4", - "light_plus": "keyword.operator: #000000", + "dark_plus": "keyword.operator.quantifier.regexp: #D4D4D4", + "light_plus": "keyword.operator.quantifier.regexp: #0000FF", "dark_vs": "keyword.operator: #D4D4D4", "light_vs": "keyword.operator: #000000", "hc_black": "keyword.operator: #D4D4D4" @@ -1411,8 +1411,8 @@ "c": ")", "t": "source.coffee string.regexp.coffee meta.group.regexp punctuation.definition.group.regexp", "r": { - "dark_plus": "string.regexp: #D16969", - "light_plus": "string.regexp: #811F3F", + "dark_plus": "punctuation.definition.group.regexp: #D7BA7D", + "light_plus": "punctuation.definition.group.regexp: #FF0000", "dark_vs": "string.regexp: #D16969", "light_vs": "string.regexp: #811F3F", "hc_black": "string.regexp: #D16969" @@ -1466,8 +1466,8 @@ "c": "(", "t": "source.coffee string.regexp.coffee meta.group.regexp punctuation.definition.group.regexp", "r": { - "dark_plus": "string.regexp: #D16969", - "light_plus": "string.regexp: #811F3F", + "dark_plus": "punctuation.definition.group.regexp: #D7BA7D", + "light_plus": "punctuation.definition.group.regexp: #FF0000", "dark_vs": "string.regexp: #D16969", "light_vs": "string.regexp: #811F3F", "hc_black": "string.regexp: #D16969" @@ -1488,8 +1488,8 @@ "c": "*", "t": "source.coffee string.regexp.coffee meta.group.regexp keyword.operator.quantifier.regexp", "r": { - "dark_plus": "keyword.operator: #D4D4D4", - "light_plus": "keyword.operator: #000000", + "dark_plus": "keyword.operator.quantifier.regexp: #D4D4D4", + "light_plus": "keyword.operator.quantifier.regexp: #0000FF", "dark_vs": "keyword.operator: #D4D4D4", "light_vs": "keyword.operator: #000000", "hc_black": "keyword.operator: #D4D4D4" @@ -1499,8 +1499,8 @@ "c": ")", "t": "source.coffee string.regexp.coffee meta.group.regexp punctuation.definition.group.regexp", "r": { - "dark_plus": "string.regexp: #D16969", - "light_plus": "string.regexp: #811F3F", + "dark_plus": "punctuation.definition.group.regexp: #D7BA7D", + "light_plus": "punctuation.definition.group.regexp: #FF0000", "dark_vs": "string.regexp: #D16969", "light_vs": "string.regexp: #811F3F", "hc_black": "string.regexp: #D16969" @@ -1554,8 +1554,8 @@ "c": "$", "t": "source.coffee string.regexp.coffee keyword.control.anchor.regexp", "r": { - "dark_plus": "keyword.control: #C586C0", - "light_plus": "keyword.control: #AF00DB", + "dark_plus": "keyword.control.anchor.regexp: #C586C0", + "light_plus": "keyword.control.anchor.regexp: #09885A", "dark_vs": "keyword.control: #569CD6", "light_vs": "keyword.control: #0000FF", "hc_black": "keyword.control: #C586C0" diff --git a/extensions/css/server/npm-shrinkwrap.json b/extensions/css/server/npm-shrinkwrap.json index eeafae21433..2c2d280b1a2 100644 --- a/extensions/css/server/npm-shrinkwrap.json +++ b/extensions/css/server/npm-shrinkwrap.json @@ -3,9 +3,9 @@ "version": "1.0.0", "dependencies": { "vscode-css-languageservice": { - "version": "2.1.4", + "version": "2.1.6", "from": "vscode-css-languageservice@next", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-2.1.4.tgz" + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-2.1.6.tgz" }, "vscode-jsonrpc": { "version": "3.3.1", diff --git a/extensions/css/server/package.json b/extensions/css/server/package.json index ad6c972e571..b62b50928bf 100644 --- a/extensions/css/server/package.json +++ b/extensions/css/server/package.json @@ -8,7 +8,7 @@ "node": "*" }, "dependencies": { - "vscode-css-languageservice": "^2.1.4", + "vscode-css-languageservice": "^2.1.6", "vscode-languageserver": "3.4.0-next.6", "vscode-languageserver-protocol": "^3.1.1" }, diff --git a/extensions/git/package.json b/extensions/git/package.json index bd646d7f8a6..995ac785f74 100644 --- a/extensions/git/package.json +++ b/extensions/git/package.json @@ -529,6 +529,11 @@ "group": "3_commit", "when": "config.git.enabled && scmProvider == git" }, + { + "command": "git.stageAll", + "group": "4_stage", + "when": "config.git.enabled && scmProvider == git" + }, { "command": "git.unstageAll", "group": "4_stage", diff --git a/extensions/git/src/git.ts b/extensions/git/src/git.ts index 10de8149121..3cd0dadfdac 100644 --- a/extensions/git/src/git.ts +++ b/extensions/git/src/git.ts @@ -345,9 +345,9 @@ export class Git { return folderPath; } - async getRepositoryRoot(path: string): Promise { - const result = await this.exec(path, ['rev-parse', '--show-toplevel']); - return result.stdout.trim(); + async getRepositoryRoot(repositoryPath: string): Promise { + const result = await this.exec(repositoryPath, ['rev-parse', '--show-toplevel']); + return path.normalize(result.stdout.trim()); } async exec(cwd: string, args: string[], options: any = {}): Promise { diff --git a/extensions/groovy/test/colorize-results/test_groovy.json b/extensions/groovy/test/colorize-results/test_groovy.json index ee78a65becc..8d1191aa367 100644 --- a/extensions/groovy/test/colorize-results/test_groovy.json +++ b/extensions/groovy/test/colorize-results/test_groovy.json @@ -9232,33 +9232,33 @@ "c": "${", "t": "source.groovy meta.definition.method.groovy meta.method.body.java string.quoted.double.groovy source.groovy.embedded.source punctuation.section.embedded.groovy", "r": { - "dark_plus": "string: #CE9178", - "light_plus": "string: #A31515", - "dark_vs": "string: #CE9178", - "light_vs": "string: #A31515", - "hc_black": "string: #CE9178" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { "c": "System.currentTimeMillis() - start", "t": "source.groovy meta.definition.method.groovy meta.method.body.java string.quoted.double.groovy source.groovy.embedded.source", "r": { - "dark_plus": "string: #CE9178", - "light_plus": "string: #A31515", - "dark_vs": "string: #CE9178", - "light_vs": "string: #A31515", - "hc_black": "string: #CE9178" + "dark_plus": "source.groovy.embedded: #D4D4D4", + "light_plus": "source.groovy.embedded: #000000", + "dark_vs": "source.groovy.embedded: #D4D4D4", + "light_vs": "source.groovy.embedded: #000000", + "hc_black": "source.groovy.embedded: #FFFFFF" } }, { "c": "}", "t": "source.groovy meta.definition.method.groovy meta.method.body.java string.quoted.double.groovy source.groovy.embedded.source punctuation.section.embedded.groovy", "r": { - "dark_plus": "string: #CE9178", - "light_plus": "string: #A31515", - "dark_vs": "string: #CE9178", - "light_vs": "string: #A31515", - "hc_black": "string: #CE9178" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { diff --git a/extensions/html/server/npm-shrinkwrap.json b/extensions/html/server/npm-shrinkwrap.json index 62a5bf9b691..52f9b38450f 100644 --- a/extensions/html/server/npm-shrinkwrap.json +++ b/extensions/html/server/npm-shrinkwrap.json @@ -3,14 +3,14 @@ "version": "1.0.0", "dependencies": { "vscode-css-languageservice": { - "version": "2.1.4", + "version": "2.1.6", "from": "vscode-css-languageservice@next", - "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-2.1.4.tgz" + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-2.1.6.tgz" }, "vscode-html-languageservice": { - "version": "2.0.7", + "version": "2.0.8", "from": "vscode-html-languageservice@next", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-2.0.7.tgz" + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-2.0.8.tgz" }, "vscode-jsonrpc": { "version": "3.3.1", diff --git a/extensions/html/server/package.json b/extensions/html/server/package.json index 3cac05b7da9..8bcae7d7d90 100644 --- a/extensions/html/server/package.json +++ b/extensions/html/server/package.json @@ -8,8 +8,8 @@ "node": "*" }, "dependencies": { - "vscode-css-languageservice": "^2.1.4", - "vscode-html-languageservice": "^2.0.7", + "vscode-css-languageservice": "^2.1.6", + "vscode-html-languageservice": "^2.0.8", "vscode-languageserver": "3.4.0-next.6", "vscode-languageserver-protocol": "^3.1.1", "vscode-languageserver-types": "^3.3.0", diff --git a/extensions/html/test/colorize-results/12750_html.json b/extensions/html/test/colorize-results/12750_html.json index 571e60f4ee5..a89b03aa84f 100644 --- a/extensions/html/test/colorize-results/12750_html.json +++ b/extensions/html/test/colorize-results/12750_html.json @@ -29,7 +29,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -51,7 +51,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -106,7 +106,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -128,7 +128,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -150,7 +150,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -194,7 +194,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -205,7 +205,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -293,7 +293,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -315,7 +315,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -337,7 +337,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -381,7 +381,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -392,7 +392,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { diff --git a/extensions/html/test/colorize-results/25920_html.json b/extensions/html/test/colorize-results/25920_html.json index 88dc0cc895c..16b71acbe88 100644 --- a/extensions/html/test/colorize-results/25920_html.json +++ b/extensions/html/test/colorize-results/25920_html.json @@ -62,7 +62,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -84,7 +84,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -139,7 +139,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -172,7 +172,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -194,7 +194,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -359,7 +359,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -381,7 +381,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -436,7 +436,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -458,7 +458,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -480,7 +480,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -502,7 +502,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -524,7 +524,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -601,7 +601,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -623,7 +623,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -678,7 +678,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -711,7 +711,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -733,7 +733,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { diff --git a/extensions/html/test/colorize-results/test_html.json b/extensions/html/test/colorize-results/test_html.json index 1609f7270c1..a1da5d2c393 100644 --- a/extensions/html/test/colorize-results/test_html.json +++ b/extensions/html/test/colorize-results/test_html.json @@ -480,7 +480,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -502,7 +502,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -557,7 +557,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -579,7 +579,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -590,7 +590,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -601,7 +601,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -623,7 +623,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -634,7 +634,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -656,7 +656,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -667,7 +667,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -689,7 +689,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -700,7 +700,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -733,7 +733,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -744,7 +744,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -755,7 +755,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -766,7 +766,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1129,7 +1129,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1151,7 +1151,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1283,7 +1283,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1305,7 +1305,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1448,7 +1448,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1470,7 +1470,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1492,7 +1492,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1536,7 +1536,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1547,7 +1547,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1558,7 +1558,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1580,7 +1580,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1602,7 +1602,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1613,7 +1613,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1624,7 +1624,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1657,7 +1657,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1701,7 +1701,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1712,7 +1712,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1745,7 +1745,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1756,7 +1756,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1767,7 +1767,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1800,7 +1800,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1844,7 +1844,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1855,7 +1855,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1866,7 +1866,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1877,7 +1877,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1888,7 +1888,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1899,7 +1899,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1910,7 +1910,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1932,7 +1932,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1943,7 +1943,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1954,7 +1954,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1976,7 +1976,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1987,7 +1987,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1998,7 +1998,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2009,7 +2009,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2020,7 +2020,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2042,7 +2042,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2053,7 +2053,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2064,7 +2064,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2075,7 +2075,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2086,7 +2086,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2097,7 +2097,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2119,7 +2119,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2141,7 +2141,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2152,7 +2152,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2163,7 +2163,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2174,7 +2174,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2185,7 +2185,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2196,7 +2196,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2207,7 +2207,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { diff --git a/extensions/javascript/test/colorize-results/test_jsx.json b/extensions/javascript/test/colorize-results/test_jsx.json index 7da4b94367c..f12ab38729b 100644 --- a/extensions/javascript/test/colorize-results/test_jsx.json +++ b/extensions/javascript/test/colorize-results/test_jsx.json @@ -1664,11 +1664,11 @@ "c": "{", "t": "source.js meta.var.expr.js meta.objectliteral.js meta.object.member.js meta.function.expression.js meta.block.js meta.tag.without-attributes.js meta.jsx.children.tsx meta.tag.without-attributes.js meta.jsx.children.tsx meta.embedded.expression.js punctuation.section.embedded.begin.js", "r": { - "dark_plus": "meta.embedded: #D4D4D4", - "light_plus": "meta.embedded: #000000", - "dark_vs": "meta.embedded: #D4D4D4", - "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -1686,11 +1686,11 @@ "c": "}", "t": "source.js meta.var.expr.js meta.objectliteral.js meta.object.member.js meta.function.expression.js meta.block.js meta.tag.without-attributes.js meta.jsx.children.tsx meta.tag.without-attributes.js meta.jsx.children.tsx meta.embedded.expression.js punctuation.section.embedded.end.js", "r": { - "dark_plus": "meta.embedded: #D4D4D4", - "light_plus": "meta.embedded: #000000", - "dark_vs": "meta.embedded: #D4D4D4", - "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -1862,11 +1862,11 @@ "c": "{", "t": "source.js meta.var.expr.js meta.objectliteral.js meta.object.member.js meta.function.expression.js meta.block.js meta.tag.without-attributes.js meta.jsx.children.tsx meta.tag.js meta.embedded.expression.js punctuation.section.embedded.begin.js", "r": { - "dark_plus": "meta.embedded: #D4D4D4", - "light_plus": "meta.embedded: #000000", - "dark_vs": "meta.embedded: #D4D4D4", - "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -1888,7 +1888,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1906,11 +1906,11 @@ "c": "}", "t": "source.js meta.var.expr.js meta.objectliteral.js meta.object.member.js meta.function.expression.js meta.block.js meta.tag.without-attributes.js meta.jsx.children.tsx meta.tag.js meta.embedded.expression.js punctuation.section.embedded.end.js", "r": { - "dark_plus": "meta.embedded: #D4D4D4", - "light_plus": "meta.embedded: #000000", - "dark_vs": "meta.embedded: #D4D4D4", - "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { diff --git a/extensions/markdown/test/colorize-results/test_md.json b/extensions/markdown/test/colorize-results/test_md.json index 4779949f7ae..c07d8316525 100644 --- a/extensions/markdown/test/colorize-results/test_md.json +++ b/extensions/markdown/test/colorize-results/test_md.json @@ -656,7 +656,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -678,7 +678,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -733,7 +733,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -744,7 +744,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1030,7 +1030,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1052,7 +1052,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1063,7 +1063,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1074,7 +1074,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1096,7 +1096,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1107,7 +1107,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1151,7 +1151,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1162,7 +1162,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1173,7 +1173,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { diff --git a/extensions/php/test/colorize-results/issue-28354_php.json b/extensions/php/test/colorize-results/issue-28354_php.json index 669388a960e..d9f870d7f85 100644 --- a/extensions/php/test/colorize-results/issue-28354_php.json +++ b/extensions/php/test/colorize-results/issue-28354_php.json @@ -40,7 +40,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -62,7 +62,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -73,7 +73,7 @@ "light_plus": "punctuation.section.embedded.begin.php: #800000", "dark_vs": "punctuation.section.embedded.begin.php: #569CD6", "light_vs": "punctuation.section.embedded.begin.php: #800000", - "hc_black": "default: #FFFFFF" + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -84,7 +84,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -106,7 +106,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -139,7 +139,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -161,7 +161,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -194,7 +194,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -205,7 +205,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -216,7 +216,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -227,7 +227,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -249,7 +249,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -414,7 +414,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -425,7 +425,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -436,7 +436,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -447,7 +447,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -458,7 +458,7 @@ "light_plus": "punctuation.section.embedded.end.php: #800000", "dark_vs": "punctuation.section.embedded.end.php: #569CD6", "light_vs": "punctuation.section.embedded.end.php: #800000", - "hc_black": "default: #FFFFFF" + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -469,7 +469,7 @@ "light_plus": "punctuation.section.embedded.end.php: #800000", "dark_vs": "punctuation.section.embedded.end.php: #569CD6", "light_vs": "punctuation.section.embedded.end.php: #800000", - "hc_black": "default: #FFFFFF" + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -480,7 +480,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { diff --git a/extensions/php/test/colorize-results/test_php.json b/extensions/php/test/colorize-results/test_php.json index 5e1b41ed8e1..6104d7b68b5 100644 --- a/extensions/php/test/colorize-results/test_php.json +++ b/extensions/php/test/colorize-results/test_php.json @@ -227,7 +227,7 @@ "light_plus": "punctuation.section.embedded.begin.php: #800000", "dark_vs": "punctuation.section.embedded.begin.php: #569CD6", "light_vs": "punctuation.section.embedded.begin.php: #800000", - "hc_black": "default: #FFFFFF" + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -238,7 +238,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -260,7 +260,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -282,7 +282,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -293,7 +293,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -304,7 +304,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -315,7 +315,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -348,7 +348,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -359,7 +359,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -370,7 +370,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -436,7 +436,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -469,7 +469,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -491,7 +491,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -513,7 +513,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -557,7 +557,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -568,7 +568,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -612,7 +612,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -623,7 +623,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -667,7 +667,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -678,7 +678,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -722,7 +722,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -733,7 +733,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -777,7 +777,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -788,7 +788,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -832,7 +832,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -843,7 +843,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -887,7 +887,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -898,7 +898,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -942,7 +942,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -953,7 +953,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -964,7 +964,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -986,7 +986,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1008,7 +1008,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1019,7 +1019,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1030,7 +1030,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1041,7 +1041,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1052,7 +1052,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1074,7 +1074,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1107,7 +1107,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1129,7 +1129,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1151,7 +1151,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1162,7 +1162,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1195,7 +1195,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1217,7 +1217,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1239,7 +1239,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1250,7 +1250,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1294,7 +1294,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1305,7 +1305,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1316,7 +1316,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1327,7 +1327,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1360,7 +1360,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1382,7 +1382,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1404,7 +1404,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1437,7 +1437,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1448,7 +1448,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1459,7 +1459,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1492,7 +1492,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1514,7 +1514,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1525,7 +1525,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1547,7 +1547,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1558,7 +1558,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1602,7 +1602,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1613,7 +1613,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1624,7 +1624,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1646,7 +1646,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1679,7 +1679,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1712,7 +1712,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1723,7 +1723,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1745,7 +1745,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1778,7 +1778,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1789,7 +1789,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1800,7 +1800,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1811,7 +1811,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1855,7 +1855,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1866,7 +1866,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1877,7 +1877,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1888,7 +1888,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1910,7 +1910,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1921,7 +1921,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1932,7 +1932,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1965,7 +1965,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1976,7 +1976,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -1987,7 +1987,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2009,7 +2009,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2042,7 +2042,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2075,7 +2075,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2086,7 +2086,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2097,7 +2097,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2130,7 +2130,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2163,7 +2163,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2174,7 +2174,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2196,7 +2196,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2229,7 +2229,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2240,7 +2240,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2251,7 +2251,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2262,7 +2262,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2273,7 +2273,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2284,7 +2284,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2306,7 +2306,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2328,7 +2328,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2339,7 +2339,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2350,7 +2350,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2361,7 +2361,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2372,7 +2372,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2405,7 +2405,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2427,7 +2427,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2438,7 +2438,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2460,7 +2460,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2471,7 +2471,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2504,7 +2504,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2515,7 +2515,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2526,7 +2526,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2548,7 +2548,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2625,7 +2625,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2636,7 +2636,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2647,7 +2647,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2680,7 +2680,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2702,7 +2702,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2713,7 +2713,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2746,7 +2746,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2768,7 +2768,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2790,7 +2790,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2801,7 +2801,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2834,7 +2834,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2856,7 +2856,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2878,7 +2878,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2889,7 +2889,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2933,7 +2933,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2944,7 +2944,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2955,7 +2955,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2966,7 +2966,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2988,7 +2988,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -2999,7 +2999,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3032,7 +3032,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3054,7 +3054,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3076,7 +3076,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3087,7 +3087,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3098,7 +3098,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3109,7 +3109,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3142,7 +3142,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3164,7 +3164,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3186,7 +3186,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3197,7 +3197,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3208,7 +3208,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3219,7 +3219,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3241,7 +3241,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3362,7 +3362,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3373,7 +3373,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3384,7 +3384,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3428,7 +3428,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3439,7 +3439,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3450,7 +3450,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3461,7 +3461,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3483,7 +3483,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3505,7 +3505,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3516,7 +3516,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3527,7 +3527,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3538,7 +3538,7 @@ "light_plus": "meta.embedded: #000000", "dark_vs": "meta.embedded: #D4D4D4", "light_vs": "meta.embedded: #000000", - "hc_black": "default: #FFFFFF" + "hc_black": "meta.embedded: #FFFFFF" } }, { @@ -3549,7 +3549,7 @@ "light_plus": "punctuation.section.embedded.end.php: #800000", "dark_vs": "punctuation.section.embedded.end.php: #569CD6", "light_vs": "punctuation.section.embedded.end.php: #800000", - "hc_black": "default: #FFFFFF" + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -3560,7 +3560,7 @@ "light_plus": "punctuation.section.embedded.end.php: #800000", "dark_vs": "punctuation.section.embedded.end.php: #569CD6", "light_vs": "punctuation.section.embedded.end.php: #800000", - "hc_black": "default: #FFFFFF" + "hc_black": "punctuation.section.embedded: #569CD6" } }, { diff --git a/extensions/python/test/colorize-results/test_py.json b/extensions/python/test/colorize-results/test_py.json index b456114b1ed..4c183d734fa 100644 --- a/extensions/python/test/colorize-results/test_py.json +++ b/extensions/python/test/colorize-results/test_py.json @@ -5338,8 +5338,8 @@ "c": "*", "t": "source.python meta.function-call.python meta.function-call.arguments.python string.regexp.quoted.single.python keyword.operator.quantifier.regexp", "r": { - "dark_plus": "keyword.operator: #D4D4D4", - "light_plus": "keyword.operator: #000000", + "dark_plus": "keyword.operator.quantifier.regexp: #D4D4D4", + "light_plus": "keyword.operator.quantifier.regexp: #0000FF", "dark_vs": "keyword.operator: #D4D4D4", "light_vs": "keyword.operator: #000000", "hc_black": "keyword.operator: #D4D4D4" @@ -5371,8 +5371,8 @@ "c": "*", "t": "source.python meta.function-call.python meta.function-call.arguments.python string.regexp.quoted.single.python keyword.operator.quantifier.regexp", "r": { - "dark_plus": "keyword.operator: #D4D4D4", - "light_plus": "keyword.operator: #000000", + "dark_plus": "keyword.operator.quantifier.regexp: #D4D4D4", + "light_plus": "keyword.operator.quantifier.regexp: #0000FF", "dark_vs": "keyword.operator: #D4D4D4", "light_vs": "keyword.operator: #000000", "hc_black": "keyword.operator: #D4D4D4" @@ -5426,8 +5426,8 @@ "c": "+", "t": "source.python meta.function-call.python meta.function-call.arguments.python string.regexp.quoted.single.python keyword.operator.quantifier.regexp", "r": { - "dark_plus": "keyword.operator: #D4D4D4", - "light_plus": "keyword.operator: #000000", + "dark_plus": "keyword.operator.quantifier.regexp: #D4D4D4", + "light_plus": "keyword.operator.quantifier.regexp: #0000FF", "dark_vs": "keyword.operator: #D4D4D4", "light_vs": "keyword.operator: #000000", "hc_black": "keyword.operator: #D4D4D4" @@ -5470,8 +5470,8 @@ "c": "+", "t": "source.python meta.function-call.python meta.function-call.arguments.python string.regexp.quoted.single.python keyword.operator.quantifier.regexp", "r": { - "dark_plus": "keyword.operator: #D4D4D4", - "light_plus": "keyword.operator: #000000", + "dark_plus": "keyword.operator.quantifier.regexp: #D4D4D4", + "light_plus": "keyword.operator.quantifier.regexp: #0000FF", "dark_vs": "keyword.operator: #D4D4D4", "light_vs": "keyword.operator: #000000", "hc_black": "keyword.operator: #D4D4D4" @@ -5503,8 +5503,8 @@ "c": "*", "t": "source.python meta.function-call.python meta.function-call.arguments.python string.regexp.quoted.single.python keyword.operator.quantifier.regexp", "r": { - "dark_plus": "keyword.operator: #D4D4D4", - "light_plus": "keyword.operator: #000000", + "dark_plus": "keyword.operator.quantifier.regexp: #D4D4D4", + "light_plus": "keyword.operator.quantifier.regexp: #0000FF", "dark_vs": "keyword.operator: #D4D4D4", "light_vs": "keyword.operator: #000000", "hc_black": "keyword.operator: #D4D4D4" diff --git a/extensions/razor/test/colorize-results/test_cshtml.json b/extensions/razor/test/colorize-results/test_cshtml.json index 2e3dbe31e97..e7eead2eeeb 100644 --- a/extensions/razor/test/colorize-results/test_cshtml.json +++ b/extensions/razor/test/colorize-results/test_cshtml.json @@ -14,11 +14,11 @@ "c": "{", "t": "text.html.cshtml section.embedded.source.cshtml punctuation.section.embedded.begin.cshtml", "r": { - "dark_plus": "default: #D4D4D4", - "light_plus": "default: #000000", - "dark_vs": "default: #D4D4D4", - "light_vs": "default: #000000", - "hc_black": "default: #FFFFFF" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -333,11 +333,11 @@ "c": "{", "t": "text.html.cshtml section.embedded.source.cshtml section.embedded.source.cshtml punctuation.section.embedded.begin.cshtml", "r": { - "dark_plus": "default: #D4D4D4", - "light_plus": "default: #000000", - "dark_vs": "default: #D4D4D4", - "light_vs": "default: #000000", - "hc_black": "default: #FFFFFF" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -1125,22 +1125,22 @@ "c": "}", "t": "text.html.cshtml section.embedded.source.cshtml section.embedded.source.cshtml punctuation.section.embedded.begin.cshtml", "r": { - "dark_plus": "default: #D4D4D4", - "light_plus": "default: #000000", - "dark_vs": "default: #D4D4D4", - "light_vs": "default: #000000", - "hc_black": "default: #FFFFFF" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { "c": "}", "t": "text.html.cshtml section.embedded.source.cshtml punctuation.section.embedded.begin.cshtml", "r": { - "dark_plus": "default: #D4D4D4", - "light_plus": "default: #000000", - "dark_vs": "default: #D4D4D4", - "light_vs": "default: #000000", - "hc_black": "default: #FFFFFF" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -3226,11 +3226,11 @@ "c": "@(", "t": "text.html.cshtml punctuation.section.embedded.begin.cshtml", "r": { - "dark_plus": "default: #D4D4D4", - "light_plus": "default: #000000", - "dark_vs": "default: #D4D4D4", - "light_vs": "default: #000000", - "hc_black": "default: #FFFFFF" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -3270,11 +3270,11 @@ "c": ")", "t": "text.html.cshtml punctuation.section.embedded.begin.cshtml", "r": { - "dark_plus": "default: #D4D4D4", - "light_plus": "default: #000000", - "dark_vs": "default: #D4D4D4", - "light_vs": "default: #000000", - "hc_black": "default: #FFFFFF" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { diff --git a/extensions/ruby/test/colorize-results/test_rb.json b/extensions/ruby/test/colorize-results/test_rb.json index a3c5163218e..be7150a63e0 100644 --- a/extensions/ruby/test/colorize-results/test_rb.json +++ b/extensions/ruby/test/colorize-results/test_rb.json @@ -2258,11 +2258,11 @@ "c": "#{", "t": "source.ruby string.interpolated.ruby meta.embedded.line.ruby punctuation.section.embedded.begin.ruby", "r": { - "dark_plus": "meta.embedded: #D4D4D4", - "light_plus": "meta.embedded: #000000", - "dark_vs": "meta.embedded: #D4D4D4", - "light_vs": "meta.embedded: #000000", - "hc_black": "string: #CE9178" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { @@ -2280,11 +2280,11 @@ "c": "}", "t": "source.ruby string.interpolated.ruby meta.embedded.line.ruby punctuation.section.embedded.end.ruby source.ruby", "r": { - "dark_plus": "meta.embedded: #D4D4D4", - "light_plus": "meta.embedded: #000000", - "dark_vs": "meta.embedded: #D4D4D4", - "light_vs": "meta.embedded: #000000", - "hc_black": "string: #CE9178" + "dark_plus": "punctuation.section.embedded: #569CD6", + "light_plus": "punctuation.section.embedded: #0000FF", + "dark_vs": "punctuation.section.embedded: #569CD6", + "light_vs": "punctuation.section.embedded: #0000FF", + "hc_black": "punctuation.section.embedded: #569CD6" } }, { diff --git a/extensions/theme-abyss/themes/abyss-color-theme.json b/extensions/theme-abyss/themes/abyss-color-theme.json index 6b1a0f1c474..bae5fd48804 100644 --- a/extensions/theme-abyss/themes/abyss-color-theme.json +++ b/extensions/theme-abyss/themes/abyss-color-theme.json @@ -8,7 +8,7 @@ } }, { - "scope": "meta.embedded", + "scope": ["meta.embedded", "source.groovy.embedded"], "settings": { "background": "#000c18", "foreground": "#6688cc" diff --git a/extensions/theme-defaults/themes/dark_plus.json b/extensions/theme-defaults/themes/dark_plus.json index 972481b7e22..64ba03b2576 100644 --- a/extensions/theme-defaults/themes/dark_plus.json +++ b/extensions/theme-defaults/themes/dark_plus.json @@ -101,6 +101,29 @@ "settings": { "foreground": "#CE9178" } + }, + { + "scope": [ + "punctuation.definition.group.regexp", + "punctuation.definition.group.assertion.regexp", + "punctuation.definition.character-class.regexp", + "keyword.operator.negation.regexp" + ], + "settings": { + "foreground": "#d7ba7d" + } + }, + { + "scope": "keyword.operator.quantifier.regexp", + "settings": { + "foreground": "#d4d4d4" + } + }, + { + "scope": "keyword.control.anchor.regexp", + "settings": { + "foreground": "#C586C0" + } } ] } \ No newline at end of file diff --git a/extensions/theme-defaults/themes/dark_vs.json b/extensions/theme-defaults/themes/dark_vs.json index 57dd332be52..91ad2adcbd7 100644 --- a/extensions/theme-defaults/themes/dark_vs.json +++ b/extensions/theme-defaults/themes/dark_vs.json @@ -10,7 +10,7 @@ } }, { - "scope": "meta.embedded", + "scope": ["meta.embedded", "source.groovy.embedded"], "settings": { "foreground": "#D4D4D4", "background": "#1E1E1E" @@ -248,11 +248,12 @@ } }, { - "name": "JavaScript string interpolation ${}", + "name": "String interpolation", "scope": [ "punctuation.definition.template-expression.begin", "punctuation.definition.template-expression.end", - "punctuation.section.embedded.coffee" + "punctuation.section.embedded", + "constant.character.format.placeholder" ], "settings": { "foreground": "#569cd6" diff --git a/extensions/theme-defaults/themes/hc_black_defaults.json b/extensions/theme-defaults/themes/hc_black_defaults.json index 986fa7cf615..cd54a7bd6d2 100644 --- a/extensions/theme-defaults/themes/hc_black_defaults.json +++ b/extensions/theme-defaults/themes/hc_black_defaults.json @@ -14,6 +14,16 @@ "background": "#000000" } }, + { + "scope": [ + "meta.embedded", + "source.groovy.embedded" + ], + "settings": { + "foreground": "#FFFFFF", + "background": "#000000" + } + }, { "scope": "emphasis", "settings": { @@ -227,11 +237,12 @@ } }, { - "name": "JavaScript string interpolation ${}", + "name": "String interpolation", "scope": [ "punctuation.definition.template-expression.begin", "punctuation.definition.template-expression.end", - "punctuation.section.embedded.coffee" + "punctuation.section.embedded", + "constant.character.format.placeholder" ], "settings": { "foreground": "#569cd6" diff --git a/extensions/theme-defaults/themes/light_plus.json b/extensions/theme-defaults/themes/light_plus.json index c087a8f6ca1..a1dc19560a7 100644 --- a/extensions/theme-defaults/themes/light_plus.json +++ b/extensions/theme-defaults/themes/light_plus.json @@ -101,6 +101,29 @@ "settings": { "foreground": "#0451a5" } + }, + { + "scope": [ + "punctuation.definition.group.regexp", + "punctuation.definition.group.assertion.regexp", + "punctuation.definition.character-class.regexp", + "keyword.operator.negation.regexp" + ], + "settings": { + "foreground": "#ff0000" + } + }, + { + "scope": "keyword.operator.quantifier.regexp", + "settings": { + "foreground": "#0000ff" + } + }, + { + "scope": "keyword.control.anchor.regexp", + "settings": { + "foreground": "#09885a" + } } ] } \ No newline at end of file diff --git a/extensions/theme-defaults/themes/light_vs.json b/extensions/theme-defaults/themes/light_vs.json index 91f311a80a8..42fc12c88bd 100644 --- a/extensions/theme-defaults/themes/light_vs.json +++ b/extensions/theme-defaults/themes/light_vs.json @@ -4,7 +4,7 @@ "include": "./light_defaults.json", "tokenColors": [ { - "scope": "meta.embedded", + "scope": ["meta.embedded", "source.groovy.embedded"], "settings": { "foreground": "#000000ff", "background":"#ffffffff" @@ -244,11 +244,12 @@ } }, { - "name": "JavaScript string interpolation ${}", + "name": "String interpolation", "scope": [ "punctuation.definition.template-expression.begin", "punctuation.definition.template-expression.end", - "punctuation.section.embedded.coffee" + "punctuation.section.embedded", + "constant.character.format.placeholder" ], "settings": { "foreground": "#0000ff" diff --git a/extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json b/extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json index 3a14293383f..bad21aface9 100644 --- a/extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json +++ b/extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json @@ -55,7 +55,7 @@ } }, { - "scope": "meta.embedded", + "scope": ["meta.embedded", "source.groovy.embedded"], "settings": { "background": "#221a0f", "foreground": "#d3af86" diff --git a/extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json b/extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json index 31cd63a47bc..398853e9988 100644 --- a/extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json +++ b/extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json @@ -52,7 +52,7 @@ } }, { - "scope": "meta.embedded", + "scope": ["meta.embedded", "source.groovy.embedded"], "settings": { "background": "#1e1e1e", "foreground": "#C5C8C6" @@ -453,7 +453,9 @@ }, { "name": "Ruby Embedded Source", - "scope": "source.ruby.embedded.source", + "scope": [ + "punctuation.section.embedded.begin.ruby", + "punctuation.section.embedded.end.ruby"], "settings": { "foreground": "#D08442" } diff --git a/extensions/theme-monokai/themes/monokai-color-theme.json b/extensions/theme-monokai/themes/monokai-color-theme.json index a3152125248..f7e45a6daf0 100644 --- a/extensions/theme-monokai/themes/monokai-color-theme.json +++ b/extensions/theme-monokai/themes/monokai-color-theme.json @@ -97,7 +97,7 @@ } }, { - "scope": "meta.embedded", + "scope": ["meta.embedded", "source.groovy.embedded"], "settings": { "background": "#272822", "foreground": "#F8F8F2" @@ -121,7 +121,7 @@ "name": "Template Definition", "scope": [ "punctuation.definition.template-expression", - "punctuation.section.embedded.coffee" + "punctuation.section.embedded" ], "settings": { "foreground": "#F92672" diff --git a/extensions/theme-quietlight/themes/quietlight-color-theme.json b/extensions/theme-quietlight/themes/quietlight-color-theme.json index 59c6834293f..9fd5ad62cee 100644 --- a/extensions/theme-quietlight/themes/quietlight-color-theme.json +++ b/extensions/theme-quietlight/themes/quietlight-color-theme.json @@ -8,7 +8,7 @@ } }, { - "scope": "meta.embedded", + "scope": ["meta.embedded", "source.groovy.embedded"], "settings": { "background": "#F5F5F5", "foreground": "#333333" diff --git a/extensions/theme-red/themes/Red-color-theme.json b/extensions/theme-red/themes/Red-color-theme.json index 414ad2fb5e8..7b14c4d558d 100644 --- a/extensions/theme-red/themes/Red-color-theme.json +++ b/extensions/theme-red/themes/Red-color-theme.json @@ -69,7 +69,7 @@ } }, { - "scope": "meta.embedded", + "scope": ["meta.embedded", "source.groovy.embedded"], "settings": { "background": "#390000", "foreground": "#F8F8F8" @@ -169,14 +169,6 @@ "foreground": "#aa5507ff" } }, - { - "name": "String embedded-source", - "scope": "string.quoted source", - "settings": { - "fontStyle": "", - "foreground": "#9df39fff" - } - }, { "name": "String constant", "scope": "string constant", @@ -393,6 +385,18 @@ "fontStyle": "", "foreground": "#fec758ff" } + }, + { + "name": "String interpolation", + "scope": [ + "punctuation.definition.template-expression.begin", + "punctuation.definition.template-expression.end", + "punctuation.section.embedded", + "constant.character.format.placeholder" + ], + "settings": { + "foreground": "#ec0d1e" + } } ] } \ No newline at end of file diff --git a/extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json b/extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json index 88e94050dee..c7bf6f68cb1 100644 --- a/extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json +++ b/extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json @@ -8,7 +8,7 @@ } }, { - "scope": "meta.embedded", + "scope": ["meta.embedded", "source.groovy.embedded"], "settings": { "background": "#002B36", "foreground": "#93A1A1" diff --git a/extensions/theme-solarized-light/themes/solarized-light-color-theme.json b/extensions/theme-solarized-light/themes/solarized-light-color-theme.json index a7a4be6acb7..6d2b7146583 100644 --- a/extensions/theme-solarized-light/themes/solarized-light-color-theme.json +++ b/extensions/theme-solarized-light/themes/solarized-light-color-theme.json @@ -8,7 +8,7 @@ } }, { - "scope": "meta.embedded", + "scope": ["meta.embedded", "source.groovy.embedded"], "settings": { "background": "#FDF6E3", "foreground": "#657B83" diff --git a/extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-theme.json b/extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-theme.json index 23bf67fb9a6..7163c4d671a 100644 --- a/extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-theme.json +++ b/extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-theme.json @@ -61,7 +61,7 @@ } }, { - "scope": "meta.embedded", + "scope": ["meta.embedded", "source.groovy.embedded"], "settings": { "background": "#002451", "foreground": "#FFFFFF" diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 24cdd888a1c..3858934b86c 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -552,9 +552,9 @@ "resolved": "https://registry.npmjs.org/vscode-debugprotocol/-/vscode-debugprotocol-1.23.0.tgz" }, "vscode-ripgrep": { - "version": "0.0.25", - "from": "vscode-ripgrep@0.0.25", - "resolved": "https://registry.npmjs.org/vscode-ripgrep/-/vscode-ripgrep-0.0.25.tgz" + "version": "0.0.26", + "from": "vscode-ripgrep@0.0.26", + "resolved": "https://registry.npmjs.org/vscode-ripgrep/-/vscode-ripgrep-0.0.26.tgz" }, "vscode-textmate": { "version": "3.1.5", @@ -574,7 +574,7 @@ "xterm": { "version": "3.0.0", "from": "Tyriar/xterm.js#vscode-release/1.17", - "resolved": "git+https://github.com/Tyriar/xterm.js.git#c3039b4d63b5c0e4a0c993e04714ad62fd056185" + "resolved": "git+https://github.com/Tyriar/xterm.js.git#4483a2faf442101b507d033e4d25d134dddbe2ff" }, "yauzl": { "version": "2.8.0", diff --git a/package.json b/package.json index 50f4b03080a..2c6152bff56 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "semver": "4.3.6", "v8-profiler": "jrieken/v8-profiler#vscode", "vscode-debugprotocol": "1.23.0", - "vscode-ripgrep": "0.0.25", + "vscode-ripgrep": "0.0.26", "vscode-textmate": "^3.1.5", "winreg": "1.2.0", "xterm": "Tyriar/xterm.js#vscode-release/1.17", diff --git a/scripts/test.sh b/scripts/test.sh index 0812c9345fd..ce1e5e11856 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -28,6 +28,7 @@ test -d node_modules || ./scripts/npm.sh install (test -f "$CODE" && [ $INTENDED_VERSION == $INSTALLED_VERSION ]) || ./node_modules/.bin/gulp electron # Unit Tests +export ELECTRON_ENABLE_LOGGING=1 if [[ "$OSTYPE" == "darwin"* ]]; then cd $ROOT ; ulimit -n 4096 ; \ "$CODE" \ diff --git a/src/vs/base/browser/ui/list/listWidget.ts b/src/vs/base/browser/ui/list/listWidget.ts index 3a4e10f7b26..9eb101a4f35 100644 --- a/src/vs/base/browser/ui/list/listWidget.ts +++ b/src/vs/base/browser/ui/list/listWidget.ts @@ -348,8 +348,6 @@ class MouseController implements IDisposable { } private onMouseDown(e: IListMouseEvent): void { - e.preventDefault(); - e.stopPropagation(); this.view.domNode.focus(); let reference = this.list.getFocus()[0]; @@ -373,9 +371,6 @@ class MouseController implements IDisposable { } private onPointer(e: IListMouseEvent): void { - e.preventDefault(); - e.stopPropagation(); - if (isSelectionChangeEvent(e)) { return; } @@ -388,9 +383,6 @@ class MouseController implements IDisposable { } private onDoubleClick(e: IListMouseEvent): void { - e.preventDefault(); - e.stopPropagation(); - if (isSelectionChangeEvent(e)) { return; } diff --git a/src/vs/base/browser/ui/splitview/splitview.ts b/src/vs/base/browser/ui/splitview/splitview.ts index 6faeda7eb20..74a4873e181 100644 --- a/src/vs/base/browser/ui/splitview/splitview.ts +++ b/src/vs/base/browser/ui/splitview/splitview.ts @@ -244,9 +244,9 @@ export abstract class HeaderView extends View { protected abstract layoutBody(size: number): void; } -export interface ICollapsibleViewOptions { +export interface IAbstractCollapsibleViewOptions { sizing: ViewSizing; - ariaHeaderLabel: string; + ariaHeaderLabel?: string; bodySize?: number; initialState?: CollapsibleState; } @@ -268,7 +268,7 @@ export abstract class AbstractCollapsibleView extends HeaderView { private _previousSize: number = null; private readonly viewSizing: ViewSizing; - constructor(initialSize: number | undefined, opts: ICollapsibleViewOptions) { + constructor(initialSize: number | undefined, opts: IAbstractCollapsibleViewOptions) { super(initialSize, opts); this.viewSizing = opts.sizing; this.ariaHeaderLabel = opts.ariaHeaderLabel; @@ -493,6 +493,7 @@ export interface SplitViewStyles { export class SplitView extends lifecycle.Disposable implements sash.IHorizontalSashLayoutProvider, sash.IVerticalSashLayoutProvider { + private orientation: Orientation; private canDragAndDrop: boolean; private el: HTMLElement; @@ -521,6 +522,10 @@ export class SplitView extends lifecycle.Disposable implements private _onDidOrderChange: Emitter = this._register(new Emitter()); readonly onDidOrderChange: Event = this._onDidOrderChange.event; + get length(): number { + return this.views.length; + } + constructor(container: HTMLElement, options?: IOptions) { super(); options = options || {}; @@ -560,18 +565,18 @@ export class SplitView extends lifecycle.Disposable implements } // The void space exists to handle the case where all other views are fixed size - this.addView(new VoidView(), 1, 0); + this.addView(new VoidView(), 0); + } + + getView(index: number): IView | undefined { + return this.views[index]; } getViews(): T[] { return this.views.slice(0, this.views.length - 1); } - addView(view: IView, initialWeight: number = 1, index = this.views.length - 1): void { - if (initialWeight <= 0) { - throw new Error('Initial weight must be a positive number.'); - } - + addView(view: IView, index = this.views.length - 1): void { /** * Reset size to null. This will layout newly added views to initial weights. */ diff --git a/src/vs/base/browser/ui/toolbar/toolbar.ts b/src/vs/base/browser/ui/toolbar/toolbar.ts index 2565b518f14..7f0ef21e7d2 100644 --- a/src/vs/base/browser/ui/toolbar/toolbar.ts +++ b/src/vs/base/browser/ui/toolbar/toolbar.ts @@ -23,6 +23,7 @@ export interface IToolBarOptions { actionItemProvider?: IActionItemProvider; ariaLabel?: string; getKeyBinding?: (action: IAction) => ResolvedKeybinding; + actionRunner?: IActionRunner; } /** @@ -49,6 +50,7 @@ export class ToolBar { this.actionBar = new ActionBar($(element), { orientation: options.orientation, ariaLabel: options.ariaLabel, + actionRunner: options.actionRunner, actionItemProvider: (action: Action) => { // Return special action item for the toggle menu action diff --git a/src/vs/base/common/labels.ts b/src/vs/base/common/labels.ts index 63b1c9697ab..d86e3f668e2 100644 --- a/src/vs/base/common/labels.ts +++ b/src/vs/base/common/labels.ts @@ -58,8 +58,8 @@ export function getPathLabel(resource: URI | string, rootProvider?: IRootProvide } // convert c:\something => C:\something - if (platform.isWindows && resource.fsPath && resource.fsPath[1] === ':') { - return normalize(resource.fsPath.charAt(0).toUpperCase() + resource.fsPath.slice(1), true); + if (hasDriveLetter(resource.fsPath)) { + return normalize(normalizeDriveLetter(resource.fsPath), true); } // normalize and tildify (macOS, Linux only) @@ -71,6 +71,18 @@ export function getPathLabel(resource: URI | string, rootProvider?: IRootProvide return res; } +function hasDriveLetter(path: string): boolean { + return platform.isWindows && path && path[1] === ':'; +} + +export function normalizeDriveLetter(path: string): string { + if (hasDriveLetter(path)) { + return path.charAt(0).toUpperCase() + path.slice(1); + } + + return path; +} + export function tildify(path: string, userHome: string): string { if (path && (platform.isMacintosh || platform.isLinux) && isEqualOrParent(path, userHome, !platform.isLinux /* ignorecase */)) { path = `~${path.substr(userHome.length)}`; diff --git a/src/vs/base/common/strings.ts b/src/vs/base/common/strings.ts index 7af18aadcb6..2200f4e5721 100644 --- a/src/vs/base/common/strings.ts +++ b/src/vs/base/common/strings.ts @@ -238,9 +238,19 @@ export function regExpLeadsToEndlessLoop(regexp: RegExp): boolean { * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize} */ export const canNormalize = typeof (('').normalize) === 'function'; -const nonAsciiCharactersPattern = /[^\u0000-\u0080]/; -const normalizedCache = new BoundedMap(10000); // bounded to 10000 elements + +const nfcCache = new BoundedMap(10000); // bounded to 10000 elements export function normalizeNFC(str: string): string { + return normalize(str, 'NFC', nfcCache); +} + +const nfdCache = new BoundedMap(10000); // bounded to 10000 elements +export function normalizeNFD(str: string): string { + return normalize(str, 'NFD', nfdCache); +} + +const nonAsciiCharactersPattern = /[^\u0000-\u0080]/; +function normalize(str: string, form: string, normalizedCache: BoundedMap): string { if (!canNormalize || !str) { return str; } @@ -252,7 +262,7 @@ export function normalizeNFC(str: string): string { let res: string; if (nonAsciiCharactersPattern.test(str)) { - res = (str).normalize('NFC'); + res = (str).normalize(form); } else { res = str; } diff --git a/src/vs/base/node/config.ts b/src/vs/base/node/config.ts index 6d30e650d6e..4ec9fede36f 100644 --- a/src/vs/base/node/config.ts +++ b/src/vs/base/node/config.ts @@ -6,7 +6,7 @@ 'use strict'; import * as fs from 'fs'; -import * as path from 'path'; +import { dirname, basename } from 'path'; import * as objects from 'vs/base/common/objects'; import { IDisposable, dispose, toDisposable } from 'vs/base/common/lifecycle'; import Event, { Emitter } from 'vs/base/common/event'; @@ -49,9 +49,11 @@ export class ConfigWatcher implements IConfigWatcher, IDisposable { private timeoutHandle: NodeJS.Timer; private disposables: IDisposable[]; private _onDidUpdateConfiguration: Emitter>; + private configName: string; constructor(private _path: string, private options: IConfigOptions = { changeBufferDelay: 0, defaultConfig: Object.create(null), onError: error => console.error(error) }) { this.disposables = []; + this.configName = basename(this._path); this._onDidUpdateConfiguration = new Emitter>(); this.disposables.push(this._onDidUpdateConfiguration); @@ -121,8 +123,8 @@ export class ConfigWatcher implements IConfigWatcher, IDisposable { private registerWatcher(): void { // Watch the parent of the path so that we detect ADD and DELETES - const parentFolder = path.dirname(this._path); - this.watch(parentFolder); + const parentFolder = dirname(this._path); + this.watch(parentFolder, true); // Check if the path is a symlink and watch its target if so fs.lstat(this._path, (err, stat) => { @@ -137,20 +139,20 @@ export class ConfigWatcher implements IConfigWatcher, IDisposable { return; // path is not a valid symlink } - this.watch(realPath); + this.watch(realPath, false); }); } }); } - private watch(path: string): void { + private watch(path: string, isParentFolder: boolean): void { if (this.disposed) { return; // avoid watchers that will never get disposed by checking for being disposed } try { const watcher = fs.watch(path); - watcher.on('change', () => this.onConfigFileChange()); + watcher.on('change', (type, file) => this.onConfigFileChange(type, file.toString(), isParentFolder)); watcher.on('error', (code, signal) => this.options.onError(`Error watching ${path} for configuration changes (${code}, ${signal})`)); this.disposables.push(toDisposable(() => { @@ -166,7 +168,11 @@ export class ConfigWatcher implements IConfigWatcher, IDisposable { } } - private onConfigFileChange(): void { + private onConfigFileChange(eventType: string, filename: string, isParentFolder: boolean): void { + if (isParentFolder && filename !== this.configName) { + return; // a change to a sibling file that is not our config file + } + if (this.timeoutHandle) { global.clearTimeout(this.timeoutHandle); this.timeoutHandle = null; diff --git a/src/vs/code/electron-main/keyboard.ts b/src/vs/code/electron-main/keyboard.ts index 73c3289adf6..3b19f2fea15 100644 --- a/src/vs/code/electron-main/keyboard.ts +++ b/src/vs/code/electron-main/keyboard.ts @@ -174,4 +174,9 @@ export class KeybindingsResolver { return this.keybindings[commandId]; } + + public dispose(): void { + this._onKeybindingsChanged.dispose(); + this.keybindingsWatcher.dispose(); + } } \ No newline at end of file diff --git a/src/vs/editor/contrib/referenceSearch/browser/peekViewWidget.ts b/src/vs/editor/contrib/referenceSearch/browser/peekViewWidget.ts index 1d912e8d055..a0a78bac128 100644 --- a/src/vs/editor/contrib/referenceSearch/browser/peekViewWidget.ts +++ b/src/vs/editor/contrib/referenceSearch/browser/peekViewWidget.ts @@ -174,7 +174,6 @@ export abstract class PeekViewWidget extends ZoneWidget { if (!this._isShowing && heightInPixel < 0) { // Looks like the view zone got folded away! this.dispose(); - this._onDidClose.fire(this); return; } diff --git a/src/vs/platform/configuration/node/configurationService.ts b/src/vs/platform/configuration/node/configurationService.ts index 2eff5bb204f..8f6005c6430 100644 --- a/src/vs/platform/configuration/node/configurationService.ts +++ b/src/vs/platform/configuration/node/configurationService.ts @@ -8,7 +8,7 @@ import { TPromise } from 'vs/base/common/winjs.base'; import { ConfigWatcher } from 'vs/base/node/config'; import { Registry } from 'vs/platform/registry/common/platform'; import { IConfigurationRegistry, Extensions } from 'vs/platform/configuration/common/configurationRegistry'; -import { IDisposable, toDisposable, Disposable } from 'vs/base/common/lifecycle'; +import { IDisposable, Disposable } from 'vs/base/common/lifecycle'; import { ConfigurationSource, IConfigurationService, IConfigurationServiceEvent, IConfigurationValue, IConfigurationKeys, ConfigurationModel, IConfigurationOverrides, Configuration, IConfigurationValues, IConfigurationData } from 'vs/platform/configuration/common/configuration'; import { CustomConfigurationModel, DefaultConfigurationModel } from 'vs/platform/configuration/common/model'; import Event, { Emitter } from 'vs/base/common/event'; @@ -37,7 +37,7 @@ export class ConfigurationService extends Disposable implements IConfiguratio return userConfigModel; } }); - this._register(toDisposable(() => this.userConfigModelWatcher.dispose())); + this._register(this.userConfigModelWatcher); // Listeners this._register(this.userConfigModelWatcher.onDidUpdateConfiguration(() => this.onConfigurationChange(ConfigurationSource.User))); diff --git a/src/vs/platform/environment/node/environmentService.ts b/src/vs/platform/environment/node/environmentService.ts index 9ba9802831a..36a1ed42492 100644 --- a/src/vs/platform/environment/node/environmentService.ts +++ b/src/vs/platform/environment/node/environmentService.ts @@ -10,7 +10,7 @@ import * as os from 'os'; import * as path from 'path'; import * as fs from 'fs'; import URI from 'vs/base/common/uri'; -import { generateUuid } from 'vs/base/common/uuid'; +import { generateUuid, isUUID } from 'vs/base/common/uuid'; import { memoize } from 'vs/base/common/decorators'; import pkg from 'vs/platform/node/package'; import product from 'vs/platform/node/product'; @@ -31,9 +31,13 @@ function getUniqueUserId(): string { return crypto.createHash('sha256').update(username).digest('hex').substr(0, 6); } +// Read this before there's any chance it is overwritten +// Related to https://github.com/Microsoft/vscode/issues/30624 +const xdgRuntimeDir = process.env['XDG_RUNTIME_DIR']; + function getNixIPCHandle(userDataPath: string, type: string): string { - if (process.env['XDG_RUNTIME_DIR']) { - return path.join(process.env['XDG_RUNTIME_DIR'], `${pkg.name}-${pkg.version}-${type}.sock`); + if (xdgRuntimeDir) { + return path.join(xdgRuntimeDir, `${pkg.name}-${pkg.version}-${type}.sock`); } return path.join(userDataPath, `${pkg.version}-${type}.sock`); } @@ -151,11 +155,15 @@ export class EnvironmentService implements IEnvironmentService { try { this.machineUUID = fs.readFileSync(machineIdPath, 'utf8'); + + if (!isUUID(this.machineUUID)) { + throw new Error('Not a UUID'); + } } catch (err) { this.machineUUID = generateUuid(); try { - fs.writeFileSync(machineIdPath, this.machineUUID); + fs.writeFileSync(machineIdPath, this.machineUUID, 'utf8'); } catch (err) { console.warn('Could not store machine ID'); } diff --git a/src/vs/platform/telemetry/common/experiments.ts b/src/vs/platform/telemetry/common/experiments.ts index 103f1908f50..4a42a898e5e 100644 --- a/src/vs/platform/telemetry/common/experiments.ts +++ b/src/vs/platform/telemetry/common/experiments.ts @@ -4,7 +4,6 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import * as platform from 'vs/base/common/platform'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IStorageService } from 'vs/platform/storage/common/storage'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; @@ -44,10 +43,7 @@ export class ExperimentService implements IExperimentService { function loadExperiments(storageService: IStorageService, configurationService: IConfigurationService): IExperiments { const experiments = splitExperimentsRandomness(storageService); - if (platform.isWindows) { - // Ripgrep triggers MsMpEng.exe (https://github.com/BurntSushi/ripgrep/issues/600) - experiments.ripgrepQuickSearch = false; - } + experiments.ripgrepQuickSearch = true; return applyOverrides(experiments, configurationService); } diff --git a/src/vs/platform/theme/common/colorExtensionPoint.ts b/src/vs/platform/theme/common/colorExtensionPoint.ts index f42ffb926a3..51a47fdb4bb 100644 --- a/src/vs/platform/theme/common/colorExtensionPoint.ts +++ b/src/vs/platform/theme/common/colorExtensionPoint.ts @@ -93,7 +93,7 @@ export class ColorExtensionPoint { extensionValue.forEach(extension => { if (typeof extension.id !== 'string' || extension.id.length === 0) { - collector.error(nls.localize('invalid.id', "'configuration.colors.id' must be defined an can not be empty")); + collector.error(nls.localize('invalid.id', "'configuration.colors.id' must be defined and can not be empty")); return; } if (!extension.id.match(colorIdPattern)) { @@ -101,7 +101,7 @@ export class ColorExtensionPoint { return; } if (typeof extension.description !== 'string' || extension.id.length === 0) { - collector.error(nls.localize('invalid.description', "'configuration.colors.description' must be defined an can not be empty")); + collector.error(nls.localize('invalid.description', "'configuration.colors.description' must be defined and can not be empty")); return; } let defaults = extension.defaults; diff --git a/src/vs/platform/workspaces/electron-main/workspacesMainService.ts b/src/vs/platform/workspaces/electron-main/workspacesMainService.ts index 6f29401ba8e..da22362e776 100644 --- a/src/vs/platform/workspaces/electron-main/workspacesMainService.ts +++ b/src/vs/platform/workspaces/electron-main/workspacesMainService.ts @@ -12,14 +12,19 @@ import { IEnvironmentService } from 'vs/platform/environment/common/environment' import { extname, join, dirname, isAbsolute, resolve, relative } from 'path'; import { mkdirp, writeFile, readFile } from 'vs/base/node/pfs'; import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs'; -import { isLinux } from 'vs/base/common/platform'; +import { isLinux, isMacintosh, isWindows } from 'vs/base/common/platform'; import { delSync, readdirSync } from 'vs/base/node/extfs'; import Event, { Emitter } from 'vs/base/common/event'; import { ILogService } from 'vs/platform/log/common/log'; -import { isEqual, isEqualOrParent } from 'vs/base/common/paths'; +import { isEqual, isEqualOrParent, normalize } from 'vs/base/common/paths'; import { coalesce } from 'vs/base/common/arrays'; import { createHash } from 'crypto'; import * as json from 'vs/base/common/json'; +import * as jsonEdit from 'vs/base/common/jsonEdit'; +import { applyEdit } from 'vs/base/common/jsonFormatter'; +import { normalizeDriveLetter } from 'vs/base/common/labels'; + +const SLASH = '/'; export class WorkspacesMainService implements IWorkspacesMainService { @@ -181,10 +186,11 @@ export class WorkspacesMainService implements IWorkspacesMainService { } // Read the contents of the workspace file and resolve it - return readFile(workspace.configPath).then(rawWorkspaceContents => { + return readFile(workspace.configPath).then(raw => { + const rawWorkspaceContents = raw.toString(); let storedWorkspace: IStoredWorkspace; try { - storedWorkspace = this.doParseStoredWorkspace(workspace.configPath, rawWorkspaceContents.toString()); + storedWorkspace = this.doParseStoredWorkspace(workspace.configPath, rawWorkspaceContents); } catch (error) { return TPromise.wrapError(error); } @@ -192,6 +198,18 @@ export class WorkspacesMainService implements IWorkspacesMainService { const sourceConfigFolder = dirname(workspace.configPath); const targetConfigFolder = dirname(targetConfigPath); + // Determine which path separator to use: + // - macOS/Linux: slash + // - Windows: use slash if already used in that file + let useSlashesForPath = !isWindows; + if (isWindows) { + storedWorkspace.folders.forEach(folder => { + if (folder.path.indexOf(SLASH) >= 0) { + useSlashesForPath = true; + } + }); + } + // Rewrite absolute paths to relative paths if the target workspace folder // is a parent of the location of the workspace file itself. Otherwise keep // using absolute paths. @@ -203,9 +221,32 @@ export class WorkspacesMainService implements IWorkspacesMainService { if (isEqualOrParent(folder.path, targetConfigFolder, !isLinux)) { folder.path = relative(targetConfigFolder, folder.path) || '.'; // absolute paths get converted to relative ones to workspace location if possible } + + // Windows gets special treatment: + // - normalize all paths to get nice casing of drive letters + // - convert to slashes if we want to use slashes for paths + if (isWindows) { + if (isAbsolute(folder.path)) { + if (useSlashesForPath) { + folder.path = normalize(folder.path, false /* do not use OS path separator */); + } + + folder.path = normalizeDriveLetter(folder.path); + } else if (useSlashesForPath) { + folder.path = folder.path.replace(/[\\]/g, SLASH); + } + } }); - return writeFile(targetConfigPath, JSON.stringify(storedWorkspace, null, '\t')).then(() => { + // Preserve as much of the existing workspace as possible by using jsonEdit + // and only changing the folders portion. + let newRawWorkspaceContents = rawWorkspaceContents; + const edits = jsonEdit.setProperty(rawWorkspaceContents, ['folders'], storedWorkspace.folders, { insertSpaces: false, tabSize: 4, eol: (isLinux || isMacintosh) ? '\n' : '\r\n' }); + edits.forEach(edit => { + newRawWorkspaceContents = applyEdit(rawWorkspaceContents, edit); + }); + + return writeFile(targetConfigPath, newRawWorkspaceContents).then(() => { const savedWorkspaceIdentifier = { id: this.getWorkspaceId(targetConfigPath), configPath: targetConfigPath }; // Event diff --git a/src/vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts b/src/vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts index ec0683890ca..884508632e9 100644 --- a/src/vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts +++ b/src/vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts @@ -245,6 +245,32 @@ suite('WorkspacesMainService', () => { }); }); + test('saveWorkspace (saved workspace, preserves comments)', done => { + return service.createWorkspace([process.cwd(), os.tmpdir(), path.join(os.tmpdir(), 'somefolder')]).then(workspace => { + const workspaceConfigPath = path.join(os.tmpdir(), `myworkspace.${Date.now()}.${WORKSPACE_EXTENSION}`); + const newWorkspaceConfigPath = path.join(os.tmpdir(), `mySavedWorkspace.${Date.now()}.${WORKSPACE_EXTENSION}`); + + return service.saveWorkspace(workspace, workspaceConfigPath).then(savedWorkspace => { + const contents = fs.readFileSync(savedWorkspace.configPath).toString(); + fs.writeFileSync(savedWorkspace.configPath, `// this is a comment\n${contents}`); + + return service.saveWorkspace(savedWorkspace, newWorkspaceConfigPath).then(newSavedWorkspace => { + assert.ok(newSavedWorkspace.id); + assert.notEqual(newSavedWorkspace.id, workspace.id); + assert.equal(newSavedWorkspace.configPath, newWorkspaceConfigPath); + + const savedContents = fs.readFileSync(newSavedWorkspace.configPath).toString(); + assert.equal(0, savedContents.indexOf('// this is a comment')); + + extfs.delSync(workspaceConfigPath); + extfs.delSync(newWorkspaceConfigPath); + + done(); + }); + }); + }); + }); + test('deleteUntitledWorkspaceSync (untitled)', done => { return service.createWorkspace([process.cwd(), os.tmpdir()]).then(workspace => { assert.ok(fs.existsSync(workspace.configPath)); diff --git a/src/vs/vscode.d.ts b/src/vs/vscode.d.ts index edfa2a8dc69..2de5b818653 100644 --- a/src/vs/vscode.d.ts +++ b/src/vs/vscode.d.ts @@ -773,7 +773,7 @@ declare module 'vscode' { export interface ThemableDecorationRenderOptions { /** * Background color of the decoration. Use rgba() and define transparent background colors to play well with other decorations. - * Alternativly a color from the color registry an be [referenced](#ColorIdentifier). + * Alternatively a color from the color registry can be [referenced](#ThemeColor). */ backgroundColor?: string | ThemeColor; diff --git a/src/vs/workbench/api/electron-browser/mainThreadWorkspace.ts b/src/vs/workbench/api/electron-browser/mainThreadWorkspace.ts index be55f7cf0fb..2f228df672d 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadWorkspace.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadWorkspace.ts @@ -20,6 +20,7 @@ import { IDisposable, dispose, combinedDisposable } from 'vs/base/common/lifecyc import { RemoteFileService } from 'vs/workbench/services/files/electron-browser/remoteFileService'; import { Emitter } from 'vs/base/common/event'; import { extHostNamedCustomer } from 'vs/workbench/api/electron-browser/extHostCustomers'; +import { IExperimentService } from 'vs/platform/telemetry/common/experiments'; @extHostNamedCustomer(MainContext.MainThreadWorkspace) export class MainThreadWorkspace implements MainThreadWorkspaceShape { @@ -35,6 +36,7 @@ export class MainThreadWorkspace implements MainThreadWorkspaceShape { @ITextFileService private readonly _textFileService: ITextFileService, @IWorkbenchEditorService private readonly _editorService: IWorkbenchEditorService, @ITextModelService private readonly _textModelResolverService: ITextModelService, + @IExperimentService private experimentService: IExperimentService, @IFileService private readonly _fileService: IFileService ) { this._proxy = extHostContext.get(ExtHostContext.ExtHostWorkspace); @@ -70,6 +72,7 @@ export class MainThreadWorkspace implements MainThreadWorkspaceShape { maxResults, includePattern: { [include]: true }, excludePattern: { [exclude]: true }, + useRipgrep: this.experimentService.getExperiments().ripgrepQuickSearch }; this._searchService.extendQuery(query); diff --git a/src/vs/workbench/browser/parts/views/views.ts b/src/vs/workbench/browser/parts/views/views.ts index cf378b00e90..d432db70921 100644 --- a/src/vs/workbench/browser/parts/views/views.ts +++ b/src/vs/workbench/browser/parts/views/views.ts @@ -35,86 +35,54 @@ import { SIDE_BAR_DRAG_AND_DROP_BACKGROUND, SIDE_BAR_SECTION_HEADER_FOREGROUND, import { contrastBorder } from 'vs/platform/theme/common/colorRegistry'; export interface IViewOptions { - id: string; - name: string; - actionRunner: IActionRunner; - collapsed: boolean; - } export interface IViewConstructorSignature { - - new(initialSize: number, options: IViewOptions, ...services: { _serviceBrand: any; }[]): IView; - + new(initialSize: number, options: IViewOptions, ...services: { _serviceBrand: any; }[]): IViewletView; } -export interface IView extends IBaseView, IThemable { - +export interface IViewletView extends IBaseView, IThemable { id: string; - name: string; - getHeaderElement(): HTMLElement; - create(): TPromise; - setVisible(visible: boolean): TPromise; - isVisible(): boolean; - getActions(): IAction[]; - getSecondaryActions(): IAction[]; - getActionItem(action: IAction): IActionItem; - getActionsContext(): any; - showHeader(): boolean; - hideHeader(): boolean; - focusBody(): void; - isExpanded(): boolean; - expand(): void; - collapse(): void; - getOptimalWidth(): number; - shutdown(): void; } export interface ICollapsibleViewOptions extends IViewOptions { - ariaHeaderLabel?: string; - sizing: ViewSizing; - initialBodySize?: number; - } -export abstract class CollapsibleView extends AbstractCollapsibleView implements IView { +export abstract class CollapsibleView extends AbstractCollapsibleView implements IViewletView { readonly id: string; readonly name: string; - protected treeContainer: HTMLElement; protected tree: ITree; protected toDispose: IDisposable[]; protected toolBar: ToolBar; protected actionRunner: IActionRunner; protected isDisposed: boolean; - private _isVisible: boolean; - private dragHandler: DelayedDragHandler; constructor( @@ -144,7 +112,7 @@ export abstract class CollapsibleView extends AbstractCollapsibleView implements get draggableLabel(): string { return this.name; } - public create(): TPromise { + create(): TPromise { return TPromise.as(null); } @@ -152,7 +120,7 @@ export abstract class CollapsibleView extends AbstractCollapsibleView implements return this.header; } - public renderHeader(container: HTMLElement): void { + renderHeader(container: HTMLElement): void { // Tool bar this.toolBar = new ToolBar($('div.actions').appendTo(container).getHTMLElement(), this.contextMenuService, { @@ -184,15 +152,15 @@ export abstract class CollapsibleView extends AbstractCollapsibleView implements return treeContainer; } - public getViewer(): ITree { + getViewer(): ITree { return this.tree; } - public isVisible(): boolean { + isVisible(): boolean { return this._isVisible; } - public setVisible(visible: boolean): TPromise { + setVisible(visible: boolean): TPromise { if (this._isVisible !== visible) { this._isVisible = visible; this.updateTreeVisibility(this.tree, visible && this.state === CollapsibleState.EXPANDED); @@ -201,7 +169,7 @@ export abstract class CollapsibleView extends AbstractCollapsibleView implements return TPromise.as(null); } - public focusBody(): void { + focusBody(): void { this.focusTree(); } @@ -213,38 +181,38 @@ export abstract class CollapsibleView extends AbstractCollapsibleView implements return this.tree.reveal(element, relativeTop); } - public layoutBody(size: number): void { + layoutBody(size: number): void { if (this.tree) { this.treeContainer.style.height = size + 'px'; this.tree.layout(size); } } - public getActions(): IAction[] { + getActions(): IAction[] { return []; } - public getSecondaryActions(): IAction[] { + getSecondaryActions(): IAction[] { return []; } - public getActionItem(action: IAction): IActionItem { + getActionItem(action: IAction): IActionItem { return null; } - public getActionsContext(): any { + getActionsContext(): any { return undefined; } - public shutdown(): void { + shutdown(): void { // Subclass to implement } - public getOptimalWidth(): number { + getOptimalWidth(): number { return 0; } - public dispose(): void { + dispose(): void { this.isDisposed = true; this.treeContainer = null; @@ -300,33 +268,24 @@ export abstract class CollapsibleView extends AbstractCollapsibleView implements } export interface IViewletViewOptions extends IViewOptions { - viewletSettings: object; - } export interface IViewState { - collapsed: boolean; - size: number | undefined; - isHidden: boolean; - order: number; - } export class ViewsViewlet extends Viewlet { protected viewletContainer: HTMLElement; - protected lastFocusedView: IView; - + protected lastFocusedView: IViewletView; private splitView: SplitView; private viewHeaderContextMenuListeners: IDisposable[] = []; protected dimension: Dimension; private viewletSettings: object; - private readonly viewsContextKeys: Set = new Set(); protected viewsStates: Map = new Map(); private areExtensionsReady: boolean = false; @@ -339,7 +298,6 @@ export class ViewsViewlet extends Viewlet { @IStorageService protected storageService: IStorageService, @IInstantiationService protected instantiationService: IInstantiationService, @IThemeService themeService: IThemeService, - @IWorkspaceContextService protected contextService: IWorkspaceContextService, @IContextKeyService protected contextKeyService: IContextKeyService, @IContextMenuService protected contextMenuService: IContextMenuService, @IExtensionService extensionService: IExtensionService @@ -358,15 +316,15 @@ export class ViewsViewlet extends Viewlet { }); } - public create(parent: Builder): TPromise { + create(parent: Builder): TPromise { super.create(parent); this.viewletContainer = DOM.append(parent.getHTMLElement(), DOM.$('')); this.splitView = this._register(new SplitView(this.viewletContainer, { canChangeOrderByDragAndDrop: true })); this.attachSplitViewStyler(this.splitView); - this._register(this.splitView.onFocus((view: IView) => this.lastFocusedView = view)); + this._register(this.splitView.onFocus((view: IViewletView) => this.lastFocusedView = view)); this._register(this.splitView.onDidOrderChange(() => { - const views = this.splitView.getViews(); + const views = this.splitView.getViews(); for (let order = 0; order < views.length; order++) { this.viewsStates.get(views[order].id).order = order; } @@ -374,34 +332,34 @@ export class ViewsViewlet extends Viewlet { return this.onViewsRegistered(ViewsRegistry.getViews(this.location)) .then(() => { - this.lastFocusedView = this.splitView.getViews()[0]; + this.lastFocusedView = this.splitView.getViews()[0]; this.focus(); }); } - public getTitle(): string { + getTitle(): string { let title = Registry.as(Extensions.Viewlets).getViewlet(this.getId()).name; - if (this.showHeaderInTitleArea() && this.splitView.getViews()[0]) { - title += ': ' + this.splitView.getViews()[0].name; + if (this.showHeaderInTitleArea() && this.splitView.getViews()[0]) { + title += ': ' + this.splitView.getViews()[0].name; } return title; } - public getActions(): IAction[] { - if (this.showHeaderInTitleArea() && this.splitView.getViews()[0]) { - return this.splitView.getViews()[0].getActions(); + getActions(): IAction[] { + if (this.showHeaderInTitleArea() && this.splitView.getViews()[0]) { + return this.splitView.getViews()[0].getActions(); } return []; } - public getSecondaryActions(): IAction[] { - if (this.showHeaderInTitleArea() && this.splitView.getViews()[0]) { - return this.splitView.getViews()[0].getSecondaryActions(); + getSecondaryActions(): IAction[] { + if (this.showHeaderInTitleArea() && this.splitView.getViews()[0]) { + return this.splitView.getViews()[0].getSecondaryActions(); } return []; } - public getContextMenuActions(): IAction[] { + getContextMenuActions(): IAction[] { return this.getViewDescriptorsFromRegistry(true) .filter(viewDescriptor => viewDescriptor.canToggleVisibility && this.contextKeyService.contextMatchesRules(viewDescriptor.when)) .map(viewDescriptor => ({ @@ -413,14 +371,14 @@ export class ViewsViewlet extends Viewlet { })); } - public setVisible(visible: boolean): TPromise { + setVisible(visible: boolean): TPromise { return super.setVisible(visible) - .then(() => TPromise.join(this.splitView.getViews().filter(view => view.isVisible() !== visible) + .then(() => TPromise.join(this.splitView.getViews().filter(view => view.isVisible() !== visible) .map((view) => view.setVisible(visible)))) .then(() => void 0); } - public focus(): void { + focus(): void { super.focus(); if (this.lastFocusedView) { @@ -430,26 +388,26 @@ export class ViewsViewlet extends Viewlet { } } - public layout(dimension: Dimension): void { + layout(dimension: Dimension): void { this.dimension = dimension; this.layoutViews(); } - public getOptimalWidth(): number { + getOptimalWidth(): number { const additionalMargin = 16; - const optimalWidth = Math.max(...this.splitView.getViews().map(view => view.getOptimalWidth() || 0)); + const optimalWidth = Math.max(...this.splitView.getViews().map(view => view.getOptimalWidth() || 0)); return optimalWidth + additionalMargin; } - public shutdown(): void { - this.splitView.getViews().forEach((view) => view.shutdown()); + shutdown(): void { + this.splitView.getViews().forEach((view) => view.shutdown()); super.shutdown(); } private layoutViews(): void { if (this.splitView) { this.splitView.layout(this.dimension.height); - for (const view of this.splitView.getViews()) { + for (const view of this.splitView.getViews()) { let viewState = this.updateViewStateSize(view); this.viewsStates.set(view.id, viewState); } @@ -470,7 +428,7 @@ export class ViewsViewlet extends Viewlet { this.updateViews(); } - private onViewsRegistered(views: IViewDescriptor[]): TPromise { + private onViewsRegistered(views: IViewDescriptor[]): TPromise { this.viewsContextKeys.clear(); for (const viewDescriptor of this.getViewDescriptorsFromRegistry()) { if (viewDescriptor.when) { @@ -483,7 +441,7 @@ export class ViewsViewlet extends Viewlet { return this.updateViews(); } - private onViewsDeregistered(views: IViewDescriptor[]): TPromise { + private onViewsDeregistered(views: IViewDescriptor[]): TPromise { return this.updateViews(views); } @@ -505,7 +463,7 @@ export class ViewsViewlet extends Viewlet { } } - protected updateViews(unregisteredViews: IViewDescriptor[] = []): TPromise { + protected updateViews(unregisteredViews: IViewDescriptor[] = []): TPromise { if (this.splitView) { const registeredViews = this.getViewDescriptorsFromRegistry(); @@ -529,10 +487,10 @@ export class ViewsViewlet extends Viewlet { }, [[], [], unregisteredViews]); - const toCreate: IView[] = []; + const toCreate: IViewletView[] = []; if (toAdd.length || toRemove.length) { - for (const view of this.splitView.getViews()) { + for (const view of this.splitView.getViews()) { let viewState = this.viewsStates.get(view.id); if (!viewState || typeof viewState.size === 'undefined' || view.size !== viewState.size || !view.isExpanded() !== viewState.collapsed) { viewState = this.updateViewStateSize(view); @@ -564,7 +522,7 @@ export class ViewsViewlet extends Viewlet { toCreate.push(view); this.attachViewStyler(view); - this.splitView.addView(view, viewState && viewState.size ? Math.max(viewState.size, 1) : viewDescriptor.size, index); + this.splitView.addView(view, index); } return TPromise.join(toCreate.map(view => view.create())) @@ -611,14 +569,14 @@ export class ViewsViewlet extends Viewlet { } if (this.showHeaderInTitleArea()) { - if (this.splitView.getViews()[0]) { - this.splitView.getViews()[0].hideHeader(); - if (!this.splitView.getViews()[0].isExpanded()) { - this.splitView.getViews()[0].expand(); + if (this.splitView.getViews()[0]) { + this.splitView.getViews()[0].hideHeader(); + if (!this.splitView.getViews()[0].isExpanded()) { + this.splitView.getViews()[0].expand(); } } } else { - for (const view of this.splitView.getViews()) { + for (const view of this.splitView.getViews()) { view.showHeader(); } } @@ -647,7 +605,7 @@ export class ViewsViewlet extends Viewlet { return this.setVisible(this.isVisible()); } - private onContextMenu(event: StandardMouseEvent, view: IView): void { + private onContextMenu(event: StandardMouseEvent, view: IViewletView): void { event.stopPropagation(); event.preventDefault(); @@ -667,7 +625,7 @@ export class ViewsViewlet extends Viewlet { if (!this.showHeaderInTitleWhenSingleView) { return false; } - if (this.splitView.getViews().length > 1) { + if (this.splitView.getViews().length > 1) { return false; } if (ViewLocation.getContributedViewLocation(this.location.id) && !this.areExtensionsReady) { @@ -705,32 +663,32 @@ export class ViewsViewlet extends Viewlet { }); } - protected createView(viewDescriptor: IViewDescriptor, initialSize: number, options: IViewletViewOptions): IView { + protected createView(viewDescriptor: IViewDescriptor, initialSize: number, options: IViewletViewOptions): IViewletView { return this.instantiationService.createInstance(viewDescriptor.ctor, initialSize, options); } - protected get views(): IView[] { - return this.splitView ? this.splitView.getViews() : []; + protected get views(): IViewletView[] { + return this.splitView ? this.splitView.getViews() : []; } - protected getView(id: string): IView { - return this.splitView.getViews().filter(view => view.id === id)[0]; + protected getView(id: string): IViewletView { + return this.splitView.getViews().filter(view => view.id === id)[0]; } - private updateViewStateSize(view: IView): IViewState { + private updateViewStateSize(view: IViewletView): IViewState { const currentState = this.viewsStates.get(view.id); const newViewState = this.createViewState(view); return currentState ? { ...currentState, collapsed: newViewState.collapsed, size: newViewState.size } : newViewState; } - protected createViewState(view: IView): IViewState { + protected createViewState(view: IViewletView): IViewState { const collapsed = !view.isExpanded(); const size = collapsed && view instanceof CollapsibleView ? view.previousSize : view.size; return { collapsed, size: size && size > 0 ? size : void 0, isHidden: false, - order: this.splitView.getViews().indexOf(view) + order: this.splitView.getViews().indexOf(view) }; } } @@ -746,12 +704,12 @@ export class PersistentViewsViewlet extends ViewsViewlet { @IStorageService storageService: IStorageService, @IInstantiationService instantiationService: IInstantiationService, @IThemeService themeService: IThemeService, - @IWorkspaceContextService contextService: IWorkspaceContextService, + @IWorkspaceContextService protected contextService: IWorkspaceContextService, @IContextKeyService contextKeyService: IContextKeyService, @IContextMenuService contextMenuService: IContextMenuService, @IExtensionService extensionService: IExtensionService ) { - super(id, location, showHeaderInTitleWhenSingleView, telemetryService, storageService, instantiationService, themeService, contextService, contextKeyService, contextMenuService, extensionService); + super(id, location, showHeaderInTitleWhenSingleView, telemetryService, storageService, instantiationService, themeService, contextKeyService, contextMenuService, extensionService); this.loadViewsStates(); } diff --git a/src/vs/workbench/parts/debug/common/debugModel.ts b/src/vs/workbench/parts/debug/common/debugModel.ts index 56561224d93..6782bbc069c 100644 --- a/src/vs/workbench/parts/debug/common/debugModel.ts +++ b/src/vs/workbench/parts/debug/common/debugModel.ts @@ -613,7 +613,7 @@ export class Process implements IProcess { } public clearThreads(removeThreads: boolean, reference: number = undefined): void { - if (reference) { + if (reference !== undefined && reference !== null) { if (this.threads.has(reference)) { const thread = this.threads.get(reference); thread.clearCallStack(); diff --git a/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts b/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts index 9a2d6bfe963..bcb12909cf6 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts @@ -365,7 +365,7 @@ export class DebugEditorContribution implements IDebugEditorContribution { // First call stack frame that is available is the frame where exception has been thrown const exceptionSf = first(callStack, sf => sf.source && sf.source.available, undefined); - if (!exceptionSf) { + if (!exceptionSf || exceptionSf !== focusedSf) { this.closeExceptionWidget(); return; } diff --git a/src/vs/workbench/parts/debug/electron-browser/debugHover.ts b/src/vs/workbench/parts/debug/electron-browser/debugHover.ts index 3af92756683..9dec498f49a 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugHover.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugHover.ts @@ -254,7 +254,8 @@ export class DebugHoverWidget implements IContentWidget { this.valueContainer.hidden = false; renderExpressionValue(expression, this.valueContainer, { showChanged: false, - preserveWhitespace: true + preserveWhitespace: true, + colorize: true }); this.valueContainer.title = ''; this.editor.layoutContentWidget(this); diff --git a/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts b/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts index 4737247e86b..b986c6cfe43 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts @@ -48,6 +48,7 @@ export interface IRenderValueOptions { showChanged?: boolean; maxValueLength?: number; showHover?: boolean; + colorize?: boolean; } function replaceWhitespace(value: string): string { @@ -66,12 +67,16 @@ export function renderExpressionValue(expressionOrValue: debug.IExpression | str if (value !== Expression.DEFAULT_VALUE) { dom.addClass(container, 'error'); } - } else if (!isNaN(+value)) { - dom.addClass(container, 'number'); - } else if (booleanRegex.test(value)) { - dom.addClass(container, 'boolean'); - } else if (stringRegex.test(value)) { - dom.addClass(container, 'string'); + } + + if (options.colorize) { + if (!isNaN(+value)) { + dom.addClass(container, 'number'); + } else if (booleanRegex.test(value)) { + dom.addClass(container, 'boolean'); + } else if (stringRegex.test(value)) { + dom.addClass(container, 'string'); + } } if (options.showChanged && (expressionOrValue).valueChanged && value !== Expression.DEFAULT_VALUE) { @@ -104,7 +109,8 @@ export function renderVariable(tree: ITree, variable: Variable, data: IVariableT showChanged, maxValueLength: MAX_VALUE_RENDER_LENGTH_IN_VIEWLET, preserveWhitespace: false, - showHover: true + showHover: true, + colorize: true }); } else { data.value.textContent = ''; @@ -209,7 +215,7 @@ export class BaseDebugController extends DefaultController { this.contributedContextMenu = menuService.createMenu(menuId, contextKeyService); } - public onContextMenu(tree: ITree, element: debug.IEnablement, event: ContextMenuEvent): boolean { + public onContextMenu(tree: ITree, element: debug.IEnablement, event: ContextMenuEvent, focusElement = true): boolean { if (event.target && event.target.tagName && event.target.tagName.toLowerCase() === 'input') { return false; } @@ -217,7 +223,9 @@ export class BaseDebugController extends DefaultController { event.preventDefault(); event.stopPropagation(); - tree.setFocus(element); + if (focusElement) { + tree.setFocus(element); + } if (this.actionProvider.hasSecondaryActions(tree, element)) { const anchor = { x: event.posx, y: event.posy }; @@ -942,7 +950,8 @@ export class WatchExpressionsRenderer implements IRenderer { showChanged: true, maxValueLength: MAX_VALUE_RENDER_LENGTH_IN_VIEWLET, preserveWhitespace: false, - showHover: true + showHover: true, + colorize: true }); data.name.title = watchExpression.type ? watchExpression.type : watchExpression.value; } diff --git a/src/vs/workbench/parts/debug/electron-browser/replViewer.ts b/src/vs/workbench/parts/debug/electron-browser/replViewer.ts index 9ae5593472c..bfe1493d1d1 100644 --- a/src/vs/workbench/parts/debug/electron-browser/replViewer.ts +++ b/src/vs/workbench/parts/debug/electron-browser/replViewer.ts @@ -11,7 +11,7 @@ import { IActionItem } from 'vs/base/browser/ui/actionbar/actionbar'; import * as dom from 'vs/base/browser/dom'; import severity from 'vs/base/common/severity'; import { IMouseEvent } from 'vs/base/browser/mouseEvent'; -import { ITree, IAccessibilityProvider, IDataSource, IRenderer, IActionProvider } from 'vs/base/parts/tree/browser/tree'; +import { ITree, IAccessibilityProvider, ContextMenuEvent, IDataSource, IRenderer, IActionProvider } from 'vs/base/parts/tree/browser/tree'; import { ICancelableEvent } from 'vs/base/parts/tree/browser/treeDefaults'; import { IExpressionContainer, IExpression } from 'vs/workbench/parts/debug/common/debug'; import { Model, OutputNameValueElement, Expression, OutputElement, Variable } from 'vs/workbench/parts/debug/common/debugModel'; @@ -431,4 +431,8 @@ export class ReplExpressionsController extends BaseDebugController { return true; } + + public onContextMenu(tree: ITree, element: any, event: ContextMenuEvent): boolean { + return super.onContextMenu(tree, element, event, false); + } } diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts index d493e053b63..12559c4f210 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts @@ -46,7 +46,7 @@ import { IThemeService } from 'vs/platform/theme/common/themeService'; import { inputForeground, inputBackground, inputBorder } from 'vs/platform/theme/common/colorRegistry'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ViewsRegistry, ViewLocation, IViewDescriptor } from 'vs/workbench/browser/parts/views/viewsRegistry'; -import { PersistentViewsViewlet, IView } from 'vs/workbench/browser/parts/views/views'; +import { PersistentViewsViewlet, IViewletView } from 'vs/workbench/browser/parts/views/views'; import { IStorageService } from 'vs/platform/storage/common/storage'; import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { IContextKeyService, ContextKeyExpr, RawContextKey, IContextKey } from 'vs/platform/contextkey/common/contextkey'; @@ -310,7 +310,7 @@ export class ExtensionsViewlet extends PersistentViewsViewlet implements IExtens await this.updateViews([], !!value); } - protected async updateViews(unregisteredViews: IViewDescriptor[] = [], showAll = false): TPromise { + protected async updateViews(unregisteredViews: IViewDescriptor[] = [], showAll = false): TPromise { const created = await super.updateViews(); const toShow = showAll ? this.views : created; if (toShow.length) { diff --git a/src/vs/workbench/parts/files/browser/explorerViewlet.ts b/src/vs/workbench/parts/files/browser/explorerViewlet.ts index 43ab0f77d72..2374bdd2558 100644 --- a/src/vs/workbench/parts/files/browser/explorerViewlet.ts +++ b/src/vs/workbench/parts/files/browser/explorerViewlet.ts @@ -12,7 +12,7 @@ import { TPromise } from 'vs/base/common/winjs.base'; import * as DOM from 'vs/base/browser/dom'; import { Builder } from 'vs/base/browser/builder'; import { VIEWLET_ID, ExplorerViewletVisibleContext, IFilesConfiguration, OpenEditorsVisibleContext, OpenEditorsVisibleCondition } from 'vs/workbench/parts/files/common/files'; -import { PersistentViewsViewlet, IView, IViewletViewOptions } from 'vs/workbench/browser/parts/views/views'; +import { PersistentViewsViewlet, IViewletView, IViewletViewOptions } from 'vs/workbench/browser/parts/views/views'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConfigurationEditingService } from 'vs/workbench/services/configuration/common/configurationEditing'; import { ActionRunner, FileViewletState } from 'vs/workbench/parts/files/browser/views/explorerViewer'; @@ -125,7 +125,7 @@ export class ExplorerViewlet extends PersistentViewsViewlet { this.openEditorsVisibleContextKey.set(!this.contextService.hasWorkspace() || (this.configurationService.getConfiguration()).explorer.openEditors.visible !== 0); } - protected createView(viewDescriptor: IViewDescriptor, initialSize: number, options: IViewletViewOptions): IView { + protected createView(viewDescriptor: IViewDescriptor, initialSize: number, options: IViewletViewOptions): IViewletView { if (viewDescriptor.id === ExplorerView.ID) { // Create a delegating editor service for the explorer to be able to delay the refresh in the opened // editors view above. This is a workaround for being able to double click on a file to make it pinned @@ -223,7 +223,7 @@ export class ExplorerViewlet extends PersistentViewsViewlet { super.focus(); } - private hasSelectionOrFocus(view: IView): boolean { + private hasSelectionOrFocus(view: IViewletView): boolean { if (!view) { return false; } diff --git a/src/vs/workbench/parts/files/browser/views/explorerViewer.ts b/src/vs/workbench/parts/files/browser/views/explorerViewer.ts index d67a2880f86..3622e0e1ba4 100644 --- a/src/vs/workbench/parts/files/browser/views/explorerViewer.ts +++ b/src/vs/workbench/parts/files/browser/views/explorerViewer.ts @@ -549,7 +549,8 @@ export class FileSorter implements ISorter { private sortOrder: SortOrder; constructor( - @IConfigurationService private configurationService: IConfigurationService + @IConfigurationService private configurationService: IConfigurationService, + @IWorkspaceContextService private contextService: IWorkspaceContextService ) { this.toDispose = []; @@ -570,6 +571,10 @@ export class FileSorter implements ISorter { // Do not sort roots if (statA.isRoot) { + if (statB.isRoot) { + const ws = this.contextService.getWorkspace(); + return ws.roots.indexOf(statA.resource) - ws.roots.indexOf(statB.resource); + } return -1; } if (statB.isRoot) { diff --git a/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts b/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts index e986d032a2d..6fb5efcb992 100644 --- a/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts +++ b/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts @@ -12,7 +12,7 @@ import { chain } from 'vs/base/common/event'; import { onUnexpectedError } from 'vs/base/common/errors'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { Builder } from 'vs/base/browser/builder'; -import { PersistentViewsViewlet, CollapsibleView, IViewletViewOptions, IView, IViewOptions } from 'vs/workbench/browser/parts/views/views'; +import { PersistentViewsViewlet, CollapsibleView, IViewletViewOptions, IViewletView, IViewOptions } from 'vs/workbench/browser/parts/views/views'; import { append, $, toggleClass, trackFocus } from 'vs/base/browser/dom'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { List } from 'vs/base/browser/ui/list/listWidget'; @@ -545,14 +545,14 @@ export class SCMViewlet extends PersistentViewsViewlet { await super.create(parent); parent.addClass('scm-viewlet', 'empty'); - append(parent.getHTMLElement(), $('div.empty-message', null, localize('no open repo', "There are no source controls active."))); + append(parent.getHTMLElement(), $('div.empty-message', null, localize('no open repo', "There are no source control providers active."))); this.scmService.onDidAddRepository(this.onDidAddRepository, this, this.disposables); this.scmService.onDidRemoveRepository(this.onDidRemoveRepository, this, this.disposables); this.scmService.repositories.forEach(p => this.onDidAddRepository(p)); } - protected createView(viewDescriptor: IViewDescriptor, initialSize: number, options: IViewletViewOptions): IView { + protected createView(viewDescriptor: IViewDescriptor, initialSize: number, options: IViewletViewOptions): IViewletView { if (viewDescriptor instanceof SourceControlViewDescriptor) { return this.instantiationService.createInstance(SourceControlView, initialSize, viewDescriptor.repository, options); } diff --git a/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts b/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts index 1251ae58aea..c469f02372b 100644 --- a/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts +++ b/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts @@ -36,11 +36,19 @@ namespace schema { export function isValidSnippet(extension: IExtensionPointUser, snippet: ISnippetsExtensionPoint, modeService: IModeService): boolean { if (!snippet.language || (typeof snippet.language !== 'string') || !modeService.isRegisteredMode(snippet.language)) { - extension.collector.error(localize('invalid.language', "Unknown language in `contributes.{0}.language`. Provided value: {0}", String(snippet.language))); + extension.collector.error(localize( + 'invalid.language', + "Unknown language in `contributes.{0}.language`. Provided value: {1}", + extension.description.name, String(snippet.language) + )); return false; } else if (!snippet.path || (typeof snippet.path !== 'string')) { - extension.collector.error(localize('invalid.path.0', "Expected string in `contributes.{0}.path`. Provided value: {0}", String(snippet.path))); + extension.collector.error(localize( + 'invalid.path.0', + "Expected string in `contributes.{0}.path`. Provided value: {1}", + extension.description.name, String(snippet.path) + )); return false; } else { diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts index 5ec52de5602..dd9d79a8c17 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts @@ -206,7 +206,16 @@ export class TerminalInstance implements ITerminalInstance { } const font = this._configHelper.getFont(); this._cols = Math.max(Math.floor(dimension.width / font.charWidth), 1); - this._rows = Math.max(Math.floor(dimension.height / Math.floor(font.charHeight * font.lineHeight)), 1); + + // xterm.js does the horizontal space calculation using values scaled + // with window.devicePixelRatio. In these calculations, ceil and floor + // are used which require us to check it on this side as well or we + // would lose that precision. + const scaledSpaceAvailable = dimension.height * window.devicePixelRatio; + const scaledCharHeight = Math.ceil(font.charHeight * window.devicePixelRatio); + const scaledLineHeight = Math.floor(scaledCharHeight * font.lineHeight); + this._rows = Math.floor(scaledSpaceAvailable / scaledLineHeight); + return dimension.width; } diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalLinkHandler.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalLinkHandler.ts index d16a97535cc..811bf77c390 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalLinkHandler.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalLinkHandler.ts @@ -41,7 +41,7 @@ const lineAndColumnClause = [ // Changing any regex may effect this value, hence changes this as well if required. const winLineAndColumnMatchIndex = 12; -const unixLineAndColumnMatchIndex = 15; +const unixLineAndColumnMatchIndex = 23; // Each line and column clause have 6 groups (ie no. of expressions in round brackets) const lineAndColumnClauseGroupCount = 6; diff --git a/src/vs/workbench/parts/terminal/test/electron-browser/terminalLinkHandler.test.ts b/src/vs/workbench/parts/terminal/test/electron-browser/terminalLinkHandler.test.ts index d351ba0dc6d..ba9f623fb9f 100644 --- a/src/vs/workbench/parts/terminal/test/electron-browser/terminalLinkHandler.test.ts +++ b/src/vs/workbench/parts/terminal/test/electron-browser/terminalLinkHandler.test.ts @@ -138,16 +138,16 @@ suite('Workbench - TerminalLinkHandler', () => { // { urlFormat: '{0} on line {1}, column {2}', line: '5', column: '3' }, // { urlFormat: '{0}:line {1}', line: '5' }, // { urlFormat: '{0}:line {1}, column {2}', line: '5', column: '3' }, - // { urlFormat: '{0}({1})', line: '5' }, - // { urlFormat: '{0} ({1})', line: '5' }, - // { urlFormat: '{0}({1},{2})', line: '5', column: '3' }, - // { urlFormat: '{0} ({1},{2})', line: '5', column: '3' }, - // { urlFormat: '{0}:{1}', line: '5' }, - // { urlFormat: '{0}:{1}:{2}', line: '5', column: '3' }, - // { urlFormat: '{0}[{1}]', line: '5' }, - // { urlFormat: '{0} [{1}]', line: '5' }, - // { urlFormat: '{0}[{1},{2}]', line: '5', column: '3' }, - // { urlFormat: '{0} [{1},{2}]', line: '5', column: '3' } + { urlFormat: '{0}({1})', line: '5' }, + { urlFormat: '{0} ({1})', line: '5' }, + { urlFormat: '{0}({1},{2})', line: '5', column: '3' }, + { urlFormat: '{0} ({1},{2})', line: '5', column: '3' }, + { urlFormat: '{0}:{1}', line: '5' }, + { urlFormat: '{0}:{1}:{2}', line: '5', column: '3' }, + { urlFormat: '{0}[{1}]', line: '5' }, + { urlFormat: '{0} [{1}]', line: '5' }, + { urlFormat: '{0}[{1},{2}]', line: '5', column: '3' }, + { urlFormat: '{0} [{1},{2}]', line: '5', column: '3' } ]; linkUrls.forEach(linkUrl => { diff --git a/src/vs/workbench/services/configuration/node/configuration.ts b/src/vs/workbench/services/configuration/node/configuration.ts index 0f45a64cd69..53de4e182aa 100644 --- a/src/vs/workbench/services/configuration/node/configuration.ts +++ b/src/vs/workbench/services/configuration/node/configuration.ts @@ -13,7 +13,7 @@ import { equals, coalesce } from 'vs/base/common/arrays'; import * as objects from 'vs/base/common/objects'; import * as errors from 'vs/base/common/errors'; import * as collections from 'vs/base/common/collections'; -import { Disposable, toDisposable, IDisposable, dispose } from 'vs/base/common/lifecycle'; +import { Disposable, IDisposable, dispose } from 'vs/base/common/lifecycle'; import { RunOnceScheduler } from 'vs/base/common/async'; import { readFile, stat } from 'vs/base/node/pfs'; import { IJSONContributionRegistry, Extensions as JSONExtensions } from 'vs/platform/jsonschemas/common/jsonContributionRegistry'; @@ -631,7 +631,7 @@ class WorkspaceConfiguration extends Disposable { return workspaceConfigurationModel; }, initCallback: () => c(null) }); - this._workspaceConfigurationWatcherDisposables.push(toDisposable(() => this._workspaceConfigurationWatcher.dispose())); + this._workspaceConfigurationWatcherDisposables.push(this._workspaceConfigurationWatcher); this._workspaceConfigurationWatcher.onDidUpdateConfiguration(() => this._onDidUpdateConfiguration.fire(), this, this._workspaceConfigurationWatcherDisposables); }); } diff --git a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts index e374bd0a2a3..4d7dfa3e616 100644 --- a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts +++ b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts @@ -8,7 +8,6 @@ import * as nls from 'vs/nls'; import { IJSONSchema } from 'vs/base/common/jsonSchema'; import { ResolvedKeybinding, Keybinding } from 'vs/base/common/keyCodes'; import { OS, OperatingSystem } from 'vs/base/common/platform'; -import { toDisposable } from 'vs/base/common/lifecycle'; import { ExtensionMessageCollector, ExtensionsRegistry } from 'vs/platform/extensions/common/extensionsRegistry'; import { Extensions, IJSONContributionRegistry } from 'vs/platform/jsonschemas/common/jsonContributionRegistry'; import { AbstractKeybindingService } from 'vs/platform/keybinding/common/abstractKeybindingService'; @@ -296,7 +295,7 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService { this._firstTimeComputingResolver = true; this.userKeybindings = new ConfigWatcher(environmentService.appKeybindingsPath, { defaultConfig: [], onError: error => onUnexpectedError(error) }); - this.toDispose.push(toDisposable(() => this.userKeybindings.dispose())); + this.toDispose.push(this.userKeybindings); keybindingsExtPoint.setHandler((extensions) => { let commandAdded = false; diff --git a/src/vs/workbench/services/search/node/fileSearch.ts b/src/vs/workbench/services/search/node/fileSearch.ts index 057c74b4dc7..c621b8b2c48 100644 --- a/src/vs/workbench/services/search/node/fileSearch.ts +++ b/src/vs/workbench/services/search/node/fileSearch.ts @@ -49,6 +49,7 @@ interface IDirectoryTree { export class FileWalker { private config: IRawSearch; + private useRipgrep: boolean; private filePattern: string; private normalizedFilePatternLowercase: string; private includePattern: glob.ParsedExpression; @@ -73,6 +74,7 @@ export class FileWalker { constructor(config: IRawSearch) { this.config = config; + this.useRipgrep = config.useRipgrep !== false; this.filePattern = config.filePattern; this.includePattern = config.includePattern && glob.parse(config.includePattern); this.maxResults = config.maxResults || null; @@ -153,7 +155,7 @@ export class FileWalker { let traverse = this.nodeJSTraversal; if (!this.maxFilesize) { - if (this.config.useRipgrep) { + if (this.useRipgrep) { this.traversal = Traversal.Ripgrep; traverse = this.cmdTraversal; } else if (platform.isMacintosh) { @@ -216,11 +218,12 @@ export class FileWalker { let first = true; const tree = this.initDirectoryTree(); - const useRipgrep = this.config.useRipgrep; + const useRipgrep = this.useRipgrep; let cmd: childProcess.ChildProcess; let noSiblingsClauses: boolean; + let filePatternSeen = false; if (useRipgrep) { - const ripgrep = spawnRipgrepCmd(folderQuery, this.config.includePattern, this.folderExcludePatterns.get(folderQuery.folder)); + const ripgrep = spawnRipgrepCmd(folderQuery, this.config.includePattern, this.folderExcludePatterns.get(folderQuery.folder).expression); cmd = ripgrep.cmd; noSiblingsClauses = !Object.keys(ripgrep.siblingClauses).length; } else { @@ -236,7 +239,7 @@ export class FileWalker { // Mac: uses NFD unicode form on disk, but we want NFC const normalized = leftover + (isMac ? strings.normalizeNFC(stdout) : stdout); const relativeFiles = normalized.split(useRipgrep ? '\n' : '\n./'); - if (first && normalized.length >= 2) { + if (!useRipgrep && first && normalized.length >= 2) { first = false; relativeFiles[0] = relativeFiles[0].trim().substr(2); } @@ -260,11 +263,28 @@ export class FileWalker { if (useRipgrep && noSiblingsClauses) { for (const relativePath of relativeFiles) { + if (relativePath === this.filePattern) { + filePatternSeen = true; + } const basename = path.basename(relativePath); this.matchFile(onResult, { base: rootFolder, relativePath, basename }); } if (last) { - done(); + if (!filePatternSeen) { + this.checkFilePatternRelativeMatch(folderQuery.folder, (match, size) => { + if (match) { + this.resultCount++; + onResult({ + base: folderQuery.folder, + relativePath: this.filePattern, + basename: path.basename(this.filePattern), + }); + } + done(); + }); + } else { + done(); + } } return; } @@ -367,7 +387,7 @@ export class FileWalker { cmd.on('close', (code: number) => { if (code !== 0) { - done(new Error(`find failed with error code ${code}: ${this.decodeData(stderr, encoding)}`)); + done(new Error(`command failed with error code ${code}: ${this.decodeData(stderr, encoding)}`)); } else { done(null, '', true); } @@ -710,8 +730,8 @@ class AbsoluteAndRelativeParsedExpression { private absoluteParsedExpr: glob.ParsedExpression; private relativeParsedExpr: glob.ParsedExpression; - constructor(expr: glob.IExpression, private root: string) { - this.init(expr); + constructor(public expression: glob.IExpression, private root: string) { + this.init(expression); } /** diff --git a/src/vs/workbench/services/search/node/rawSearchService.ts b/src/vs/workbench/services/search/node/rawSearchService.ts index ebe2799e716..19d197cc750 100644 --- a/src/vs/workbench/services/search/node/rawSearchService.ts +++ b/src/vs/workbench/services/search/node/rawSearchService.ts @@ -83,6 +83,7 @@ export class SearchService implements IRawSearchService { includePattern: config.includePattern, excludePattern: config.excludePattern, filePattern: config.filePattern, + useRipgrep: false, maxFilesize: MAX_FILE_SIZE }), this.textSearchWorkerProvider); diff --git a/src/vs/workbench/services/search/node/ripgrepFileSearch.ts b/src/vs/workbench/services/search/node/ripgrepFileSearch.ts index 325a7ac554d..3dfe7f85dac 100644 --- a/src/vs/workbench/services/search/node/ripgrepFileSearch.ts +++ b/src/vs/workbench/services/search/node/ripgrepFileSearch.ts @@ -6,7 +6,9 @@ import * as cp from 'child_process'; import { rgPath } from 'vscode-ripgrep'; +import { isMacintosh as isMac } from 'vs/base/common/platform'; import * as glob from 'vs/base/common/glob'; +import { normalizeNFD } from 'vs/base/common/strings'; import { IFolderSearch } from './search'; import { foldersToIncludeGlobs, foldersToRgExcludeGlobs } from './ripgrepTextSearch'; @@ -24,14 +26,14 @@ function getRgArgs(folderQuery: IFolderSearch, includePattern: glob.IExpression, // includePattern can't have siblingClauses foldersToIncludeGlobs([folderQuery], includePattern, false).forEach(globArg => { - args.push('-g', globArg); + args.push('-g', isMac ? normalizeNFD(globArg) : globArg); }); let siblingClauses: glob.IExpression; const rgGlobs = foldersToRgExcludeGlobs([folderQuery], excludePattern, undefined, false); rgGlobs.globArgs - .forEach(rgGlob => args.push('-g', `!${rgGlob}`)); + .forEach(rgGlob => args.push('-g', `!${isMac ? normalizeNFD(rgGlob) : rgGlob}`)); siblingClauses = rgGlobs.siblingClauses; // Don't use .gitignore or .ignore diff --git a/src/vs/workbench/services/search/test/node/textSearch.integrationTest.ts b/src/vs/workbench/services/search/test/node/textSearch.integrationTest.ts index de5000fdcfe..cdc6ada67da 100644 --- a/src/vs/workbench/services/search/test/node/textSearch.integrationTest.ts +++ b/src/vs/workbench/services/search/test/node/textSearch.integrationTest.ts @@ -37,7 +37,7 @@ const textSearchWorkerProvider = new TextSearchWorkerProvider(); function doLegacySearchTest(config: IRawSearch, expectedResultCount: number | Function): TPromise { return new TPromise((resolve, reject) => { - let engine = new TextSearchEngine(config, new FileWalker(config), textSearchWorkerProvider); + let engine = new TextSearchEngine(config, new FileWalker({ ...config, useRipgrep: false }), textSearchWorkerProvider); let c = 0; engine.search((result) => { diff --git a/test/smoke/src/areas/css/css.test.ts b/test/smoke/src/areas/css/css.test.ts index 80d5964b1e5..3d249c5adc1 100644 --- a/test/smoke/src/areas/css/css.test.ts +++ b/test/smoke/src/areas/css/css.test.ts @@ -15,10 +15,10 @@ describe('CSS', () => { it('verifies quick outline', async () => { await app.workbench.quickopen.openFile('style.css'); + const outline = await app.workbench.editor.openOutline(); - const elements = await outline.getQuickOpenElements(); - await app.screenCapturer.capture('CSS Outline result'); - assert.equal(elements.length, 2, `Did not find two outline elements`); + + await outline.waitForQuickOpenElements(2); }); it('verifies warnings for the empty rule', async () => { diff --git a/test/smoke/src/areas/debug/debug.test.ts b/test/smoke/src/areas/debug/debug.test.ts index 47c46599cad..7c039187c9d 100644 --- a/test/smoke/src/areas/debug/debug.test.ts +++ b/test/smoke/src/areas/debug/debug.test.ts @@ -115,7 +115,7 @@ describe('Debug', () => { }); it('debug console', async function () { - const result = await app.workbench.debug.console('2 + 2 \n', 'number'); + const result = await app.workbench.debug.console('2 + 2 \n'); assert.equal(result, '4'); }); diff --git a/test/smoke/src/areas/debug/debug.ts b/test/smoke/src/areas/debug/debug.ts index fe93de4b50a..0e3702de5eb 100644 --- a/test/smoke/src/areas/debug/debug.ts +++ b/test/smoke/src/areas/debug/debug.ts @@ -24,7 +24,7 @@ const TOOLBAR_HIDDEN = `.debug-actions-widget.builder-hidden`; const STACK_FRAME = `${VIEWLET} .monaco-tree-row .stack-frame`; const VARIABLE = `${VIEWLET} .debug-variables .monaco-tree-row .expression`; const CONSOLE_OUTPUT = `.repl .output.expression`; -const CONSOLE_INPUT_OUTPUT = `.repl .input-output-pair .output.expression`; +const CONSOLE_INPUT_OUTPUT = `.repl .input-output-pair .output.expression .value`; const SCOPE = `${VIEWLET} .debug-variables .scope`; const REPL_FOCUSED = '.repl-input-wrapper .monaco-editor.focused'; @@ -103,11 +103,11 @@ export class Debug extends Viewlet { await this.spectron.workbench.waitForOpen(name); } - async console(text: string, type: string): Promise { - await this.spectron.workbench.commandPallette.runCommand('Debug: Focus Debug Console'); + async console(text: string): Promise { + await this.spectron.workbench.quickopen.runCommand('Debug: Focus Debug Console'); await this.spectron.client.waitForElement(REPL_FOCUSED); await this.spectron.client.type(text); - await this.spectron.client.waitForElement(CONSOLE_INPUT_OUTPUT + ` .${type}`); + await this.spectron.client.waitForElement(CONSOLE_INPUT_OUTPUT); const result = await this.getConsoleOutput(); return result[result.length - 1] || ''; diff --git a/test/smoke/src/areas/editor/editor.test.ts b/test/smoke/src/areas/editor/editor.test.ts index 3a338b87f86..bbabe64e456 100644 --- a/test/smoke/src/areas/editor/editor.test.ts +++ b/test/smoke/src/areas/editor/editor.test.ts @@ -18,9 +18,7 @@ describe('Editor', () => { const outline = await app.workbench.editor.openOutline(); - const symbols = await outline.getQuickOpenElements(); - await app.screenCapturer.capture('Javascript Outline result'); - assert.equal(symbols.length, 12, 'Quick outline elements count does not match to expected.'); + await outline.waitForQuickOpenElements(12); }); it(`finds 'All References' to 'app'`, async function () { diff --git a/test/smoke/src/areas/editor/editor.ts b/test/smoke/src/areas/editor/editor.ts index 3a8edc31a5d..36b326b2f56 100644 --- a/test/smoke/src/areas/editor/editor.ts +++ b/test/smoke/src/areas/editor/editor.ts @@ -35,7 +35,7 @@ export class Editor { public async findReferences(term: string, line: number): Promise { await this.clickOnTerm(term, line); - await this.spectron.workbench.commandPallette.runCommand('Find All References'); + await this.spectron.workbench.quickopen.runCommand('Find All References'); const references = new References(this.spectron); await references.waitUntilOpen(); return references; @@ -43,7 +43,7 @@ export class Editor { public async rename(term: string, line: number): Promise { await this.clickOnTerm(term, line); - await this.spectron.workbench.commandPallette.runCommand('Rename Symbol'); + await this.spectron.workbench.quickopen.runCommand('Rename Symbol'); const rename = new Rename(term, this.spectron); await rename.waitUntilOpen(); return rename; @@ -51,12 +51,12 @@ export class Editor { public async gotoDefinition(term: string, line: number): Promise { await this.clickOnTerm(term, line); - await this.spectron.workbench.commandPallette.runCommand('Go to Definition'); + await this.spectron.workbench.quickopen.runCommand('Go to Definition'); } public async peekDefinition(term: string, line: number): Promise { await this.clickOnTerm(term, line); - await this.spectron.workbench.commandPallette.runCommand('Peek Definition'); + await this.spectron.workbench.quickopen.runCommand('Peek Definition'); const peek = new References(this.spectron); await peek.waitUntilOpen(); return peek; diff --git a/test/smoke/src/areas/explorer/explorer.test.ts b/test/smoke/src/areas/explorer/explorer.test.ts index 29199c7792c..ed8cd917b2d 100644 --- a/test/smoke/src/areas/explorer/explorer.test.ts +++ b/test/smoke/src/areas/explorer/explorer.test.ts @@ -3,7 +3,6 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as assert from 'assert'; import { SpectronApplication } from '../../spectron/application'; describe('Explorer', () => { @@ -14,22 +13,19 @@ describe('Explorer', () => { it('quick open search produces correct result', async function () { await app.workbench.quickopen.openQuickOpen(); - await app.client.type('.js'); - const elements = await app.workbench.quickopen.getQuickOpenElements(); - await app.client.keys(['Escape', 'NULL']); - await app.screenCapturer.capture('Quick open result'); - assert.equal(elements.length, 7, 'There are 7 elements in quick open'); + await app.client.type('.js'); + + await app.workbench.quickopen.waitForQuickOpenElements(7); + await app.client.keys(['Escape', 'NULL']); }); it('quick open respects fuzzy matching', async function () { await app.workbench.quickopen.openQuickOpen(); + await app.client.type('a.s'); - const elements = await app.workbench.quickopen.getQuickOpenElements(); + await app.workbench.quickopen.waitForQuickOpenElements(3); await app.client.keys(['Escape', 'NULL']); - - await app.screenCapturer.capture('fuzzy match result'); - assert.equal(elements.length, 3, 'There are 3 elements in quick open'); }); }); \ No newline at end of file diff --git a/test/smoke/src/areas/extensions/extensions.test.ts b/test/smoke/src/areas/extensions/extensions.test.ts index 44a287ec57c..11b11538fff 100644 --- a/test/smoke/src/areas/extensions/extensions.test.ts +++ b/test/smoke/src/areas/extensions/extensions.test.ts @@ -22,7 +22,7 @@ describe('Extensions', () => { await app.reload(); await app.workbench.extensions.waitForExtensionsViewlet(); - await app.workbench.commandPallette.runCommand('Smoke Test Check'); + await app.workbench.quickopen.runCommand('Smoke Test Check'); const statusbarText = await app.workbench.statusbar.getStatusbarTextByTitle('smoke test'); await app.screenCapturer.capture('Statusbar'); diff --git a/test/smoke/src/areas/git/git.test.ts b/test/smoke/src/areas/git/git.test.ts index f2dcb06938f..f1160da31a9 100644 --- a/test/smoke/src/areas/git/git.test.ts +++ b/test/smoke/src/areas/git/git.test.ts @@ -68,7 +68,7 @@ describe('Git', () => { await app.workbench.scm.commit('first commit'); await app.client.waitForText(SYNC_STATUSBAR, ' 0↓ 1↑'); - await app.workbench.commandPallette.runCommand('Git: Stage All Changes'); + await app.workbench.quickopen.runCommand('Git: Stage All Changes'); await app.workbench.scm.waitForChange(c => c.name === 'index.jade' && c.type === 'Index Modified'); await app.workbench.scm.commit('second commit'); diff --git a/test/smoke/src/areas/multiroot/multiroot.test.ts b/test/smoke/src/areas/multiroot/multiroot.test.ts index c2a6e43069b..0d4225c9e48 100644 --- a/test/smoke/src/areas/multiroot/multiroot.test.ts +++ b/test/smoke/src/areas/multiroot/multiroot.test.ts @@ -5,7 +5,6 @@ import * as assert from 'assert'; import { SpectronApplication, CODE_WORKSPACE_PATH, VSCODE_BUILD } from '../../spectron/application'; -import { QuickOpen } from '../quickopen/quickopen'; import { Window } from '../window'; describe('Multi Root', () => { @@ -19,12 +18,11 @@ describe('Multi Root', () => { beforeEach(function () { app.screenCapturer.testName = this.currentTest.title; }); it('shows results from all folders', async function () { - let quickOpen = new QuickOpen(app); - await quickOpen.openQuickOpen(); - await app.client.type('*.*'); - const elements = await quickOpen.getQuickOpenElements(); - await app.screenCapturer.capture('quick open result'); - assert.equal(elements.length, 6); + await app.workbench.quickopen.openQuickOpen(); + + await app.workbench.quickopen.type('*.*'); + + await app.workbench.quickopen.waitForQuickOpenElements(6); }); it('shows workspace name in title', async function () { diff --git a/test/smoke/src/areas/quickopen/quickopen.ts b/test/smoke/src/areas/quickopen/quickopen.ts index 23428d252da..23053718da6 100644 --- a/test/smoke/src/areas/quickopen/quickopen.ts +++ b/test/smoke/src/areas/quickopen/quickopen.ts @@ -8,6 +8,10 @@ import { Element } from 'webdriverio'; export class QuickOpen { + static QUICK_OPEN_HIDDEN = 'div.quick-open-widget[aria-hidden="true"]'; + static QUICK_OPEN = 'div.quick-open-widget[aria-hidden="false"]'; + static QUICK_OPEN_FOCUSSED_INPUT = `${QuickOpen.QUICK_OPEN} .quick-open-input input:focus`; + static QUICK_OPEN_FOCUSED_ELEMENT = `${QuickOpen.QUICK_OPEN} .quick-open-tree .monaco-tree-row.focused .monaco-highlighted-label`; static QUICK_OPEN_ENTRY_SELECTOR = 'div[aria-label="Quick Picker"] .monaco-tree-rows.show-twisties .monaco-tree-row .quick-open-entry'; constructor(readonly spectron: SpectronApplication) { @@ -18,18 +22,34 @@ export class QuickOpen { await this.waitForQuickOpenOpened(); } + public async openCommandPallette(): Promise { + await this.spectron.command('workbench.action.showCommands'); + await this.waitForQuickOpenOpened(); + } + public async closeQuickOpen(): Promise { await this.spectron.command('workbench.action.closeQuickOpen'); await this.waitForQuickOpenClosed(); } + public async type(text: string): Promise { + let prefix = await this.spectron.client.getValue(QuickOpen.QUICK_OPEN_FOCUSSED_INPUT); + await this.spectron.client.type(text); + await this.spectron.client.waitForValue(QuickOpen.QUICK_OPEN_FOCUSSED_INPUT, prefix + text); + } + public async getQuickOpenElements(): Promise { return this.spectron.client.waitForElements(QuickOpen.QUICK_OPEN_ENTRY_SELECTOR); } + public async waitForQuickOpenElements(count: number): Promise { + return this.spectron.client.waitForElements(QuickOpen.QUICK_OPEN_ENTRY_SELECTOR, elements => elements && elements.length === count); + } + public async openFile(fileName: string): Promise { await this.openQuickOpen(); - await this.spectron.client.type(fileName); + await this.type(fileName); + await this.getQuickOpenElements(); await this.spectron.client.keys(['Enter', 'NULL']); await this.spectron.client.waitForElement(`.tabs-container div[aria-selected="true"][aria-label="${fileName}, tab"]`); @@ -37,12 +57,25 @@ export class QuickOpen { await this.spectron.workbench.waitForEditorFocus(fileName); } + public async runCommand(commandText: string): Promise { + await this.openCommandPallette(); + + // type the text + await this.type(commandText); + + // wait for best choice to be focused + await this.spectron.client.waitForTextContent(QuickOpen.QUICK_OPEN_FOCUSED_ELEMENT, commandText); + + // wait and click on best choice + await this.spectron.client.waitAndClick(QuickOpen.QUICK_OPEN_FOCUSED_ELEMENT); + } + protected waitForQuickOpenOpened(): Promise { - return this.spectron.client.waitForElement('.quick-open-widget .quick-open-input input:focus'); + return this.spectron.client.waitForElement(QuickOpen.QUICK_OPEN_FOCUSSED_INPUT); } protected waitForQuickOpenClosed(): Promise { - return this.spectron.client.waitForElement('div.quick-open-widget[aria-hidden="true"]'); + return this.spectron.client.waitForElement(QuickOpen.QUICK_OPEN_HIDDEN); } public async isQuickOpenVisible(): Promise { diff --git a/test/smoke/src/areas/terminal/terminal.ts b/test/smoke/src/areas/terminal/terminal.ts index 53e8fa907dd..e9b1cfb43fe 100644 --- a/test/smoke/src/areas/terminal/terminal.ts +++ b/test/smoke/src/areas/terminal/terminal.ts @@ -16,7 +16,7 @@ export class Terminal { public async showTerminal(): Promise { if (!await this.isVisible()) { - await this.spectron.workbench.commandPallette.runCommand('View: Toggle Integrated Terminal'); + await this.spectron.workbench.quickopen.runCommand('View: Toggle Integrated Terminal'); await this.spectron.client.waitForElement(Terminal.TERMINAL_CURSOR); await this.waitForTerminalText(text => text.length > 0, 'Waiting for Terminal to be ready'); } diff --git a/test/smoke/src/areas/workbench/commandPallette.ts b/test/smoke/src/areas/workbench/commandPallette.ts deleted file mode 100644 index 45d3ca8fa58..00000000000 --- a/test/smoke/src/areas/workbench/commandPallette.ts +++ /dev/null @@ -1,32 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { QuickOpen } from '../quickopen/quickopen'; - -const QUICK_OPEN_INPUT = '.quick-open-widget .quick-open-input input'; -const QUICK_OPEN_FOCUSED_ELEMENT = '.quick-open-widget .quick-open-tree .monaco-tree-row.focused .monaco-highlighted-label'; - -export class CommandPallette extends QuickOpen { - - public async runCommand(commandText: string): Promise { - // run command - await this.spectron.command('workbench.action.showCommands'); - - // wait for quick open - await this.waitForQuickOpenOpened(); - - // type the text - await this.spectron.client.keys([commandText, 'NULL']); - - // wait for text to be in input box - await this.spectron.client.waitForValue(QUICK_OPEN_INPUT, `>${commandText}`); - - // wait for best choice to be focused - await this.spectron.client.waitForTextContent(QUICK_OPEN_FOCUSED_ELEMENT, commandText); - - // wait and click on best choice - await this.spectron.client.waitAndClick(QUICK_OPEN_FOCUSED_ELEMENT); - } -} diff --git a/test/smoke/src/areas/workbench/data-loss.test.ts b/test/smoke/src/areas/workbench/data-loss.test.ts index 12ef3e4ac22..01e79a8acc7 100644 --- a/test/smoke/src/areas/workbench/data-loss.test.ts +++ b/test/smoke/src/areas/workbench/data-loss.test.ts @@ -16,21 +16,24 @@ describe('Dataloss', () => { const textToType = 'Hello, Code', textToTypeInUntitled = 'Hello, Unitled Code', fileName = 'readme.md', untitled = 'Untitled-1'; await app.workbench.newUntitledFile(); await app.client.type(textToTypeInUntitled); + await app.screenCapturer.capture('Untitled file before reload'); await app.workbench.explorer.openFile(fileName); await app.client.type(textToType); + await app.screenCapturer.capture(`${fileName} before reload`); + await app.screenCapturer.capture('Before reload'); await app.reload(); await app.screenCapturer.capture('After reload'); await app.workbench.waitForActiveOpen(fileName, true); + await app.screenCapturer.capture(`${fileName} after reload`); let actual = await app.workbench.editor.getEditorFirstLineText(); - await app.screenCapturer.capture(fileName + ' text'); assert.ok(actual.startsWith(textToType), `${actual} did not start with ${textToType}`); await app.workbench.waitForOpen(untitled, true); await app.workbench.selectTab('Untitled-1', true); + await app.screenCapturer.capture('Untitled file after reload'); actual = await app.workbench.editor.getEditorFirstLineText(); - await app.screenCapturer.capture('Untitled file text'); assert.ok(actual.startsWith(textToTypeInUntitled), `${actual} did not start with ${textToTypeInUntitled}`); }); }); \ No newline at end of file diff --git a/test/smoke/src/areas/workbench/workbench.ts b/test/smoke/src/areas/workbench/workbench.ts index 1070006fafc..8700a83ec97 100644 --- a/test/smoke/src/areas/workbench/workbench.ts +++ b/test/smoke/src/areas/workbench/workbench.ts @@ -8,7 +8,6 @@ import { Explorer } from '../explorer/explorer'; import { ActivityBar } from '../activitybar/activityBar'; import { QuickOpen } from '../quickopen/quickopen'; import { Extensions } from '../extensions/extensions'; -import { CommandPallette } from './commandPallette'; import { Search } from '../search/search'; import { Editor } from '../editor/editor'; import { SCM } from '../git/scm'; @@ -23,7 +22,6 @@ export class Workbench { readonly explorer: Explorer; readonly activitybar: ActivityBar; - readonly commandPallette: CommandPallette; readonly quickopen: QuickOpen; readonly search: Search; readonly extensions: Extensions; @@ -40,7 +38,6 @@ export class Workbench { this.explorer = new Explorer(spectron); this.activitybar = new ActivityBar(spectron); this.quickopen = new QuickOpen(spectron); - this.commandPallette = new CommandPallette(spectron); this.search = new Search(spectron); this.extensions = new Extensions(spectron); this.editor = new Editor(spectron); diff --git a/test/smoke/src/main.ts b/test/smoke/src/main.ts index 82c22120647..937e649ce34 100644 --- a/test/smoke/src/main.ts +++ b/test/smoke/src/main.ts @@ -101,10 +101,10 @@ function getKeybindingPlatform(): string { function toUri(path: string): string { if (process.platform === 'win32') { - return `file:///${path.replace(/\\/g, '/')}`; + return `${path.replace(/\\/g, '/')}`; } - return `file://${path}`; + return `${path}`; } async function setup(): Promise { @@ -127,11 +127,16 @@ async function setup(): Promise { if (!fs.existsSync(workspacePath)) { console.log('*** Creating workspace file...'); const workspace = { - id: (Date.now() + Math.round(Math.random() * 1000)).toString(), folders: [ - toUri(path.join(testRepoLocalDir, 'public')), - toUri(path.join(testRepoLocalDir, 'routes')), - toUri(path.join(testRepoLocalDir, 'views')) + { + path: toUri(path.join(testRepoLocalDir, 'public')) + }, + { + path: toUri(path.join(testRepoLocalDir, 'routes')) + }, + { + path: toUri(path.join(testRepoLocalDir, 'views')) + } ] }; @@ -190,7 +195,7 @@ import './areas/css/css.test'; import './areas/editor/editor.test'; import './areas/debug/debug.test'; import './areas/git/git.test'; -import './areas/terminal/terminal.test'; +// import './areas/terminal/terminal.test'; import './areas/statusbar/statusbar.test'; import './areas/extensions/extensions.test'; import './areas/workbench/localization.test'; \ No newline at end of file diff --git a/test/smoke/src/spectron/application.ts b/test/smoke/src/spectron/application.ts index db5b68d0e9f..72bce7b5e2f 100644 --- a/test/smoke/src/spectron/application.ts +++ b/test/smoke/src/spectron/application.ts @@ -79,7 +79,7 @@ export class SpectronApplication { } public async reload(): Promise { - await this.workbench.commandPallette.runCommand('Reload Window'); + await this.workbench.quickopen.runCommand('Reload Window'); // TODO @sandy: Find a proper condition to wait for reload await this.wait(.5); await this.checkWindowReady(); @@ -165,7 +165,7 @@ export class SpectronApplication { public command(command: string, capture?: boolean): Promise { const binding = this.keybindings.find(x => x['command'] === command); if (!binding) { - return this.workbench.commandPallette.runCommand(command); + return this.workbench.quickopen.runCommand(command); } const keys: string = binding.key; diff --git a/tslint.json b/tslint.json index 6bcc49e7bd9..d4df6618424 100644 --- a/tslint.json +++ b/tslint.json @@ -391,16 +391,6 @@ } ], "duplicate-imports": true, - "allow-async": [ - true, - [ - "node", - "electron-main", - "electron-browser", - "extensions", - "smoke" - ] - ], "translation-remind": true } } \ No newline at end of file