mirror of
https://github.com/Microsoft/vscode
synced 2024-10-12 22:37:41 +00:00
Merge remote-tracking branch 'origin/master' into aeschli/tokenScopes
This commit is contained in:
commit
a5ab40556d
8
.github/commands.yml
vendored
8
.github/commands.yml
vendored
|
@ -39,9 +39,17 @@
|
|||
action: 'close',
|
||||
comment: "This issue is being closed to keep the number of issues in our inbox on a manageable level, we are closing issues that are not going to be addressed in the foreseeable future: We look at the number of votes the issue has received and the number of duplicate issues filed. More details [here](https://aka.ms/vscode-out-of-scope). If you disagree and feel that this issue is crucial: We are happy to listen and to reconsider.\n\nIf you wonder what we are up to, please see our [roadmap](https://aka.ms/vscoderoadmap) and [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nThanks for your understanding and happy coding!"
|
||||
},
|
||||
{
|
||||
type: 'comment',
|
||||
name: 'causedByExtension',
|
||||
allowUsers: ['cleidigh', 'usernamehw', 'gjsjohnmurray', 'IllusionMH'],
|
||||
action: 'updateLabels',
|
||||
addLabel: '*caused-by-extension'
|
||||
},
|
||||
{
|
||||
type: 'label',
|
||||
name: '*caused-by-extension',
|
||||
allowTriggerByBot: true,
|
||||
action: 'close',
|
||||
comment: "This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the [marketplace](https://aka.ms/vscodemarketplace) for VS Code. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
||||
},
|
||||
|
|
7
.vscode/launch.json
vendored
7
.vscode/launch.json
vendored
|
@ -216,7 +216,10 @@
|
|||
"cwd": "${workspaceFolder}",
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/**/*.js"
|
||||
]
|
||||
],
|
||||
"env": {
|
||||
"MOCHA_COLORS": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
|
@ -279,4 +282,4 @@
|
|||
]
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
|
@ -61,4 +61,4 @@
|
|||
"msjsdiag.debugger-for-chrome": "workspace"
|
||||
},
|
||||
"files.insertFinalNewline": true
|
||||
}
|
||||
}
|
||||
|
|
6
.vscode/tasks.json
vendored
6
.vscode/tasks.json
vendored
|
@ -5,7 +5,10 @@
|
|||
"type": "npm",
|
||||
"script": "watch",
|
||||
"label": "Build VS Code",
|
||||
"group": "build",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"isBackground": true,
|
||||
"presentation": {
|
||||
"reveal": "never"
|
||||
|
@ -82,6 +85,5 @@
|
|||
"task": "hygiene",
|
||||
"problemMatcher": []
|
||||
},
|
||||
|
||||
]
|
||||
}
|
||||
|
|
2
.yarnrc
2
.yarnrc
|
@ -1,3 +1,3 @@
|
|||
disturl "https://atom.io/download/electron"
|
||||
target "4.2.10"
|
||||
target "6.0.9"
|
||||
runtime "electron"
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
pool:
|
||||
vmImage: 'Ubuntu-16.04'
|
||||
|
||||
trigger:
|
||||
branches:
|
||||
include: ['master']
|
||||
pr:
|
||||
branches:
|
||||
include: ['master']
|
||||
trigger: none
|
||||
pr: none
|
||||
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[
|
||||
{
|
||||
"name": "ms-vscode.node-debug",
|
||||
"version": "1.38.5",
|
||||
"version": "1.38.8",
|
||||
"repo": "https://github.com/Microsoft/vscode-node-debug",
|
||||
"metadata": {
|
||||
"id": "b6ded8fb-a0a0-4c1c-acbd-ab2a3bc995a6",
|
||||
|
@ -16,7 +16,7 @@
|
|||
},
|
||||
{
|
||||
"name": "ms-vscode.node-debug2",
|
||||
"version": "1.33.0",
|
||||
"version": "1.39.0",
|
||||
"repo": "https://github.com/Microsoft/vscode-node-debug2",
|
||||
"metadata": {
|
||||
"id": "36d19e17-7569-4841-a001-947eb18602b2",
|
||||
|
|
|
@ -41,12 +41,7 @@ var editorEntryPoints = [
|
|||
];
|
||||
|
||||
var editorResources = [
|
||||
'out-build/vs/{base,editor}/**/*.{svg,png}',
|
||||
'!out-build/vs/base/browser/ui/splitview/**/*',
|
||||
'!out-build/vs/base/browser/ui/toolbar/**/*',
|
||||
'!out-build/vs/base/browser/ui/octiconLabel/**/*',
|
||||
'!out-build/vs/workbench/**',
|
||||
'!**/test/**'
|
||||
'out-editor-build/vs/base/browser/ui/codiconLabel/**/*.ttf'
|
||||
];
|
||||
|
||||
var BUNDLED_FILE_HEADER = [
|
||||
|
|
|
@ -72,6 +72,7 @@ const indentationFilter = [
|
|||
|
||||
// except multiple specific folders
|
||||
'!**/octicons/**',
|
||||
'!**/codicon/**',
|
||||
'!**/fixtures/**',
|
||||
'!**/lib/**',
|
||||
'!extensions/**/out/**',
|
||||
|
|
|
@ -68,6 +68,7 @@ const vscodeResources = [
|
|||
'out-build/vs/base/node/languagePacks.js',
|
||||
'out-build/vs/base/node/{stdForkStart.js,terminateProcess.sh,cpuUsage.sh,ps.sh}',
|
||||
'out-build/vs/base/browser/ui/octiconLabel/octicons/**',
|
||||
'out-build/vs/base/browser/ui/codiconLabel/codicon/**',
|
||||
'out-build/vs/workbench/browser/media/*-theme.css',
|
||||
'out-build/vs/workbench/contrib/debug/**/*.json',
|
||||
'out-build/vs/workbench/contrib/externalTerminal/**/*.scpt',
|
||||
|
@ -75,7 +76,6 @@ const vscodeResources = [
|
|||
'out-build/vs/workbench/contrib/webview/electron-browser/pre/*.js',
|
||||
'out-build/vs/**/markdown.css',
|
||||
'out-build/vs/workbench/contrib/tasks/**/*.json',
|
||||
'out-build/vs/workbench/contrib/welcome/walkThrough/**/*.md',
|
||||
'out-build/vs/platform/files/**/*.exe',
|
||||
'out-build/vs/platform/files/**/*.md',
|
||||
'out-build/vs/code/electron-browser/workbench/**',
|
||||
|
|
|
@ -1080,7 +1080,7 @@ function prepareI18nPackFiles(externalExtensions, resultingTranslationPaths, pse
|
|||
resultingTranslationPaths.push({ id: 'vscode', resourceName: 'main.i18n.json' });
|
||||
this.queue(translatedMainFile);
|
||||
for (let extension in extensionsPacks) {
|
||||
const translatedExtFile = createI18nFile(`.build/extensions/${extension}`, extensionsPacks[extension]);
|
||||
const translatedExtFile = createI18nFile(`extensions/${extension}`, extensionsPacks[extension]);
|
||||
this.queue(translatedExtFile);
|
||||
const externalExtensionId = externalExtensions[extension];
|
||||
if (externalExtensionId) {
|
||||
|
|
|
@ -106,6 +106,10 @@
|
|||
"name": "vs/workbench/contrib/quickopen",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/contrib/userData",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/contrib/remote",
|
||||
"project": "vscode-workbench"
|
||||
|
@ -182,6 +186,10 @@
|
|||
"name": "vs/workbench/contrib/outline",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/contrib/userDataSync",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/services/actions",
|
||||
"project": "vscode-workbench"
|
||||
|
@ -234,6 +242,10 @@
|
|||
"name": "vs/workbench/services/keybinding",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/services/lifecycle",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/services/mode",
|
||||
"project": "vscode-workbench"
|
||||
|
@ -259,7 +271,7 @@
|
|||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/services/workspace",
|
||||
"name": "vs/workbench/services/workspaces",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
|
@ -277,6 +289,10 @@
|
|||
{
|
||||
"name": "vs/workbench/services/notification",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/services/userData",
|
||||
"project": "vscode-workbench"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1245,7 +1245,7 @@ export function prepareI18nPackFiles(externalExtensions: Map<string>, resultingT
|
|||
|
||||
this.queue(translatedMainFile);
|
||||
for (let extension in extensionsPacks) {
|
||||
const translatedExtFile = createI18nFile(`.build/extensions/${extension}`, extensionsPacks[extension]);
|
||||
const translatedExtFile = createI18nFile(`extensions/${extension}`, extensionsPacks[extension]);
|
||||
this.queue(translatedExtFile);
|
||||
|
||||
const externalExtensionId = externalExtensions[extension];
|
||||
|
|
|
@ -130,7 +130,7 @@ function createESMSourcesAndResources2(options) {
|
|||
write(getDestAbsoluteFilePath(file), JSON.stringify(tsConfig, null, '\t'));
|
||||
continue;
|
||||
}
|
||||
if (/\.d\.ts$/.test(file) || /\.css$/.test(file) || /\.js$/.test(file)) {
|
||||
if (/\.d\.ts$/.test(file) || /\.css$/.test(file) || /\.js$/.test(file) || /\.ttf$/.test(file)) {
|
||||
// Transport the files directly
|
||||
write(getDestAbsoluteFilePath(file), fs.readFileSync(path.join(SRC_FOLDER, file)));
|
||||
continue;
|
||||
|
@ -250,35 +250,37 @@ function transportCSS(module, enqueue, write) {
|
|||
const filename = path.join(SRC_DIR, module);
|
||||
const fileContents = fs.readFileSync(filename).toString();
|
||||
const inlineResources = 'base64'; // see https://github.com/Microsoft/monaco-editor/issues/148
|
||||
const inlineResourcesLimit = 300000; //3000; // see https://github.com/Microsoft/monaco-editor/issues/336
|
||||
const newContents = _rewriteOrInlineUrls(fileContents, inlineResources === 'base64', inlineResourcesLimit);
|
||||
const newContents = _rewriteOrInlineUrls(fileContents, inlineResources === 'base64');
|
||||
write(module, newContents);
|
||||
return true;
|
||||
function _rewriteOrInlineUrls(contents, forceBase64, inlineByteLimit) {
|
||||
function _rewriteOrInlineUrls(contents, forceBase64) {
|
||||
return _replaceURL(contents, (url) => {
|
||||
let imagePath = path.join(path.dirname(module), url);
|
||||
let fileContents = fs.readFileSync(path.join(SRC_DIR, imagePath));
|
||||
if (fileContents.length < inlineByteLimit) {
|
||||
const MIME = /\.svg$/.test(url) ? 'image/svg+xml' : 'image/png';
|
||||
let DATA = ';base64,' + fileContents.toString('base64');
|
||||
if (!forceBase64 && /\.svg$/.test(url)) {
|
||||
// .svg => url encode as explained at https://codepen.io/tigt/post/optimizing-svgs-in-data-uris
|
||||
let newText = fileContents.toString()
|
||||
.replace(/"/g, '\'')
|
||||
.replace(/</g, '%3C')
|
||||
.replace(/>/g, '%3E')
|
||||
.replace(/&/g, '%26')
|
||||
.replace(/#/g, '%23')
|
||||
.replace(/\s+/g, ' ');
|
||||
let encodedData = ',' + newText;
|
||||
if (encodedData.length < DATA.length) {
|
||||
DATA = encodedData;
|
||||
}
|
||||
}
|
||||
return '"data:' + MIME + DATA + '"';
|
||||
const fontMatch = url.match(/^(.*).ttf\?(.*)$/);
|
||||
if (fontMatch) {
|
||||
const relativeFontPath = `${fontMatch[1]}.ttf`; // trim the query parameter
|
||||
const fontPath = path.join(path.dirname(module), relativeFontPath);
|
||||
enqueue(fontPath);
|
||||
return relativeFontPath;
|
||||
}
|
||||
enqueue(imagePath);
|
||||
return url;
|
||||
const imagePath = path.join(path.dirname(module), url);
|
||||
const fileContents = fs.readFileSync(path.join(SRC_DIR, imagePath));
|
||||
const MIME = /\.svg$/.test(url) ? 'image/svg+xml' : 'image/png';
|
||||
let DATA = ';base64,' + fileContents.toString('base64');
|
||||
if (!forceBase64 && /\.svg$/.test(url)) {
|
||||
// .svg => url encode as explained at https://codepen.io/tigt/post/optimizing-svgs-in-data-uris
|
||||
let newText = fileContents.toString()
|
||||
.replace(/"/g, '\'')
|
||||
.replace(/</g, '%3C')
|
||||
.replace(/>/g, '%3E')
|
||||
.replace(/&/g, '%26')
|
||||
.replace(/#/g, '%23')
|
||||
.replace(/\s+/g, ' ');
|
||||
let encodedData = ',' + newText;
|
||||
if (encodedData.length < DATA.length) {
|
||||
DATA = encodedData;
|
||||
}
|
||||
}
|
||||
return '"data:' + MIME + DATA + '"';
|
||||
});
|
||||
}
|
||||
function _replaceURL(contents, replacer) {
|
||||
|
|
|
@ -154,7 +154,7 @@ export function createESMSourcesAndResources2(options: IOptions2): void {
|
|||
continue;
|
||||
}
|
||||
|
||||
if (/\.d\.ts$/.test(file) || /\.css$/.test(file) || /\.js$/.test(file)) {
|
||||
if (/\.d\.ts$/.test(file) || /\.css$/.test(file) || /\.js$/.test(file) || /\.ttf$/.test(file)) {
|
||||
// Transport the files directly
|
||||
write(getDestAbsoluteFilePath(file), fs.readFileSync(path.join(SRC_FOLDER, file)));
|
||||
continue;
|
||||
|
@ -290,40 +290,41 @@ function transportCSS(module: string, enqueue: (module: string) => void, write:
|
|||
const filename = path.join(SRC_DIR, module);
|
||||
const fileContents = fs.readFileSync(filename).toString();
|
||||
const inlineResources = 'base64'; // see https://github.com/Microsoft/monaco-editor/issues/148
|
||||
const inlineResourcesLimit = 300000;//3000; // see https://github.com/Microsoft/monaco-editor/issues/336
|
||||
|
||||
const newContents = _rewriteOrInlineUrls(fileContents, inlineResources === 'base64', inlineResourcesLimit);
|
||||
const newContents = _rewriteOrInlineUrls(fileContents, inlineResources === 'base64');
|
||||
write(module, newContents);
|
||||
return true;
|
||||
|
||||
function _rewriteOrInlineUrls(contents: string, forceBase64: boolean, inlineByteLimit: number): string {
|
||||
function _rewriteOrInlineUrls(contents: string, forceBase64: boolean): string {
|
||||
return _replaceURL(contents, (url) => {
|
||||
let imagePath = path.join(path.dirname(module), url);
|
||||
let fileContents = fs.readFileSync(path.join(SRC_DIR, imagePath));
|
||||
|
||||
if (fileContents.length < inlineByteLimit) {
|
||||
const MIME = /\.svg$/.test(url) ? 'image/svg+xml' : 'image/png';
|
||||
let DATA = ';base64,' + fileContents.toString('base64');
|
||||
|
||||
if (!forceBase64 && /\.svg$/.test(url)) {
|
||||
// .svg => url encode as explained at https://codepen.io/tigt/post/optimizing-svgs-in-data-uris
|
||||
let newText = fileContents.toString()
|
||||
.replace(/"/g, '\'')
|
||||
.replace(/</g, '%3C')
|
||||
.replace(/>/g, '%3E')
|
||||
.replace(/&/g, '%26')
|
||||
.replace(/#/g, '%23')
|
||||
.replace(/\s+/g, ' ');
|
||||
let encodedData = ',' + newText;
|
||||
if (encodedData.length < DATA.length) {
|
||||
DATA = encodedData;
|
||||
}
|
||||
}
|
||||
return '"data:' + MIME + DATA + '"';
|
||||
const fontMatch = url.match(/^(.*).ttf\?(.*)$/);
|
||||
if (fontMatch) {
|
||||
const relativeFontPath = `${fontMatch[1]}.ttf`; // trim the query parameter
|
||||
const fontPath = path.join(path.dirname(module), relativeFontPath);
|
||||
enqueue(fontPath);
|
||||
return relativeFontPath;
|
||||
}
|
||||
|
||||
enqueue(imagePath);
|
||||
return url;
|
||||
const imagePath = path.join(path.dirname(module), url);
|
||||
const fileContents = fs.readFileSync(path.join(SRC_DIR, imagePath));
|
||||
const MIME = /\.svg$/.test(url) ? 'image/svg+xml' : 'image/png';
|
||||
let DATA = ';base64,' + fileContents.toString('base64');
|
||||
|
||||
if (!forceBase64 && /\.svg$/.test(url)) {
|
||||
// .svg => url encode as explained at https://codepen.io/tigt/post/optimizing-svgs-in-data-uris
|
||||
let newText = fileContents.toString()
|
||||
.replace(/"/g, '\'')
|
||||
.replace(/</g, '%3C')
|
||||
.replace(/>/g, '%3E')
|
||||
.replace(/&/g, '%26')
|
||||
.replace(/#/g, '%23')
|
||||
.replace(/\s+/g, ' ');
|
||||
let encodedData = ',' + newText;
|
||||
if (encodedData.length < DATA.length) {
|
||||
DATA = encodedData;
|
||||
}
|
||||
}
|
||||
return '"data:' + MIME + DATA + '"';
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -31,4 +31,4 @@ if (!/yarn\.js$|yarnpkg$/.test(process.env['npm_execpath'])) {
|
|||
if (err) {
|
||||
console.error('');
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,58 +46,6 @@
|
|||
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
|
||||
]
|
||||
},
|
||||
{
|
||||
// Reason: The npm module does not contain a repository field.
|
||||
// waiting for https://github.com/xtermjs/xterm.js/issues/2395
|
||||
"name": "xterm-addon-search",
|
||||
"fullLicenseText": [
|
||||
"Copyright (c) 2017, The xterm.js authors (https://github.com/xtermjs/xterm.js)",
|
||||
"",
|
||||
"Permission is hereby granted, free of charge, to any person obtaining a copy",
|
||||
"of this software and associated documentation files (the \"Software\"), to deal",
|
||||
"in the Software without restriction, including without limitation the rights",
|
||||
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
|
||||
"copies of the Software, and to permit persons to whom the Software is",
|
||||
"furnished to do so, subject to the following conditions:",
|
||||
"",
|
||||
"The above copyright notice and this permission notice shall be included in",
|
||||
"all copies or substantial portions of the Software.",
|
||||
"",
|
||||
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
|
||||
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
|
||||
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
|
||||
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
|
||||
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
|
||||
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN",
|
||||
"THE SOFTWARE."
|
||||
]
|
||||
},
|
||||
{
|
||||
// Reason: The npm module does not contain a repository field.
|
||||
// waiting for https://github.com/xtermjs/xterm.js/issues/2395
|
||||
"name": "xterm-addon-web-links",
|
||||
"fullLicenseText": [
|
||||
"Copyright (c) 2017, The xterm.js authors (https://github.com/xtermjs/xterm.js)",
|
||||
"",
|
||||
"Permission is hereby granted, free of charge, to any person obtaining a copy",
|
||||
"of this software and associated documentation files (the \"Software\"), to deal",
|
||||
"in the Software without restriction, including without limitation the rights",
|
||||
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell",
|
||||
"copies of the Software, and to permit persons to whom the Software is",
|
||||
"furnished to do so, subject to the following conditions:",
|
||||
"",
|
||||
"The above copyright notice and this permission notice shall be included in",
|
||||
"all copies or substantial portions of the Software.",
|
||||
"",
|
||||
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR",
|
||||
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
|
||||
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE",
|
||||
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
|
||||
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,",
|
||||
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN",
|
||||
"THE SOFTWARE."
|
||||
]
|
||||
},
|
||||
{
|
||||
// Reason: The license at https://git.coolaj86.com/coolaj86/atob.js/src/branch/master/LICENSE
|
||||
// cannot be found by the OSS tool automatically.
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"git": {
|
||||
"name": "chromium",
|
||||
"repositoryUrl": "https://chromium.googlesource.com/chromium/src",
|
||||
"commitHash": "c6a08e5368de4352903e702cde750b33239a50ab"
|
||||
"commitHash": "91f08db83c2ce8c722ddf0911ead8f7c473bedfa"
|
||||
}
|
||||
},
|
||||
"licenseDetail": [
|
||||
|
@ -40,7 +40,7 @@
|
|||
"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
],
|
||||
"isOnlyProductionDependency": true,
|
||||
"version": "69.0.3497.128"
|
||||
"version": "76.0.3809.146"
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
|
@ -48,11 +48,11 @@
|
|||
"git": {
|
||||
"name": "nodejs",
|
||||
"repositoryUrl": "https://github.com/nodejs/node",
|
||||
"commitHash": "8c70b2084ce5f76ea1e3b3c4ccdeee4483fe338b"
|
||||
"commitHash": "64219741218aa87e259cf8257596073b8e747f0a"
|
||||
}
|
||||
},
|
||||
"isOnlyProductionDependency": true,
|
||||
"version": "10.11.0"
|
||||
"version": "12.4.0"
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
|
@ -60,12 +60,12 @@
|
|||
"git": {
|
||||
"name": "electron",
|
||||
"repositoryUrl": "https://github.com/electron/electron",
|
||||
"commitHash": "4e4c7527c63fcf27dffaeb58bde996b8d859c0ed"
|
||||
"commitHash": "407747b48c47cdeed156a73dde1c47609470c95a"
|
||||
}
|
||||
},
|
||||
"isOnlyProductionDependency": true,
|
||||
"license": "MIT",
|
||||
"version": "4.2.10"
|
||||
"version": "6.0.9"
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
"url": "vscode://schemas/keybindings"
|
||||
},
|
||||
{
|
||||
"fileMatch": "vscode://defaultsettings/settings.json",
|
||||
"fileMatch": "vscode://defaultsettings/*/*.json",
|
||||
"url": "vscode://schemas/settings/default"
|
||||
},
|
||||
{
|
||||
|
|
|
@ -54,6 +54,7 @@ export class SettingsDocument {
|
|||
completions.push(this.newSimpleCompletionItem('${folderName}', range, localize('folderName', "name of the workspace folder the file is contained in (e.g. myFolder)")));
|
||||
completions.push(this.newSimpleCompletionItem('${folderPath}', range, localize('folderPath', "file path of the workspace folder the file is contained in (e.g. /Users/Development/myFolder)")));
|
||||
completions.push(this.newSimpleCompletionItem('${appName}', range, localize('appName', "e.g. VS Code")));
|
||||
completions.push(this.newSimpleCompletionItem('${remoteName}', range, localize('remoteName', "e.g. SSH")));
|
||||
completions.push(this.newSimpleCompletionItem('${dirty}', range, localize('dirty', "a dirty indicator if the active editor is dirty")));
|
||||
completions.push(this.newSimpleCompletionItem('${separator}', range, localize('separator', "a conditional separator (' - ') that only shows when surrounded by variables with values")));
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ var updateGrammar = require('../../../build/npm/update-grammar');
|
|||
|
||||
updateGrammar.update('jeff-hykin/cpp-textmate-grammar', '/syntaxes/c.tmLanguage.json', './syntaxes/c.tmLanguage.json', undefined, 'master', 'source/languages/cpp/');
|
||||
updateGrammar.update('jeff-hykin/cpp-textmate-grammar', '/syntaxes/cpp.tmLanguage.json', './syntaxes/cpp.tmLanguage.json', undefined, 'master', 'source/languages/cpp/');
|
||||
updateGrammar.update('jeff-hykin/cpp-textmate-grammar', '/syntaxes/cpp.embedded.macro.tmLanguage.json', './syntaxes/cpp.embedded.macro.tmLanguage.json', undefined, 'master', 'source/languages/cpp/');
|
||||
|
||||
// `source.c.platform` which is still included by other grammars
|
||||
updateGrammar.update('textmate/c.tmbundle', 'Syntaxes/Platform.tmLanguage', './syntaxes/platform.tmLanguage.json');
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
"git": {
|
||||
"name": "jeff-hykin/cpp-textmate-grammar",
|
||||
"repositoryUrl": "https://github.com/jeff-hykin/cpp-textmate-grammar",
|
||||
"commitHash": "7e5b098736796056fa99d1ef50e1b95b6131d16c"
|
||||
"commitHash": "dd94b6a93799f2bce7e29b2515d96553e34574b0"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"version": "1.14.3",
|
||||
"version": "1.14.6",
|
||||
"description": "The files syntaxes/c.json and syntaxes/c++.json were derived from https://github.com/atom/language-c which was originally converted from the C TextMate bundle https://github.com/textmate/c.tmbundle."
|
||||
},
|
||||
{
|
||||
|
@ -42,4 +42,4 @@
|
|||
}
|
||||
],
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,44 +5,82 @@
|
|||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": { "vscode": "*" },
|
||||
"engines": {
|
||||
"vscode": "*"
|
||||
},
|
||||
"scripts": {
|
||||
"update-grammar": "node ./build/update-grammars.js"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [{
|
||||
"id": "c",
|
||||
"extensions": [ ".c", ".i"],
|
||||
"aliases": [ "C", "c" ],
|
||||
"configuration": "./language-configuration.json"
|
||||
},
|
||||
{
|
||||
"id": "cpp",
|
||||
"extensions": [ ".cpp", ".cc", ".cxx", ".c++", ".hpp", ".hh", ".hxx", ".h", ".ii", ".ino", ".inl", ".ipp", ".hpp.in", ".h.in" ],
|
||||
"aliases": [ "C++", "Cpp", "cpp"],
|
||||
"configuration": "./language-configuration.json"
|
||||
}],
|
||||
"grammars": [{
|
||||
"language": "c",
|
||||
"scopeName": "source.c",
|
||||
"path": "./syntaxes/c.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"scopeName": "source.cpp",
|
||||
"path": "./syntaxes/cpp.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"scopeName": "source.c.platform",
|
||||
"path": "./syntaxes/platform.tmLanguage.json"
|
||||
}],
|
||||
"snippets": [{
|
||||
"language": "c",
|
||||
"path": "./snippets/c.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"path": "./snippets/cpp.json"
|
||||
}]
|
||||
"languages": [
|
||||
{
|
||||
"id": "c",
|
||||
"extensions": [
|
||||
".c",
|
||||
".i"
|
||||
],
|
||||
"aliases": [
|
||||
"C",
|
||||
"c"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
},
|
||||
{
|
||||
"id": "cpp",
|
||||
"extensions": [
|
||||
".cpp",
|
||||
".cc",
|
||||
".cxx",
|
||||
".c++",
|
||||
".hpp",
|
||||
".hh",
|
||||
".hxx",
|
||||
".h",
|
||||
".ii",
|
||||
".ino",
|
||||
".inl",
|
||||
".ipp",
|
||||
".hpp.in",
|
||||
".h.in"
|
||||
],
|
||||
"aliases": [
|
||||
"C++",
|
||||
"Cpp",
|
||||
"cpp"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"language": "c",
|
||||
"scopeName": "source.c",
|
||||
"path": "./syntaxes/c.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"scopeName": "source.cpp.embedded.macro",
|
||||
"path": "./syntaxes/cpp.embedded.macro.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"scopeName": "source.cpp",
|
||||
"path": "./syntaxes/cpp.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"scopeName": "source.c.platform",
|
||||
"path": "./syntaxes/platform.tmLanguage.json"
|
||||
}
|
||||
],
|
||||
"snippets": [
|
||||
{
|
||||
"language": "c",
|
||||
"path": "./snippets/c.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"path": "./snippets/cpp.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/jeff-hykin/cpp-textmate-grammar/commit/7e5b098736796056fa99d1ef50e1b95b6131d16c",
|
||||
"version": "https://github.com/jeff-hykin/cpp-textmate-grammar/commit/dd94b6a93799f2bce7e29b2515d96553e34574b0",
|
||||
"name": "C",
|
||||
"scopeName": "source.c",
|
||||
"patterns": [
|
||||
|
@ -1150,93 +1150,89 @@
|
|||
"comments": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "comment.line.documentation.c",
|
||||
"while": "(?-mix:(?:^)(?>\\s*)(\\/\\/[!\\/]+))",
|
||||
"whileCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.continuation.documentation.c"
|
||||
}
|
||||
},
|
||||
"begin": "(\\/\\/[!\\/]+)",
|
||||
"beginCaptures": {
|
||||
"match": "(?:^)(?>\\s*)(\\/\\/[!\\/]+)(.*)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.documentation.c"
|
||||
},
|
||||
"2": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.italic.doxygen.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.bold.doxygen.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.inline.raw.string.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]param)\\s+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "variable.parameter.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
|
||||
"name": "storage.type.class.gtkdoc"
|
||||
},
|
||||
{
|
||||
"match": "[\\\\@]\\S++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.c"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.italic.doxygen.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.bold.doxygen.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.inline.raw.string.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]param)\\s+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "variable.parameter.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
|
||||
"name": "storage.type.class.gtkdoc"
|
||||
},
|
||||
{
|
||||
"match": "[\\\\@]\\S++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.c"
|
||||
}
|
||||
]
|
||||
"name": "comment.line.double-slash.documentation.c"
|
||||
},
|
||||
{
|
||||
"match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
|
||||
|
@ -1328,7 +1324,7 @@
|
|||
},
|
||||
{
|
||||
"name": "comment.block.documentation.c",
|
||||
"begin": "(\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s)))",
|
||||
"begin": "((?>\\s*)\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s)))",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.begin.documentation.c"
|
||||
|
@ -1341,89 +1337,6 @@
|
|||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"while": "(?-mix:(?:^)(?>\\s*)(?![!*]*\\*\\/)((?>\\**)))",
|
||||
"whileCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.continuation.documentation.c"
|
||||
}
|
||||
},
|
||||
"begin": "\\G",
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.italic.doxygen.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.bold.doxygen.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.inline.raw.string.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]param)\\s+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"name": "variable.parameter.c"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
{
|
||||
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
|
||||
"name": "storage.type.class.gtkdoc"
|
||||
},
|
||||
{
|
||||
"match": "[\\\\@]\\S++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.c"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
|
|
15982
extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json
Normal file
15982
extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json
Normal file
File diff suppressed because one or more lines are too long
|
@ -4,7 +4,7 @@
|
|||
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
||||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/jeff-hykin/cpp-textmate-grammar/commit/f474f06151d2d86bc78de3503b4aed22d7177c91",
|
||||
"version": "https://github.com/jeff-hykin/cpp-textmate-grammar/commit/dd94b6a93799f2bce7e29b2515d96553e34574b0",
|
||||
"name": "C++",
|
||||
"scopeName": "source.cpp",
|
||||
"patterns": [
|
||||
|
@ -1502,6 +1502,268 @@
|
|||
},
|
||||
"comments": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?:^)(?>\\s*)(\\/\\/[!\\/]+)(.*)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.documentation.cpp"
|
||||
},
|
||||
"2": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.italic.doxygen.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.bold.doxygen.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.inline.raw.string.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]param)\\s+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "variable.parameter.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
|
||||
"name": "storage.type.class.gtkdoc.cpp"
|
||||
},
|
||||
{
|
||||
"match": "[\\\\@]\\S++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.cpp"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"name": "comment.line.double-slash.documentation.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.begin.documentation.cpp"
|
||||
},
|
||||
"2": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.italic.doxygen.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.bold.doxygen.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.inline.raw.string.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]param)\\s+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "variable.parameter.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
|
||||
"name": "storage.type.class.gtkdoc.cpp"
|
||||
},
|
||||
{
|
||||
"match": "[\\\\@]\\S++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.cpp"
|
||||
}
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
"name": "punctuation.definition.comment.end.documentation.cpp"
|
||||
}
|
||||
},
|
||||
"name": "comment.block.documentation.cpp"
|
||||
},
|
||||
{
|
||||
"name": "comment.block.documentation.cpp",
|
||||
"begin": "((?>\\s*)\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s)))",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.begin.documentation.cpp"
|
||||
}
|
||||
},
|
||||
"end": "([!*]*\\*\\/)",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.end.documentation.cpp"
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.italic.doxygen.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.bold.doxygen.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "markup.inline.raw.string.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "((?<=[\\s*!\\/])[\\\\@]param)\\s+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"name": "variable.parameter.cpp"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
|
||||
"name": "storage.type.class.gtkdoc.cpp"
|
||||
},
|
||||
{
|
||||
"match": "[\\\\@]\\S++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.cpp"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"include": "#emacs_file_banner"
|
||||
},
|
||||
|
@ -6911,6 +7173,9 @@
|
|||
},
|
||||
{
|
||||
"include": "#comma"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -7270,6 +7535,9 @@
|
|||
},
|
||||
{
|
||||
"include": "#comma"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -13574,7 +13842,7 @@
|
|||
]
|
||||
},
|
||||
"struct_declare": {
|
||||
"match": "(struct)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?!:)",
|
||||
"match": "(struct)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?![:{])",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.struct.declare.cpp"
|
||||
|
@ -13756,7 +14024,7 @@
|
|||
}
|
||||
},
|
||||
"union_declare": {
|
||||
"match": "(union)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?!:)",
|
||||
"match": "(union)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?![:{])",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.union.declare.cpp"
|
||||
|
@ -13938,7 +14206,7 @@
|
|||
}
|
||||
},
|
||||
"enum_declare": {
|
||||
"match": "(enum)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?!:)",
|
||||
"match": "(enum)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?![:{])",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.enum.declare.cpp"
|
||||
|
@ -14120,7 +14388,7 @@
|
|||
}
|
||||
},
|
||||
"class_declare": {
|
||||
"match": "(class)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?!:)",
|
||||
"match": "(class)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?![:{])",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.declare.cpp"
|
||||
|
|
13
extensions/cpp/test/colorize-fixtures/test-78769.cpp
Normal file
13
extensions/cpp/test/colorize-fixtures/test-78769.cpp
Normal file
|
@ -0,0 +1,13 @@
|
|||
#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, decorators) \
|
||||
namespace { \
|
||||
struct der : public base \
|
||||
{ \
|
||||
void f(); \
|
||||
}; \
|
||||
static void func() { \
|
||||
der v; \
|
||||
v.f(); \
|
||||
} \
|
||||
DOCTEST_REGISTER_FUNCTION(DOCTEST_EMPTY, func, decorators) \
|
||||
} \
|
||||
inline DOCTEST_NOINLINE void der::f()
|
10
extensions/cpp/test/colorize-fixtures/test-80644.cpp
Normal file
10
extensions/cpp/test/colorize-fixtures/test-80644.cpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
struct Foo {
|
||||
Foo();
|
||||
int a;
|
||||
int b;
|
||||
int c;
|
||||
};
|
||||
Foo::Foo()
|
||||
: a(1),
|
||||
// b(2),
|
||||
c(3) {}
|
|
@ -3,10 +3,10 @@
|
|||
"c": "#",
|
||||
"t": "source.cpp keyword.control.directive.conditional.ifndef.cpp punctuation.definition.directive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -14,10 +14,10 @@
|
|||
"c": "ifndef",
|
||||
"t": "source.cpp keyword.control.directive.conditional.ifndef.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -58,10 +58,10 @@
|
|||
"c": "#",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp keyword.control.directive.define.cpp punctuation.definition.directive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -69,10 +69,10 @@
|
|||
"c": "define",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp keyword.control.directive.define.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -102,10 +102,10 @@
|
|||
"c": "#",
|
||||
"t": "source.cpp keyword.control.directive.endif.cpp punctuation.definition.directive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -113,10 +113,10 @@
|
|||
"c": "endif",
|
||||
"t": "source.cpp keyword.control.directive.endif.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
"c": "#",
|
||||
"t": "source.cpp keyword.control.directive.conditional.ifndef.cpp punctuation.definition.directive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -14,10 +14,10 @@
|
|||
"c": "ifndef",
|
||||
"t": "source.cpp keyword.control.directive.conditional.ifndef.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -47,10 +47,10 @@
|
|||
"c": "#",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp keyword.control.directive.define.cpp punctuation.definition.directive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -58,10 +58,10 @@
|
|||
"c": "define",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp keyword.control.directive.define.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -91,10 +91,10 @@
|
|||
"c": "#",
|
||||
"t": "source.cpp keyword.control.directive.endif.cpp punctuation.definition.directive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -102,10 +102,10 @@
|
|||
"c": "endif",
|
||||
"t": "source.cpp keyword.control.directive.endif.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
}
|
||||
|
|
1190
extensions/cpp/test/colorize-results/test-78769_cpp.json
Normal file
1190
extensions/cpp/test/colorize-results/test-78769_cpp.json
Normal file
File diff suppressed because it is too large
Load diff
530
extensions/cpp/test/colorize-results/test-80644_cpp.json
Normal file
530
extensions/cpp/test/colorize-results/test-80644_cpp.json
Normal file
|
@ -0,0 +1,530 @@
|
|||
[
|
||||
{
|
||||
"c": "struct",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.head.struct.cpp storage.type.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "storage.type: #569CD6",
|
||||
"light_plus": "storage.type: #0000FF",
|
||||
"dark_vs": "storage.type: #569CD6",
|
||||
"light_vs": "storage.type: #0000FF",
|
||||
"hc_black": "storage.type: #569CD6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.block.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "Foo",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.head.struct.cpp entity.name.type.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "entity.name.type: #4EC9B0",
|
||||
"light_plus": "entity.name.type: #267F99",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "entity.name.type: #4EC9B0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.head.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "{",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.head.struct.cpp punctuation.section.block.begin.bracket.curly.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp meta.function.definition.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "Foo",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "entity.name.function: #DCDCAA",
|
||||
"light_plus": "entity.name.function: #795E26",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "entity.name.function: #DCDCAA"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "(",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp punctuation.section.parameters.begin.bracket.round.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ")",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp punctuation.section.parameters.end.bracket.round.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ";",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp punctuation.terminator.statement.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "int",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "storage.type: #569CD6",
|
||||
"light_plus": "storage.type: #0000FF",
|
||||
"dark_vs": "storage.type: #569CD6",
|
||||
"light_vs": "storage.type: #0000FF",
|
||||
"hc_black": "storage.type: #569CD6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " a",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ";",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp punctuation.terminator.statement.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "int",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "storage.type: #569CD6",
|
||||
"light_plus": "storage.type: #0000FF",
|
||||
"dark_vs": "storage.type: #569CD6",
|
||||
"light_vs": "storage.type: #0000FF",
|
||||
"hc_black": "storage.type: #569CD6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " b",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ";",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp punctuation.terminator.statement.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "int",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp storage.type.primitive.cpp storage.type.built-in.primitive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "storage.type: #569CD6",
|
||||
"light_plus": "storage.type: #0000FF",
|
||||
"dark_vs": "storage.type: #569CD6",
|
||||
"light_vs": "storage.type: #0000FF",
|
||||
"hc_black": "storage.type: #569CD6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " c",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ";",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp punctuation.terminator.statement.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "}",
|
||||
"t": "source.cpp meta.block.struct.cpp meta.body.struct.cpp punctuation.section.block.end.bracket.curly.struct.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ";",
|
||||
"t": "source.cpp meta.block.struct.cpp punctuation.terminator.statement.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "Foo",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp entity.name.type.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "entity.name.type: #4EC9B0",
|
||||
"light_plus": "entity.name.type: #267F99",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "entity.name.type: #4EC9B0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "::",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "Foo",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp entity.name.function.definition.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "entity.name.function: #DCDCAA",
|
||||
"light_plus": "entity.name.function: #795E26",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "entity.name.function: #DCDCAA"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "(",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp punctuation.section.parameters.begin.bracket.round.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ")",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp punctuation.section.parameters.end.bracket.round.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ":",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp punctuation.separator.initializers.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "a",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp entity.name.function.call.initializer.cpp",
|
||||
"r": {
|
||||
"dark_plus": "entity.name.function: #DCDCAA",
|
||||
"light_plus": "entity.name.function: #795E26",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "entity.name.function: #DCDCAA"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "(",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "1",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp meta.parameter.initialization.cpp constant.numeric.decimal.cpp",
|
||||
"r": {
|
||||
"dark_plus": "constant.numeric: #B5CEA8",
|
||||
"light_plus": "constant.numeric: #09885A",
|
||||
"dark_vs": "constant.numeric: #B5CEA8",
|
||||
"light_vs": "constant.numeric: #09885A",
|
||||
"hc_black": "constant.numeric: #B5CEA8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ")",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ",",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp punctuation.separator.delimiter.comma.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp comment.line.double-slash.cpp",
|
||||
"r": {
|
||||
"dark_plus": "comment: #6A9955",
|
||||
"light_plus": "comment: #008000",
|
||||
"dark_vs": "comment: #6A9955",
|
||||
"light_vs": "comment: #008000",
|
||||
"hc_black": "comment: #7CA668"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "//",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp comment.line.double-slash.cpp punctuation.definition.comment.cpp",
|
||||
"r": {
|
||||
"dark_plus": "comment: #6A9955",
|
||||
"light_plus": "comment: #008000",
|
||||
"dark_vs": "comment: #6A9955",
|
||||
"light_vs": "comment: #008000",
|
||||
"hc_black": "comment: #7CA668"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " b(2),",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp comment.line.double-slash.cpp",
|
||||
"r": {
|
||||
"dark_plus": "comment: #6A9955",
|
||||
"light_plus": "comment: #008000",
|
||||
"dark_vs": "comment: #6A9955",
|
||||
"light_vs": "comment: #008000",
|
||||
"hc_black": "comment: #7CA668"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "c",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp entity.name.function.call.initializer.cpp",
|
||||
"r": {
|
||||
"dark_plus": "entity.name.function: #DCDCAA",
|
||||
"light_plus": "entity.name.function: #795E26",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "entity.name.function: #DCDCAA"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "(",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "3",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp meta.parameter.initialization.cpp constant.numeric.decimal.cpp",
|
||||
"r": {
|
||||
"dark_plus": "constant.numeric: #B5CEA8",
|
||||
"light_plus": "constant.numeric: #09885A",
|
||||
"dark_vs": "constant.numeric: #B5CEA8",
|
||||
"light_vs": "constant.numeric: #09885A",
|
||||
"hc_black": "constant.numeric: #B5CEA8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": ")",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "{",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.head.function.definition.special.constructor.cpp punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "}",
|
||||
"t": "source.cpp meta.function.definition.special.constructor.cpp meta.body.function.definition.special.constructor.cpp punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp",
|
||||
"r": {
|
||||
"dark_plus": "default: #D4D4D4",
|
||||
"light_plus": "default: #000000",
|
||||
"dark_vs": "default: #D4D4D4",
|
||||
"light_vs": "default: #000000",
|
||||
"hc_black": "default: #FFFFFF"
|
||||
}
|
||||
}
|
||||
]
|
|
@ -69,10 +69,10 @@
|
|||
"c": "#",
|
||||
"t": "source.c meta.preprocessor.include.c keyword.control.directive.include.c punctuation.definition.directive.c",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -80,10 +80,10 @@
|
|||
"c": "include",
|
||||
"t": "source.c meta.preprocessor.include.c keyword.control.directive.include.c",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -135,10 +135,10 @@
|
|||
"c": "#",
|
||||
"t": "source.c meta.preprocessor.include.c keyword.control.directive.include.c punctuation.definition.directive.c",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -146,10 +146,10 @@
|
|||
"c": "include",
|
||||
"t": "source.c meta.preprocessor.include.c keyword.control.directive.include.c",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
"c": "#",
|
||||
"t": "source.cpp keyword.control.directive.conditional.if.cpp punctuation.definition.directive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -14,10 +14,10 @@
|
|||
"c": "if",
|
||||
"t": "source.cpp keyword.control.directive.conditional.if.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -652,10 +652,10 @@
|
|||
"c": "#",
|
||||
"t": "source.cpp keyword.control.directive.endif.cpp punctuation.definition.directive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -663,10 +663,10 @@
|
|||
"c": "endif",
|
||||
"t": "source.cpp keyword.control.directive.endif.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -25,10 +25,10 @@
|
|||
"c": "#",
|
||||
"t": "source.cpp meta.preprocessor.include.cpp keyword.control.directive.include.cpp punctuation.definition.directive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -36,10 +36,10 @@
|
|||
"c": "include",
|
||||
"t": "source.cpp meta.preprocessor.include.cpp keyword.control.directive.include.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -157,10 +157,10 @@
|
|||
"c": "#",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp keyword.control.directive.define.cpp punctuation.definition.directive.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -168,10 +168,10 @@
|
|||
"c": "define",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp keyword.control.directive.define.cpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -198,8 +198,8 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"c": " extern \"C\"",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp",
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp",
|
||||
"r": {
|
||||
"dark_plus": "meta.preprocessor: #569CD6",
|
||||
"light_plus": "meta.preprocessor: #0000FF",
|
||||
|
@ -208,6 +208,61 @@
|
|||
"hc_black": "meta.preprocessor: #569CD6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "extern",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp meta.head.extern.cpp storage.type.extern.cpp",
|
||||
"r": {
|
||||
"dark_plus": "storage.type: #569CD6",
|
||||
"light_plus": "storage.type: #0000FF",
|
||||
"dark_vs": "storage.type: #569CD6",
|
||||
"light_vs": "storage.type: #0000FF",
|
||||
"hc_black": "storage.type: #569CD6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp meta.head.extern.cpp",
|
||||
"r": {
|
||||
"dark_plus": "meta.preprocessor: #569CD6",
|
||||
"light_plus": "meta.preprocessor: #0000FF",
|
||||
"dark_vs": "meta.preprocessor: #569CD6",
|
||||
"light_vs": "meta.preprocessor: #0000FF",
|
||||
"hc_black": "meta.preprocessor: #569CD6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "\"",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp meta.head.extern.cpp string.quoted.double.cpp punctuation.definition.string.begin.cpp",
|
||||
"r": {
|
||||
"dark_plus": "string: #CE9178",
|
||||
"light_plus": "string: #A31515",
|
||||
"dark_vs": "string: #CE9178",
|
||||
"light_vs": "string: #A31515",
|
||||
"hc_black": "string: #CE9178"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "C",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp meta.head.extern.cpp string.quoted.double.cpp",
|
||||
"r": {
|
||||
"dark_plus": "string: #CE9178",
|
||||
"light_plus": "string: #A31515",
|
||||
"dark_vs": "string: #CE9178",
|
||||
"light_vs": "string: #A31515",
|
||||
"hc_black": "string: #CE9178"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "\"",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp meta.head.extern.cpp string.quoted.double.cpp punctuation.definition.string.end.cpp",
|
||||
"r": {
|
||||
"dark_plus": "string: #CE9178",
|
||||
"light_plus": "string: #A31515",
|
||||
"dark_vs": "string: #CE9178",
|
||||
"light_vs": "string: #A31515",
|
||||
"hc_black": "string: #CE9178"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "class",
|
||||
"t": "source.cpp meta.block.class.cpp meta.head.class.cpp storage.type.class.cpp",
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"type": "extensionHost",
|
||||
"request": "launch",
|
||||
"args": [
|
||||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"--extensionDevelopmentPath=${workspaceFolder}"
|
||||
],
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/**/*.js"
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
"activationEvents": [
|
||||
"onDebugResolve"
|
||||
],
|
||||
"enableProposedApi": true,
|
||||
"main": "./out/extension",
|
||||
"scripts": {
|
||||
"compile": "gulp compile-extension:debug-server-ready",
|
||||
|
|
|
@ -10,7 +10,8 @@ import * as nls from 'vscode-nls';
|
|||
const localize = nls.loadMessageBundle();
|
||||
|
||||
const PATTERN = 'listening on.* (https?://\\S+|[0-9]+)'; // matches "listening on port 3000" or "Now listening on: https://localhost:5001"
|
||||
const URI_FORMAT = 'http://localhost:%s';
|
||||
const URI_PORT_FORMAT = 'http://localhost:%s';
|
||||
const URI_FORMAT = '%s';
|
||||
const WEB_ROOT = '${workspaceFolder}';
|
||||
|
||||
interface ServerReadyAction {
|
||||
|
@ -21,7 +22,9 @@ interface ServerReadyAction {
|
|||
}
|
||||
|
||||
class ServerReadyDetector extends vscode.Disposable {
|
||||
static detectors = new Map<vscode.DebugSession, ServerReadyDetector>();
|
||||
|
||||
private static detectors = new Map<vscode.DebugSession, ServerReadyDetector>();
|
||||
private static terminalDataListener: vscode.Disposable | undefined;
|
||||
|
||||
private hasFired = false;
|
||||
private shellPid?: number;
|
||||
|
@ -55,6 +58,29 @@ class ServerReadyDetector extends vscode.Disposable {
|
|||
}
|
||||
}
|
||||
|
||||
static async startListeningTerminalData() {
|
||||
if (!this.terminalDataListener) {
|
||||
this.terminalDataListener = vscode.window.onDidWriteTerminalData(async e => {
|
||||
|
||||
// first find the detector with a matching pid
|
||||
const pid = await e.terminal.processId;
|
||||
for (let [, detector] of this.detectors) {
|
||||
if (detector.shellPid === pid) {
|
||||
detector.detectPattern(e.data);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// if none found, try all detectors until one matches
|
||||
for (let [, detector] of this.detectors) {
|
||||
if (detector.detectPattern(e.data)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private constructor(private session: vscode.DebugSession) {
|
||||
super(() => this.internalDispose());
|
||||
|
||||
|
@ -66,53 +92,37 @@ class ServerReadyDetector extends vscode.Disposable {
|
|||
this.disposables = [];
|
||||
}
|
||||
|
||||
async trackTerminals() {
|
||||
|
||||
let terminals: vscode.Terminal[] = [];
|
||||
|
||||
// either find the terminal where the debug is started with "runInTerminal" or use all terminals
|
||||
for (let terminal of vscode.window.terminals) {
|
||||
if (!this.shellPid || await terminal.processId === this.shellPid) {
|
||||
terminals.push(terminal);
|
||||
}
|
||||
}
|
||||
this.shellPid = undefined;
|
||||
|
||||
this.disposables.push(vscode.window.onDidWriteTerminalData(e => {
|
||||
if (terminals.indexOf(e.terminal) !== -1) {
|
||||
this.detectPattern(e.data);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
detectPattern(s: string): void {
|
||||
|
||||
detectPattern(s: string): boolean {
|
||||
if (!this.hasFired) {
|
||||
const matches = this.regexp.exec(s);
|
||||
if (matches && matches.length >= 1) {
|
||||
this.openExternalWithString(this.session, matches.length > 1 ? matches[1] : '');
|
||||
this.hasFired = true;
|
||||
this.internalDispose();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private openExternalWithString(session: vscode.DebugSession, captureString: string) {
|
||||
|
||||
const args: ServerReadyAction = session.configuration.serverReadyAction;
|
||||
const format = args.uriFormat || URI_FORMAT;
|
||||
|
||||
let uri;
|
||||
if (captureString === '') {
|
||||
// nothing captured by reg exp -> use the uriFormat as the target url without substitution
|
||||
// nothing captured by reg exp -> use the uriFormat as the target uri without substitution
|
||||
// verify that format does not contain '%s'
|
||||
const format = args.uriFormat || '';
|
||||
if (format.indexOf('%s') >= 0) {
|
||||
const errMsg = localize('server.ready.nocapture.error', "Format uri ('{0}') uses a substitution placeholder but pattern did not capture anything.", format);
|
||||
vscode.window.showErrorMessage(errMsg, { modal: true }).then(_ => undefined);
|
||||
return;
|
||||
}
|
||||
captureString = format;
|
||||
} else if (/^[0-9]+$/.test(captureString)) {
|
||||
// looks like a port number -> use the uriFormat and substitute a single "%s" with the port
|
||||
uri = format;
|
||||
} else {
|
||||
// if no uriFormat is specified guess the appropriate format based on the captureString
|
||||
const format = args.uriFormat || (/^[0-9]+$/.test(captureString) ? URI_PORT_FORMAT : URI_FORMAT);
|
||||
// verify that format only contains a single '%s'
|
||||
const s = format.split('%s');
|
||||
if (s.length !== 2) {
|
||||
|
@ -120,23 +130,22 @@ class ServerReadyDetector extends vscode.Disposable {
|
|||
vscode.window.showErrorMessage(errMsg, { modal: true }).then(_ => undefined);
|
||||
return;
|
||||
}
|
||||
captureString = util.format(format, captureString);
|
||||
} else {
|
||||
// use the string as is
|
||||
uri = util.format(format, captureString);
|
||||
}
|
||||
|
||||
this.openExternalWithUri(session, captureString);
|
||||
this.openExternalWithUri(session, uri);
|
||||
}
|
||||
|
||||
private openExternalWithUri(session: vscode.DebugSession, uri: string) {
|
||||
|
||||
const args: ServerReadyAction = session.configuration.serverReadyAction;
|
||||
switch (args.action || 'openExternally') {
|
||||
|
||||
case 'openExternally':
|
||||
vscode.env.openExternal(vscode.Uri.parse(uri));
|
||||
break;
|
||||
case 'debugWithChrome':
|
||||
|
||||
case 'debugWithChrome':
|
||||
if (vscode.env.remoteName === 'wsl' || !!vscode.extensions.getExtension('msjsdiag.debugger-for-chrome')) {
|
||||
vscode.debug.startDebugging(session.workspaceFolder, {
|
||||
type: 'chrome',
|
||||
|
@ -150,6 +159,7 @@ class ServerReadyDetector extends vscode.Disposable {
|
|||
vscode.window.showErrorMessage(errMsg, { modal: true }).then(_ => undefined);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// not supported
|
||||
break;
|
||||
|
@ -163,7 +173,7 @@ export function activate(context: vscode.ExtensionContext) {
|
|||
if (session && session.configuration.serverReadyAction) {
|
||||
const detector = ServerReadyDetector.start(session);
|
||||
if (detector) {
|
||||
detector.trackTerminals();
|
||||
ServerReadyDetector.startListeningTerminalData();
|
||||
}
|
||||
}
|
||||
}));
|
||||
|
|
|
@ -450,7 +450,7 @@
|
|||
"@emmetio/html-matcher": "^0.3.3",
|
||||
"@emmetio/math-expression": "^0.1.1",
|
||||
"image-size": "^0.5.2",
|
||||
"vscode-emmet-helper": "^1.2.15",
|
||||
"vscode-emmet-helper": "^1.2.16",
|
||||
"vscode-html-languageservice": "^3.0.3"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2469,10 +2469,10 @@ vinyl@~2.0.1:
|
|||
remove-trailing-separator "^1.0.1"
|
||||
replace-ext "^1.0.0"
|
||||
|
||||
vscode-emmet-helper@^1.2.15:
|
||||
version "1.2.15"
|
||||
resolved "https://registry.yarnpkg.com/vscode-emmet-helper/-/vscode-emmet-helper-1.2.15.tgz#62dbfbf49bb9ebe329cb7bffdda5aaac725eea7a"
|
||||
integrity sha512-JplvmMMWSvm/6/dZezix2ADPM49u6YahPYjs/QToohUpomW/2Eb27ecCrkCyOGBPfKLKGiOPHCssss8TSDA9ag==
|
||||
vscode-emmet-helper@^1.2.16:
|
||||
version "1.2.16"
|
||||
resolved "https://registry.yarnpkg.com/vscode-emmet-helper/-/vscode-emmet-helper-1.2.16.tgz#cfefb8b54c68178b4696d4abae806bb3a2b043e8"
|
||||
integrity sha512-BuQK6fTV2w65Yd0/CJGj1EOvcJ9NHWfrMJ9nA8pjnu9jzAAnXLhnbviuGT9medMiPU0mp0tJqc/8Z0qlXcqdGw==
|
||||
dependencies:
|
||||
"@emmetio/extract-abbreviation" "0.1.6"
|
||||
jsonc-parser "^1.0.0"
|
||||
|
|
|
@ -469,11 +469,11 @@
|
|||
},
|
||||
{
|
||||
"command": "git.clean",
|
||||
"when": "config.git.enabled && gitOpenRepositoryCount != 0 && !gitFreshRepository"
|
||||
"when": "config.git.enabled && gitOpenRepositoryCount != 0"
|
||||
},
|
||||
{
|
||||
"command": "git.cleanAll",
|
||||
"when": "config.git.enabled && gitOpenRepositoryCount != 0 && !gitFreshRepository"
|
||||
"when": "config.git.enabled && gitOpenRepositoryCount != 0"
|
||||
},
|
||||
{
|
||||
"command": "git.commit",
|
||||
|
@ -763,7 +763,7 @@
|
|||
{
|
||||
"command": "git.cleanAll",
|
||||
"group": "5_stage",
|
||||
"when": "scmProvider == git && !gitFreshRepository"
|
||||
"when": "scmProvider == git"
|
||||
},
|
||||
{
|
||||
"command": "git.stashIncludeUntracked",
|
||||
|
@ -831,7 +831,7 @@
|
|||
},
|
||||
{
|
||||
"command": "git.cleanAll",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree && !gitFreshRepository",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree",
|
||||
"group": "1_modification"
|
||||
},
|
||||
{
|
||||
|
@ -841,7 +841,7 @@
|
|||
},
|
||||
{
|
||||
"command": "git.cleanAll",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree && !gitFreshRepository",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree",
|
||||
"group": "inline"
|
||||
},
|
||||
{
|
||||
|
@ -850,6 +850,53 @@
|
|||
"group": "inline"
|
||||
}
|
||||
],
|
||||
"scm/resourceFolder/context": [
|
||||
{
|
||||
"command": "git.stage",
|
||||
"when": "scmProvider == git && scmResourceGroup == merge",
|
||||
"group": "1_modification"
|
||||
},
|
||||
{
|
||||
"command": "git.stage",
|
||||
"when": "scmProvider == git && scmResourceGroup == merge",
|
||||
"group": "inline"
|
||||
},
|
||||
{
|
||||
"command": "git.unstage",
|
||||
"when": "scmProvider == git && scmResourceGroup == index",
|
||||
"group": "1_modification"
|
||||
},
|
||||
{
|
||||
"command": "git.unstage",
|
||||
"when": "scmProvider == git && scmResourceGroup == index",
|
||||
"group": "inline"
|
||||
},
|
||||
{
|
||||
"command": "git.stage",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree",
|
||||
"group": "1_modification"
|
||||
},
|
||||
{
|
||||
"command": "git.clean",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree",
|
||||
"group": "1_modification"
|
||||
},
|
||||
{
|
||||
"command": "git.clean",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree",
|
||||
"group": "inline"
|
||||
},
|
||||
{
|
||||
"command": "git.stage",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree",
|
||||
"group": "inline"
|
||||
},
|
||||
{
|
||||
"command": "git.ignore",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree",
|
||||
"group": "1_modification@3"
|
||||
}
|
||||
],
|
||||
"scm/resourceState/context": [
|
||||
{
|
||||
"command": "git.stage",
|
||||
|
@ -933,12 +980,12 @@
|
|||
},
|
||||
{
|
||||
"command": "git.clean",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree && !gitFreshRepository",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree",
|
||||
"group": "1_modification"
|
||||
},
|
||||
{
|
||||
"command": "git.clean",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree && !gitFreshRepository",
|
||||
"when": "scmProvider == git && scmResourceGroup == workingTree",
|
||||
"group": "inline"
|
||||
},
|
||||
{
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
"command.syncRebase": "Sync (Rebase)",
|
||||
"command.publish": "Publish Branch",
|
||||
"command.showOutput": "Show Git Output",
|
||||
"command.ignore": "Add File to .gitignore",
|
||||
"command.ignore": "Add to .gitignore",
|
||||
"command.stashIncludeUntracked": "Stash (Include Untracked)",
|
||||
"command.stash": "Stash",
|
||||
"command.stashPop": "Pop Stash...",
|
||||
|
|
|
@ -9,7 +9,7 @@ import { Repository, GitResourceGroup } from './repository';
|
|||
import { Model } from './model';
|
||||
import { debounce } from './decorators';
|
||||
import { filterEvent, dispose, anyEvent, fireEvent } from './util';
|
||||
import { GitErrorCodes } from './api/git';
|
||||
import { GitErrorCodes, Status } from './api/git';
|
||||
|
||||
type Callback = { resolve: (status: boolean) => void, reject: (err: any) => void };
|
||||
|
||||
|
@ -122,12 +122,18 @@ class GitDecorationProvider implements DecorationProvider {
|
|||
}
|
||||
|
||||
private collectDecorationData(group: GitResourceGroup, bucket: Map<string, Decoration>): void {
|
||||
group.resourceStates.forEach(r => {
|
||||
if (r.resourceDecoration) {
|
||||
for (const r of group.resourceStates) {
|
||||
const decoration = r.resourceDecoration;
|
||||
|
||||
if (decoration) {
|
||||
// not deleted and has a decoration
|
||||
bucket.set(r.original.toString(), r.resourceDecoration);
|
||||
bucket.set(r.original.toString(), decoration);
|
||||
|
||||
if (r.type === Status.INDEX_RENAMED) {
|
||||
bucket.set(r.resourceUri.toString(), decoration);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private collectSubmoduleDecorationData(bucket: Map<string, Decoration>): void {
|
||||
|
|
|
@ -190,7 +190,7 @@ export class Model {
|
|||
openRepositoriesToDispose.forEach(r => r.dispose());
|
||||
}
|
||||
|
||||
private async onDidChangeVisibleTextEditors(editors: TextEditor[]): Promise<void> {
|
||||
private async onDidChangeVisibleTextEditors(editors: readonly TextEditor[]): Promise<void> {
|
||||
const config = workspace.getConfiguration('git');
|
||||
const autoRepositoryDetection = config.get<boolean | 'subFolders' | 'openEditors'>('autoRepositoryDetection');
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { commands, Uri, Command, EventEmitter, Event, scm, SourceControl, SourceControlInputBox, SourceControlResourceGroup, SourceControlResourceState, SourceControlResourceDecorations, SourceControlInputBoxValidation, Disposable, ProgressLocation, window, workspace, WorkspaceEdit, ThemeColor, Decoration, Memento, SourceControlInputBoxValidationType, OutputChannel, LogLevel, env, ProgressOptions, CancellationToken } from 'vscode';
|
||||
import { Uri, Command, EventEmitter, Event, scm, SourceControl, SourceControlInputBox, SourceControlResourceGroup, SourceControlResourceState, SourceControlResourceDecorations, SourceControlInputBoxValidation, Disposable, ProgressLocation, window, workspace, WorkspaceEdit, ThemeColor, Decoration, Memento, SourceControlInputBoxValidationType, OutputChannel, LogLevel, env, ProgressOptions, CancellationToken } from 'vscode';
|
||||
import { Repository as BaseRepository, Commit, Stash, GitError, Submodule, CommitOptions, ForcePushMode } from './git';
|
||||
import { anyEvent, filterEvent, eventToPromise, dispose, find, isDescendant, IDisposable, onceEvent, EmptyDisposable, debounceEvent, combinedDisposable } from './util';
|
||||
import { memoize, throttle, debounce } from './decorators';
|
||||
|
@ -633,7 +633,6 @@ export class Repository implements Disposable {
|
|||
|
||||
private isRepositoryHuge = false;
|
||||
private didWarnAboutLimit = false;
|
||||
private isFreshRepository: boolean | undefined = undefined;
|
||||
|
||||
private disposables: Disposable[] = [];
|
||||
|
||||
|
@ -1507,15 +1506,6 @@ export class Repository implements Disposable {
|
|||
// set count badge
|
||||
this.setCountBadge();
|
||||
|
||||
// Disable `Discard All Changes` for "fresh" repositories
|
||||
// https://github.com/Microsoft/vscode/issues/43066
|
||||
const isFreshRepository = !this._HEAD || !this._HEAD.commit;
|
||||
|
||||
if (this.isFreshRepository !== isFreshRepository) {
|
||||
commands.executeCommand('setContext', 'gitFreshRepository', isFreshRepository);
|
||||
this.isFreshRepository = isFreshRepository;
|
||||
}
|
||||
|
||||
this._onDidChangeStatus.fire();
|
||||
}
|
||||
|
||||
|
|
BIN
extensions/image-preview/icon.png
Normal file
BIN
extensions/image-preview/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
18
extensions/image-preview/icon.svg
Normal file
18
extensions/image-preview/icon.svg
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.6, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#C5C5C5;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="st0" d="M2,14.1l-1.1-1L0.9,3l1-1.1l12.1,0l1.1,1l0,10.1L14,14.1H2z M13.9,12.9V3.1H2.1v9.8H13.9z M8.9,12.1V7.9h4.2
|
||||
v4.2H8.9z M11.9,10.9V9.1h-1.8v1.8H11.9z M2.9,12.1v-1.2h4.2v1.2H2.9z M2.9,9.1V7.9h4.2v1.2H2.9z M2.9,7.1V3.9h10.2v3.2H2.9z
|
||||
M11.9,5.9V5.1H4.1v0.8H11.9z"/>
|
||||
<path d="M14,2l1,1v10l-1,1H2l-1-1V3l1-1H14 M2,13h12V3H2V13 M13,4v3H3V4H13 M4,6h8V5H4V6 M13,8v4H9V8H13 M10,11h2V9h-2V11 M7,8v1H3
|
||||
V8H7 M7,11v1H3v-1H7 M14.1,1.8L14.1,1.8H2H1.9L1.9,1.9l-1,1L0.8,2.9V3v10v0.1l0.1,0.1l1,1l0.1,0.1H2h12h0.1l0.1-0.1l1-1l0.1-0.1V13
|
||||
V3V2.9l-0.1-0.1L14.1,1.8L14.1,1.8L14.1,1.8z M2.2,3.2h11.6v9.6H2.2V3.2L2.2,3.2z M13.2,3.8H13H3H2.8V4v3v0.2H3h10h0.2V7V4V3.8
|
||||
L13.2,3.8z M4.2,5.2h7.6v0.6H4.2V5.2L4.2,5.2z M13.2,7.8H13H9H8.8V8v4v0.2H9h4h0.2V12V8V7.8L13.2,7.8z M10.2,9.2h1.6v1.6h-1.6V9.2
|
||||
L10.2,9.2z M7.2,7.8H7H3H2.8V8v1v0.2H3h4h0.2V9V8V7.8L7.2,7.8z M7.2,10.8H7H3H2.8V11v1v0.2H3h4h0.2V12v-1V10.8L7.2,10.8z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
|
@ -8,7 +8,6 @@ html, body {
|
|||
max-height: 100%;
|
||||
}
|
||||
|
||||
|
||||
body img {
|
||||
max-width: none;
|
||||
max-height: none;
|
||||
|
@ -34,6 +33,7 @@ body img {
|
|||
padding: 0;
|
||||
background-position: 0 0, 8px 8px;
|
||||
background-size: 16px 16px;
|
||||
border: 1px solid var(--vscode-imagePreview-border);
|
||||
}
|
||||
|
||||
.container.image img {
|
||||
|
|
|
@ -58,7 +58,8 @@
|
|||
20
|
||||
];
|
||||
|
||||
const isMac = getSettings().isMac;
|
||||
const settings = getSettings();
|
||||
const isMac = settings.isMac;
|
||||
|
||||
const vscode = acquireVsCodeApi();
|
||||
|
||||
|
@ -71,7 +72,7 @@
|
|||
|
||||
// Elements
|
||||
const container = /** @type {HTMLElement} */(document.querySelector('body'));
|
||||
const image = document.querySelector('img');
|
||||
const image = document.createElement('img');
|
||||
|
||||
function updateScale(newScale) {
|
||||
if (!image || !image.parentElement) {
|
||||
|
@ -248,6 +249,9 @@
|
|||
}
|
||||
});
|
||||
|
||||
image.src = decodeURI(settings.src);
|
||||
document.body.append(image);
|
||||
|
||||
window.addEventListener('message', e => {
|
||||
switch (e.data.type) {
|
||||
case 'setScale':
|
||||
|
|
|
@ -2,8 +2,10 @@
|
|||
"name": "image-preview",
|
||||
"displayName": "%displayName%",
|
||||
"description": "%description%",
|
||||
"extensionKind": "ui",
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"icon": "icon.png",
|
||||
"enableProposedApi": true,
|
||||
"license": "MIT",
|
||||
"aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217",
|
||||
|
@ -24,7 +26,8 @@
|
|||
"displayName": "%webviewEditors.displayName%",
|
||||
"selector": [
|
||||
{
|
||||
"filenamePattern": "*.{jpg,jpe,jpeg,png,bmp,gif,ico,tga,tif,tiff,webp}"
|
||||
"filenamePattern": "*.{jpg,jpe,jpeg,png,bmp,gif,ico,tga,tif,tiff,webp}",
|
||||
"mime": "image/*"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -80,7 +80,8 @@ export class Preview extends Disposable {
|
|||
|
||||
private getWebiewContents(webviewEditor: vscode.WebviewEditor, resource: vscode.Uri): string {
|
||||
const settings = {
|
||||
isMac: process.platform === 'darwin'
|
||||
isMac: process.platform === 'darwin',
|
||||
src: this.getResourcePath(webviewEditor, resource)
|
||||
};
|
||||
|
||||
return /* html */`<!DOCTYPE html>
|
||||
|
@ -95,12 +96,19 @@ export class Preview extends Disposable {
|
|||
<meta id="image-preview-settings" data-settings="${escapeAttribute(JSON.stringify(settings))}">
|
||||
</head>
|
||||
<body class="container image scale-to-fit">
|
||||
<img src="${escapeAttribute(webviewEditor.webview.asWebviewUri(resource))}">
|
||||
<script src="${escapeAttribute(this.extensionResource('/media/main.js'))}"></script>
|
||||
</body>
|
||||
</html>`;
|
||||
}
|
||||
|
||||
private getResourcePath(webviewEditor: vscode.WebviewEditor, resource: vscode.Uri) {
|
||||
if (resource.scheme === 'data') {
|
||||
return encodeURI(resource.toString(true));
|
||||
}
|
||||
|
||||
return encodeURI(webviewEditor.webview.asWebviewUri(resource).toString(true));
|
||||
}
|
||||
|
||||
private extensionResource(path: string) {
|
||||
return this.webviewEditor.webview.asWebviewUri(this.extensionRoot.with({
|
||||
path: this.extensionRoot.path + path
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"dependencies": {
|
||||
"jsonc-parser": "^2.1.1",
|
||||
"request-light": "^0.2.4",
|
||||
"vscode-json-languageservice": "^3.3.3",
|
||||
"vscode-json-languageservice": "^3.3.4",
|
||||
"vscode-languageserver": "^5.3.0-next.8",
|
||||
"vscode-nls": "^4.1.1",
|
||||
"vscode-uri": "^2.0.3"
|
||||
|
|
|
@ -73,10 +73,10 @@ request-light@^0.2.4:
|
|||
https-proxy-agent "^2.2.1"
|
||||
vscode-nls "^4.0.0"
|
||||
|
||||
vscode-json-languageservice@^3.3.3:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-3.3.3.tgz#f7e512a2cd5e82fecbebf507d6fceaea47661297"
|
||||
integrity sha512-5vL3OXTUuQpn6+tGd47dopio+7WwbtIZ07zfYMzAUX8eVWPZjfEsLeSWmQk5Xw+vwgu+j5zC4koz5UofLDGGRA==
|
||||
vscode-json-languageservice@^3.3.4:
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-3.3.4.tgz#4ff67580491d3a5dc469f4a78643f20adff0278d"
|
||||
integrity sha512-/nuI4uDBfxyVyeGtBdYwP/tIaXYKOoymUOSozYKLzsmrDmu555gZpzc11LrARa96z92wSaa5hfjTtNMAoM2mxw==
|
||||
dependencies:
|
||||
jsonc-parser "^2.1.1"
|
||||
vscode-languageserver-types "^3.15.0-next.2"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"Once accepted there, we are happy to receive an update request."
|
||||
],
|
||||
"version": "https://github.com/Microsoft/vscode-JSON.tmLanguage/commit/9bd83f1c252b375e957203f21793316203f61f70",
|
||||
"name": "JSON (Javascript Next)",
|
||||
"name": "JSON (JavaScript Next)",
|
||||
"scopeName": "source.json",
|
||||
"patterns": [
|
||||
{
|
||||
|
@ -210,4 +210,4 @@
|
|||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -182,13 +182,12 @@ pre.hljs code > div {
|
|||
overflow: auto;
|
||||
}
|
||||
|
||||
/** Theming */
|
||||
|
||||
pre code {
|
||||
color: var(--vscode-editor-foreground);
|
||||
tab-size: 4;
|
||||
}
|
||||
|
||||
/** Theming */
|
||||
|
||||
.vscode-light pre {
|
||||
background-color: rgba(220, 220, 220, 0.4);
|
||||
|
|
|
@ -1,50 +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 vscode from 'vscode';
|
||||
import { Disposable } from './util/dispose';
|
||||
|
||||
|
||||
export class DocumentIndex extends Disposable {
|
||||
private readonly _uriMap = new Map();
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
for (let doc of vscode.workspace.textDocuments) {
|
||||
this._registerDoc(doc);
|
||||
}
|
||||
|
||||
this._register(
|
||||
vscode.workspace.onDidOpenTextDocument((doc) => {
|
||||
this._registerDoc(doc);
|
||||
})
|
||||
);
|
||||
this._register(
|
||||
vscode.workspace.onDidCloseTextDocument((doc) => {
|
||||
this._unregisterDoc(doc.uri);
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
getByUri(uri: vscode.Uri): vscode.TextDocument | undefined {
|
||||
return this._uriMap.get(uri.toString());
|
||||
}
|
||||
|
||||
private _registerDoc(doc: vscode.TextDocument) {
|
||||
const uri = doc.uri.toString();
|
||||
if (this._uriMap.has(uri)) {
|
||||
throw new Error(`The document ${uri} is already registered.`);
|
||||
}
|
||||
this._uriMap.set(uri, doc);
|
||||
}
|
||||
|
||||
private _unregisterDoc(uri: vscode.Uri) {
|
||||
if (!this._uriMap.has(uri.toString())) {
|
||||
throw new Error(`The document ${uri.toString()} is not registered.`);
|
||||
}
|
||||
this._uriMap.delete(uri.toString());
|
||||
}
|
||||
}
|
|
@ -10,7 +10,6 @@ import { Lazy, lazy } from '../util/lazy';
|
|||
import MDDocumentSymbolProvider from './documentSymbolProvider';
|
||||
import { SkinnyTextDocument, SkinnyTextLine } from '../tableOfContentsProvider';
|
||||
import { flatten } from '../util/arrays';
|
||||
import { DocumentIndex } from '../docIndex';
|
||||
|
||||
export interface WorkspaceMarkdownDocumentProvider {
|
||||
getAllMarkdownDocuments(): Thenable<Iterable<SkinnyTextDocument>>;
|
||||
|
@ -27,7 +26,6 @@ class VSCodeWorkspaceMarkdownDocumentProvider extends Disposable implements Work
|
|||
private readonly _onDidDeleteMarkdownDocumentEmitter = this._register(new vscode.EventEmitter<vscode.Uri>());
|
||||
|
||||
private _watcher: vscode.FileSystemWatcher | undefined;
|
||||
private _docIndex: DocumentIndex = this._register(new DocumentIndex());
|
||||
|
||||
async getAllMarkdownDocuments() {
|
||||
const resources = await vscode.workspace.findFiles('**/*.md', '**/node_modules/**');
|
||||
|
@ -83,9 +81,9 @@ class VSCodeWorkspaceMarkdownDocumentProvider extends Disposable implements Work
|
|||
}
|
||||
|
||||
private async getMarkdownDocument(resource: vscode.Uri): Promise<SkinnyTextDocument | undefined> {
|
||||
const existingDocument = this._docIndex.getByUri(resource);
|
||||
if (existingDocument) {
|
||||
return existingDocument;
|
||||
const matchingDocuments = vscode.workspace.textDocuments.filter((doc) => doc.uri.toString() === resource.toString());
|
||||
if (matchingDocuments.length !== 0) {
|
||||
return matchingDocuments[0];
|
||||
}
|
||||
|
||||
const bytes = await vscode.workspace.fs.readFile(resource);
|
||||
|
|
|
@ -100,6 +100,7 @@ export default class MergeConflictCodeLensProvider implements vscode.CodeLensPro
|
|||
this.codeLensRegistrationHandle = vscode.languages.registerCodeLensProvider([
|
||||
{ scheme: 'file' },
|
||||
{ scheme: 'untitled' },
|
||||
{ scheme: 'vscode-userdata' },
|
||||
], this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,10 +47,10 @@
|
|||
"c": "#",
|
||||
"t": "source.objc meta.preprocessor.include.objc keyword.control.directive.import.objc punctuation.definition.directive.objc",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -58,10 +58,10 @@
|
|||
"c": "import",
|
||||
"t": "source.objc meta.preprocessor.include.objc keyword.control.directive.import.objc",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -113,10 +113,10 @@
|
|||
"c": "#",
|
||||
"t": "source.objc meta.preprocessor.include.objc keyword.control.directive.import.objc punctuation.definition.directive.objc",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -124,10 +124,10 @@
|
|||
"c": "import",
|
||||
"t": "source.objc meta.preprocessor.include.objc keyword.control.directive.import.objc",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -2038,10 +2038,10 @@
|
|||
"c": "-",
|
||||
"t": "source.objc meta.implementation.objc meta.scope.implementation.objc meta.function-with-body.objc meta.block.objc keyword.operator.minus.exponent.decimal.objc",
|
||||
"r": {
|
||||
"dark_plus": "keyword.operator: #D4D4D4",
|
||||
"light_plus": "keyword.operator: #000000",
|
||||
"dark_vs": "keyword.operator: #D4D4D4",
|
||||
"light_vs": "keyword.operator: #000000",
|
||||
"dark_plus": "keyword.operator.minus.exponent: #B5CEA8",
|
||||
"light_plus": "keyword.operator.minus.exponent: #09885A",
|
||||
"dark_vs": "keyword.operator.minus.exponent: #B5CEA8",
|
||||
"light_vs": "keyword.operator.minus.exponent: #09885A",
|
||||
"hc_black": "keyword.operator: #D4D4D4"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -47,10 +47,10 @@
|
|||
"c": "#",
|
||||
"t": "source.objcpp meta.preprocessor.include.objcpp keyword.control.directive.import.objcpp punctuation.definition.directive.objcpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -58,10 +58,10 @@
|
|||
"c": "import",
|
||||
"t": "source.objcpp meta.preprocessor.include.objcpp keyword.control.directive.import.objcpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -113,10 +113,10 @@
|
|||
"c": "#",
|
||||
"t": "source.objcpp meta.preprocessor.include.objcpp keyword.control.directive.import.objcpp punctuation.definition.directive.objcpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -124,10 +124,10 @@
|
|||
"c": "import",
|
||||
"t": "source.objcpp meta.preprocessor.include.objcpp keyword.control.directive.import.objcpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.control: #C586C0",
|
||||
"light_plus": "keyword.control: #AF00DB",
|
||||
"dark_vs": "keyword.control: #569CD6",
|
||||
"light_vs": "keyword.control: #0000FF",
|
||||
"dark_plus": "keyword.control.directive: #569CD6",
|
||||
"light_plus": "keyword.control.directive: #0000FF",
|
||||
"dark_vs": "keyword.control.directive: #569CD6",
|
||||
"light_vs": "keyword.control.directive: #0000FF",
|
||||
"hc_black": "keyword.control: #C586C0"
|
||||
}
|
||||
},
|
||||
|
@ -2038,10 +2038,10 @@
|
|||
"c": "-",
|
||||
"t": "source.objcpp meta.implementation.objcpp meta.scope.implementation.objcpp meta.function-with-body.objcpp meta.block.objcpp keyword.operator.minus.exponent.decimal.objcpp",
|
||||
"r": {
|
||||
"dark_plus": "keyword.operator: #D4D4D4",
|
||||
"light_plus": "keyword.operator: #000000",
|
||||
"dark_vs": "keyword.operator: #D4D4D4",
|
||||
"light_vs": "keyword.operator: #000000",
|
||||
"dark_plus": "keyword.operator.minus.exponent: #B5CEA8",
|
||||
"light_plus": "keyword.operator.minus.exponent: #09885A",
|
||||
"dark_vs": "keyword.operator.minus.exponent: #B5CEA8",
|
||||
"light_vs": "keyword.operator.minus.exponent: #09885A",
|
||||
"hc_black": "keyword.operator: #D4D4D4"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"version": "0.0.1",
|
||||
"description": "Dependencies shared by all extensions",
|
||||
"dependencies": {
|
||||
"typescript": "3.6.3-insiders.20190909"
|
||||
"typescript": "3.6.3"
|
||||
},
|
||||
"scripts": {
|
||||
"postinstall": "node ./postinstall"
|
||||
|
|
|
@ -8,8 +8,9 @@ const updateGrammar = require('../../../build/npm/update-grammar');
|
|||
|
||||
function adaptInjectionScope(grammar) {
|
||||
// we're using the HTML grammar from https://github.com/textmate/html.tmbundle which has moved away from source.js.embedded.html
|
||||
// also we need to add source.css scope for PHP code in <style> tags, which are handled differently in atom
|
||||
const oldInjectionKey = "text.html.php - (meta.embedded | meta.tag), L:((text.html.php meta.tag) - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.js.embedded.html - (meta.embedded.block.php | meta.embedded.line.php))";
|
||||
const newInjectionKey = "text.html.php - (meta.embedded | meta.tag), L:((text.html.php meta.tag) - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.js - (meta.embedded.block.php | meta.embedded.line.php))";
|
||||
const newInjectionKey = "text.html.php - (meta.embedded | meta.tag), L:((text.html.php meta.tag) - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.js - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.css - (meta.embedded.block.php | meta.embedded.line.php))";
|
||||
|
||||
const injections = grammar.injections;
|
||||
const injection = injections[oldInjectionKey];
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"text.html.php - (meta.embedded | meta.tag), L:((text.html.php meta.tag) - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.js - (meta.embedded.block.php | meta.embedded.line.php))": {
|
||||
"text.html.php - (meta.embedded | meta.tag), L:((text.html.php meta.tag) - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.js - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.css - (meta.embedded.block.php | meta.embedded.line.php))": {
|
||||
"patterns": [
|
||||
{
|
||||
"include": "#php-tag"
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
"support.type",
|
||||
"entity.name.type",
|
||||
"entity.name.namespace",
|
||||
"entity.other.attribute",
|
||||
"entity.name.scope-resolution",
|
||||
"entity.name.class",
|
||||
"storage.type.numeric.go",
|
||||
|
@ -76,7 +77,8 @@
|
|||
"source.cpp keyword.operator.new",
|
||||
"keyword.operator.delete",
|
||||
"keyword.other.using",
|
||||
"keyword.other.operator"
|
||||
"keyword.other.operator",
|
||||
"entity.name.operator"
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#C586C0"
|
||||
|
@ -170,6 +172,12 @@
|
|||
"settings": {
|
||||
"foreground": "#d7ba7d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "entity.name.label",
|
||||
"settings": {
|
||||
"foreground": "#C8C8C8"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -44,7 +44,11 @@
|
|||
},
|
||||
{
|
||||
"scope": [
|
||||
"constant.numeric"
|
||||
"constant.numeric",
|
||||
"entity.name.operator.custom-literal.number",
|
||||
"variable.other.enummember",
|
||||
"keyword.operator.plus.exponent",
|
||||
"keyword.operator.minus.exponent"
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#b5cea8"
|
||||
|
@ -166,7 +170,10 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"scope": "meta.preprocessor",
|
||||
"scope": [
|
||||
"meta.preprocessor",
|
||||
"keyword.control.directive"
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#569cd6"
|
||||
}
|
||||
|
@ -208,13 +215,19 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"scope": "storage.modifier",
|
||||
"scope": [
|
||||
"storage.modifier",
|
||||
"keyword.operator.noexcept"
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#569cd6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "string",
|
||||
"scope": [
|
||||
"string",
|
||||
"entity.name.operator.custom-literal.string",
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#ce9178"
|
||||
}
|
||||
|
@ -294,8 +307,11 @@
|
|||
"keyword.operator.expression",
|
||||
"keyword.operator.cast",
|
||||
"keyword.operator.sizeof",
|
||||
"keyword.operator.typeid",
|
||||
"keyword.operator.alignas",
|
||||
"keyword.operator.instanceof",
|
||||
"keyword.operator.logical.python"
|
||||
"keyword.operator.logical.python",
|
||||
"keyword.operator.wordlike"
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#569cd6"
|
||||
|
@ -347,4 +363,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
"support.type",
|
||||
"entity.name.type",
|
||||
"entity.name.namespace",
|
||||
"entity.other.attribute",
|
||||
"entity.name.scope-resolution",
|
||||
"entity.name.class",
|
||||
"storage.type.numeric.go",
|
||||
|
@ -76,7 +77,8 @@
|
|||
"source.cpp keyword.operator.new",
|
||||
"source.cpp keyword.operator.delete",
|
||||
"keyword.other.using",
|
||||
"keyword.other.operator"
|
||||
"keyword.other.operator",
|
||||
"entity.name.operator"
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#AF00DB"
|
||||
|
@ -170,7 +172,12 @@
|
|||
"settings": {
|
||||
"foreground": "#ff0000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "entity.name.label",
|
||||
"settings": {
|
||||
"foreground": "#000000"
|
||||
}
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
|
|
|
@ -4,7 +4,10 @@
|
|||
"include": "./light_defaults.json",
|
||||
"tokenColors": [
|
||||
{
|
||||
"scope": ["meta.embedded", "source.groovy.embedded"],
|
||||
"scope": [
|
||||
"meta.embedded",
|
||||
"source.groovy.embedded"
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#000000ff"
|
||||
}
|
||||
|
@ -41,7 +44,11 @@
|
|||
},
|
||||
{
|
||||
"scope": [
|
||||
"constant.numeric"
|
||||
"constant.numeric",
|
||||
"entity.name.operator.custom-literal.number",
|
||||
"variable.other.enummember",
|
||||
"keyword.operator.plus.exponent",
|
||||
"keyword.operator.minus.exponent"
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#09885a"
|
||||
|
@ -161,7 +168,10 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"scope": "meta.preprocessor",
|
||||
"scope": [
|
||||
"meta.preprocessor",
|
||||
"keyword.control.directive"
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#0000ff"
|
||||
}
|
||||
|
@ -197,13 +207,19 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"scope": "storage.modifier",
|
||||
"scope": [
|
||||
"storage.modifier",
|
||||
"keyword.operator.noexcept"
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#0000ff"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "string",
|
||||
"scope": [
|
||||
"string",
|
||||
"entity.name.operator.custom-literal.string",
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#a31515"
|
||||
}
|
||||
|
@ -315,8 +331,11 @@
|
|||
"keyword.operator.expression",
|
||||
"keyword.operator.cast",
|
||||
"keyword.operator.sizeof",
|
||||
"keyword.operator.typeid",
|
||||
"keyword.operator.alignas",
|
||||
"keyword.operator.instanceof",
|
||||
"keyword.operator.logical.python"
|
||||
"keyword.operator.logical.python",
|
||||
"keyword.operator.wordlike"
|
||||
],
|
||||
"settings": {
|
||||
"foreground": "#0000ff"
|
||||
|
@ -368,4 +387,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
"allowTrailingCommas": true,
|
||||
"title": "JSON schema for the TypeScript compiler's configuration file",
|
||||
"type": "object",
|
||||
"default": {
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
"null"
|
||||
],
|
||||
"default": null,
|
||||
"description": "%typescript.tsdk.desc%",
|
||||
"markdownDescription": "%typescript.tsdk.desc%",
|
||||
"scope": "window"
|
||||
},
|
||||
"typescript.disableAutomaticTypeAcquisition": {
|
||||
|
@ -264,6 +264,22 @@
|
|||
"description": "%format.placeOpenBraceOnNewLineForControlBlocks%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"typescript.format.semicolons": {
|
||||
"type": "string",
|
||||
"default": "ignore",
|
||||
"description": "%format.semicolons%",
|
||||
"scope": "resource",
|
||||
"enum": [
|
||||
"ignore",
|
||||
"insert",
|
||||
"remove"
|
||||
],
|
||||
"enumDescriptions": [
|
||||
"%format.semicolons.ignore%",
|
||||
"%format.semicolons.insert%",
|
||||
"%format.semicolons.remove%"
|
||||
]
|
||||
},
|
||||
"javascript.validate.enable": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
|
@ -360,6 +376,22 @@
|
|||
"description": "%format.placeOpenBraceOnNewLineForControlBlocks%",
|
||||
"scope": "resource"
|
||||
},
|
||||
"javascript.format.semicolons": {
|
||||
"type": "string",
|
||||
"default": "ignore",
|
||||
"description": "%format.semicolons%",
|
||||
"scope": "resource",
|
||||
"enum": [
|
||||
"ignore",
|
||||
"insert",
|
||||
"remove"
|
||||
],
|
||||
"enumDescriptions": [
|
||||
"%format.semicolons.ignore%",
|
||||
"%format.semicolons.insert%",
|
||||
"%format.semicolons.remove%"
|
||||
]
|
||||
},
|
||||
"javascript.implicitProjectConfig.checkJs": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
"reloadProjects.title": "Reload Project",
|
||||
"configuration.typescript": "TypeScript",
|
||||
"configuration.suggest.completeFunctionCalls": "Complete functions with their parameter signature.",
|
||||
"typescript.tsdk.desc": "Specifies the folder path containing the tsserver and lib*.d.ts files to use.",
|
||||
"typescript.tsdk.desc": "Specifies the folder path to the tsserver and lib*.d.ts files under a TypeScript install to use for IntelliSense, for example: `./node_modules/typescript/lib`.\n\n- When specified as a user setting, the TypeScript version from `typescript.tsdk` automatically replaces the built-in TypeScript version.\n- When specified as a workspace setting, `typescript.tsdk` allows you to switch to use that workspace version of TypeScript for IntelliSense with the `TypeScript: Select TypeScript version` command.\n\nSee the [TypeScript documentation](https://code.visualstudio.com/docs/typescript/typescript-compiling#_using-newer-typescript-versions) for more detail about managing TypeScript versions.",
|
||||
"typescript.disableAutomaticTypeAcquisition": "Disables automatic type acquisition. Automatic type acquisition fetches `@types` packages from npm to improve IntelliSense for external libraries.",
|
||||
"typescript.tsserver.log": "Enables logging of the TS server to a file. This log can be used to diagnose TS Server issues. The log may contain file paths, source code, and other potentially sensitive information from your project.",
|
||||
"typescript.tsserver.pluginPaths": "Additional paths to discover Typescript Language Service plugins. Requires using TypeScript 2.3.0 or newer in the workspace.",
|
||||
"typescript.tsserver.pluginPaths": "Additional paths to discover TypeScript Language Service plugins. Requires using TypeScript 2.3.0 or newer in the workspace.",
|
||||
"typescript.tsserver.pluginPaths.item": "Either an absolute or relative path. Relative path will be resolved against workspace folder(s).",
|
||||
"typescript.tsserver.trace": "Enables tracing of messages sent to the TS server. This trace can be used to diagnose TS Server issues. The trace may contain file paths, source code, and other potentially sensitive information from your project.",
|
||||
"typescript.validate.enable": "Enable/disable TypeScript validation.",
|
||||
|
@ -28,6 +28,10 @@
|
|||
"format.insertSpaceAfterTypeAssertion": "Defines space handling after type assertions in TypeScript. Requires using TypeScript 2.4 or newer in the workspace.",
|
||||
"format.placeOpenBraceOnNewLineForFunctions": "Defines whether an open brace is put onto a new line for functions or not.",
|
||||
"format.placeOpenBraceOnNewLineForControlBlocks": "Defines whether an open brace is put onto a new line for control blocks or not.",
|
||||
"format.semicolons": "Defines handling of optional semicolons. Requires using TypeScript 3.7 or newer in the workspace.",
|
||||
"format.semicolons.ignore": "Don’t insert or remove any semicolons.",
|
||||
"format.semicolons.insert": "Insert semicolons at statement ends.",
|
||||
"format.semicolons.remove": "Remove unnecessary semicolons.",
|
||||
"javascript.validate.enable": "Enable/disable JavaScript validation.",
|
||||
"goToProjectConfig.title": "Go to Project Configuration",
|
||||
"javascript.referencesCodeLens.enabled": "Enable/disable references CodeLens in JavaScript files.",
|
||||
|
@ -70,4 +74,4 @@
|
|||
"configuration.surveys.enabled": "Enabled/disable occasional surveys that help us improve VS Code's JavaScript and TypeScript support.",
|
||||
"configuration.suggest.completeJSDocs": "Enable/disable suggestion to complete JSDoc comments.",
|
||||
"typescript.preferences.renameShorthandProperties": "Enable/disable introducing aliases for object shorthand properties during renames. Requires using TypeScript 3.4 or newer in the workspace."
|
||||
}
|
||||
}
|
||||
|
|
|
@ -416,7 +416,7 @@ class TypeScriptCompletionItemProvider implements vscode.CompletionItemProvider
|
|||
isNewIdentifierLocation = response.body.isNewIdentifierLocation;
|
||||
isMemberCompletion = response.body.isMemberCompletion;
|
||||
if (isMemberCompletion) {
|
||||
const dotMatch = line.text.slice(0, position.character).match(/\.\s*$/) || undefined;
|
||||
const dotMatch = line.text.slice(0, position.character).match(/\??\.\s*$/) || undefined;
|
||||
if (dotMatch) {
|
||||
const range = new vscode.Range(position.translate({ characterDelta: -dotMatch[0].length }), position);
|
||||
const text = document.getText(range);
|
||||
|
|
|
@ -144,7 +144,9 @@ export default class FileConfigurationManager extends Disposable {
|
|||
isTypeScriptDocument(document) ? 'typescript.format' : 'javascript.format',
|
||||
document.uri);
|
||||
|
||||
return {
|
||||
// `semicolons` added to `Proto.FormatCodeSettings` in TypeScript 3.7:
|
||||
// remove intersection type after upgrading TypeScript.
|
||||
const settings: Proto.FormatCodeSettings & { semicolons?: string } = {
|
||||
tabSize: options.tabSize,
|
||||
indentSize: options.tabSize,
|
||||
convertTabsToSpaces: options.insertSpaces,
|
||||
|
@ -165,7 +167,10 @@ export default class FileConfigurationManager extends Disposable {
|
|||
insertSpaceAfterTypeAssertion: config.get<boolean>('insertSpaceAfterTypeAssertion'),
|
||||
placeOpenBraceOnNewLineForFunctions: config.get<boolean>('placeOpenBraceOnNewLineForFunctions'),
|
||||
placeOpenBraceOnNewLineForControlBlocks: config.get<boolean>('placeOpenBraceOnNewLineForControlBlocks'),
|
||||
semicolons: config.get<string>('semicolons'),
|
||||
};
|
||||
|
||||
return settings;
|
||||
}
|
||||
|
||||
private getPreferences(document: vscode.TextDocument): Proto.UserPreferences {
|
||||
|
@ -201,4 +206,4 @@ function getImportModuleSpecifierPreference(config: vscode.WorkspaceConfiguratio
|
|||
case 'non-relative': return 'non-relative';
|
||||
default: return undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -75,7 +75,7 @@ export default class TscTaskProvider implements vscode.TaskProvider {
|
|||
const badTsconfig = /\\tsconfig.*\.json/;
|
||||
if (badTsconfig.exec(definition.tsconfig) !== null) {
|
||||
// Warn that the task has the wrong slash type
|
||||
vscode.window.showWarningMessage(localize('badTsConfig', "Typescript Task in tasks.json contains \"\\\\\". Typescript tasks tsconfig must use \"/\""));
|
||||
vscode.window.showWarningMessage(localize('badTsConfig', "TypeScript Task in tasks.json contains \"\\\\\". TypeScript tasks tsconfig must use \"/\""));
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as assert from 'assert';
|
||||
import { env, extensions, ExtensionKind } from 'vscode';
|
||||
import { env, extensions, ExtensionKind, UIKind } from 'vscode';
|
||||
|
||||
suite('env-namespace', () => {
|
||||
|
||||
|
@ -44,4 +44,9 @@ suite('env-namespace', () => {
|
|||
assert.fail();
|
||||
}
|
||||
});
|
||||
|
||||
test('env.uiKind', function () {
|
||||
const kind = env.uiKind;
|
||||
assert.equal(kind, UIKind.Desktop);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# yarn lockfile v1
|
||||
|
||||
|
||||
typescript@3.6.3-insiders.20190909:
|
||||
version "3.6.3-insiders.20190909"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.3-insiders.20190909.tgz#65b6b2d809288311a970819849e1964ac73e1fda"
|
||||
integrity sha512-Lr7ONd8Y05EhrI+zKoI5tgvO5dhuRDrK5pyOLG33DeMln8zb8w7Yc8AoIEyqvxB5Btj9F7zBmXBXJdTI3SuX0Q==
|
||||
typescript@3.6.3:
|
||||
version "3.6.3"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.3.tgz#fea942fabb20f7e1ca7164ff626f1a9f3f70b4da"
|
||||
integrity sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==
|
||||
|
|
12
package.json
12
package.json
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "code-oss-dev",
|
||||
"version": "1.39.0",
|
||||
"distro": "3a4752953831a3a185b68c86cbe0022b55aff6d6",
|
||||
"distro": "13ad3edfae7fc8e54c16b95b7ed4f5b6e41571ab",
|
||||
"author": {
|
||||
"name": "Microsoft Corporation"
|
||||
},
|
||||
|
@ -30,6 +30,7 @@
|
|||
"dependencies": {
|
||||
"@microsoft/applicationinsights-web": "^2.1.1",
|
||||
"applicationinsights": "1.0.8",
|
||||
"chokidar": "3.1.0",
|
||||
"graceful-fs": "4.1.11",
|
||||
"http-proxy-agent": "^2.1.0",
|
||||
"https-proxy-agent": "^2.2.1",
|
||||
|
@ -38,7 +39,7 @@
|
|||
"keytar": "^4.11.0",
|
||||
"native-is-elevated": "0.3.0",
|
||||
"native-keymap": "2.0.0",
|
||||
"native-watchdog": "1.0.0",
|
||||
"native-watchdog": "1.2.0",
|
||||
"node-pty": "0.9.0-beta19",
|
||||
"nsfw": "1.2.5",
|
||||
"onigasm-umd": "^2.2.2",
|
||||
|
@ -46,13 +47,12 @@
|
|||
"spdlog": "^0.9.0",
|
||||
"sudo-prompt": "9.0.0",
|
||||
"v8-inspect-profiler": "^0.0.20",
|
||||
"vscode-chokidar": "2.1.7",
|
||||
"vscode-minimist": "^1.2.1",
|
||||
"vscode-proxy-agent": "0.4.0",
|
||||
"vscode-ripgrep": "^1.5.7",
|
||||
"vscode-sqlite3": "4.0.8",
|
||||
"vscode-textmate": "^4.2.2",
|
||||
"xterm": "4.0.0",
|
||||
"xterm": "4.1.0-beta8",
|
||||
"xterm-addon-search": "0.2.0",
|
||||
"xterm-addon-web-links": "0.2.0",
|
||||
"yauzl": "^2.9.2",
|
||||
|
@ -97,7 +97,7 @@
|
|||
"gulp-rename": "^1.2.0",
|
||||
"gulp-replace": "^0.5.4",
|
||||
"gulp-shell": "^0.6.5",
|
||||
"gulp-tsb": "4.0.2",
|
||||
"gulp-tsb": "4.0.4",
|
||||
"gulp-tslint": "^8.1.3",
|
||||
"gulp-untar": "^0.0.7",
|
||||
"gulp-vinyl-zip": "^2.1.2",
|
||||
|
@ -133,7 +133,7 @@
|
|||
"vinyl": "^2.0.0",
|
||||
"vinyl-fs": "^3.0.0",
|
||||
"vsce": "1.48.0",
|
||||
"vscode-debugprotocol": "1.36.0",
|
||||
"vscode-debugprotocol": "1.37.0",
|
||||
"vscode-nls-dev": "^3.3.1",
|
||||
"webpack": "^4.16.5",
|
||||
"webpack-cli": "^3.3.8",
|
||||
|
|
|
@ -23,4 +23,4 @@
|
|||
"extensionAllowedProposedApi": [
|
||||
"ms-vscode.references-view"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
disturl "http://nodejs.org/dist"
|
||||
target "10.11.0"
|
||||
target "12.4.0"
|
||||
runtime "node"
|
||||
|
|
|
@ -4,24 +4,24 @@
|
|||
"dependencies": {
|
||||
"@microsoft/applicationinsights-web": "^2.1.1",
|
||||
"applicationinsights": "1.0.8",
|
||||
"chokidar": "3.1.0",
|
||||
"cookie": "^0.4.0",
|
||||
"graceful-fs": "4.1.11",
|
||||
"http-proxy-agent": "^2.1.0",
|
||||
"https-proxy-agent": "^2.2.1",
|
||||
"iconv-lite": "0.5.0",
|
||||
"jschardet": "1.6.0",
|
||||
"native-watchdog": "1.0.0",
|
||||
"native-watchdog": "1.2.0",
|
||||
"node-pty": "0.9.0-beta19",
|
||||
"nsfw": "1.2.5",
|
||||
"onigasm-umd": "^2.2.2",
|
||||
"semver-umd": "^5.5.3",
|
||||
"spdlog": "^0.9.0",
|
||||
"vscode-chokidar": "2.1.7",
|
||||
"vscode-minimist": "^1.2.1",
|
||||
"vscode-proxy-agent": "0.4.0",
|
||||
"vscode-ripgrep": "^1.5.7",
|
||||
"vscode-textmate": "^4.2.2",
|
||||
"xterm": "4.0.0",
|
||||
"xterm": "4.1.0-beta8",
|
||||
"xterm-addon-search": "0.2.0",
|
||||
"xterm-addon-web-links": "0.2.0",
|
||||
"yauzl": "^2.9.2",
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"onigasm-umd": "^2.2.2",
|
||||
"semver-umd": "^5.5.3",
|
||||
"vscode-textmate": "^4.2.2",
|
||||
"xterm": "4.0.0",
|
||||
"xterm": "4.1.0-beta8",
|
||||
"xterm-addon-search": "0.2.0",
|
||||
"xterm-addon-web-links": "0.2.0"
|
||||
}
|
||||
|
|
|
@ -109,7 +109,7 @@ xterm-addon-web-links@0.2.0:
|
|||
resolved "https://registry.yarnpkg.com/xterm-addon-web-links/-/xterm-addon-web-links-0.2.0.tgz#b408a0be46211d8d4a0bb5e701d8f3c2bd07d473"
|
||||
integrity sha512-dq81c4Pzli2PgKVBgY2REte9sCVibR3df8AP3SEvCTM9uYFnUFxtxzMTplPnc7+rXabVhFdbU6x+rstIk8HNQg==
|
||||
|
||||
xterm@4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.0.0.tgz#eac93e08cbe69cf238cbace9185ed9e38873df1a"
|
||||
integrity sha512-Xbx3vvf9FnrUcI1qU31Jww7/fc/NqpXGqgByTvjj7+g3/yPvt/RvLkP/LLMcof2kLAC3evzZGMiovs7NkjdWDw==
|
||||
xterm@4.1.0-beta8:
|
||||
version "4.1.0-beta8"
|
||||
resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.1.0-beta8.tgz#c1ef323ba336d92f5b52302b66f672dfff75b3ef"
|
||||
integrity sha512-6lf+XVv0qT285w49P92tSYoUB406jdbgdhnPKNzxCIGtGX8kcwK+pHZ8HncDwcEhmTmI4LZ/WXPGtOQJg+onwg==
|
||||
|
|
832
remote/yarn.lock
832
remote/yarn.lock
File diff suppressed because it is too large
Load diff
|
@ -2,7 +2,7 @@
|
|||
Name=@@NAME_LONG@@ - URL Handler
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=@@EXEC@@ --open-url %U
|
||||
Exec=@@EXEC@@ --no-sandbox --open-url %U
|
||||
Icon=@@ICON@@
|
||||
Type=Application
|
||||
NoDisplay=true
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
Name=@@NAME_LONG@@
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=@@EXEC@@ --unity-launch %F
|
||||
Exec=@@EXEC@@ --no-sandbox --unity-launch %F
|
||||
Icon=@@ICON@@
|
||||
Type=Application
|
||||
StartupNotify=false
|
||||
|
@ -14,5 +14,5 @@ Keywords=vscode;
|
|||
|
||||
[Desktop Action new-empty-window]
|
||||
Name=New Empty Window
|
||||
Exec=@@EXEC@@ --new-window %F
|
||||
Exec=@@EXEC@@ --no-sandbox --new-window %F
|
||||
Icon=@@ICON@@
|
||||
|
|
|
@ -27,15 +27,15 @@ if grep -qi Microsoft /proc/version; then
|
|||
WSL_EXT_ID="ms-vscode-remote.remote-wsl"
|
||||
|
||||
if [ $WSL_BUILD -ge 41955 -a $WSL_BUILD -lt 41959 ]; then
|
||||
# WSL2 in workaround for https://github.com/microsoft/WSL/issues/4337
|
||||
# WSL2 workaround for https://github.com/microsoft/WSL/issues/4337
|
||||
CWD="$(pwd)"
|
||||
cd "$VSCODE_PATH"
|
||||
cmd.exe /C ".\\bin\\$APP_NAME.cmd --locate-extension $WSL_EXT_ID >remote-wsl-loc.txt"
|
||||
WSL_EXT_WLOC="$(cat ./remote-wsl-loc.txt)"
|
||||
rm remote-wsl-loc.txt
|
||||
cmd.exe /C ".\\bin\\$APP_NAME.cmd --locate-extension $WSL_EXT_ID >%TEMP%\\remote-wsl-loc.txt"
|
||||
WSL_EXT_WLOC=$(cmd.exe /C type %TEMP%\\remote-wsl-loc.txt)
|
||||
cd "$CWD"
|
||||
else
|
||||
WSL_EXT_WLOC=$(ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" --locate-extension $WSL_EXT_ID)
|
||||
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" --locate-extension $WSL_EXT_ID >/tmp/remote-wsl-loc.txt 2>/dev/null
|
||||
WSL_EXT_WLOC=$(cat /tmp/remote-wsl-loc.txt)
|
||||
fi
|
||||
if [ -n "$WSL_EXT_WLOC" ]; then
|
||||
# replace \r\n with \n in WSL_EXT_WLOC
|
||||
|
|
|
@ -8,6 +8,7 @@ if [[ "$OSTYPE" == "darwin"* ]]; then
|
|||
else
|
||||
ROOT=$(dirname $(dirname $(readlink -f $0)))
|
||||
VSCODEUSERDATADIR=`mktemp -d 2>/dev/null`
|
||||
LINUX_NO_SANDBOX="--no-sandbox" # Electron 6 introduces a chrome-sandbox that requires root to run. This can fail. Disable sandbox via --no-sandbox.
|
||||
fi
|
||||
|
||||
cd $ROOT
|
||||
|
@ -36,13 +37,13 @@ fi
|
|||
./scripts/test.sh --runGlob **/*.integrationTest.js "$@"
|
||||
|
||||
# Tests in the extension host
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $ROOT/extensions/vscode-api-tests/testWorkspace --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/singlefolder-tests --disable-telemetry --disable-crash-reporter --disable-updates --disable-extensions --skip-getting-started --disable-inspect --user-data-dir=$VSCODEUSERDATADIR
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $ROOT/extensions/vscode-api-tests/testworkspace.code-workspace --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/workspace-tests --disable-telemetry --disable-crash-reporter --disable-updates --disable-extensions --skip-getting-started --disable-inspect --user-data-dir=$VSCODEUSERDATADIR
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $ROOT/extensions/vscode-colorize-tests/test --extensionDevelopmentPath=$ROOT/extensions/vscode-colorize-tests --extensionTestsPath=$ROOT/extensions/vscode-colorize-tests/out --disable-telemetry --disable-crash-reporter --disable-updates --disable-extensions --skip-getting-started --disable-inspect --user-data-dir=$VSCODEUSERDATADIR
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $ROOT/extensions/markdown-language-features/test-fixtures --extensionDevelopmentPath=$ROOT/extensions/markdown-language-features --extensionTestsPath=$ROOT/extensions/markdown-language-features/out/test --disable-telemetry --disable-crash-reporter --disable-updates --disable-extensions --skip-getting-started --disable-inspect --user-data-dir=$VSCODEUSERDATADIR
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/vscode-api-tests/testWorkspace --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/singlefolder-tests --disable-telemetry --disable-crash-reporter --disable-updates --disable-extensions --skip-getting-started --disable-inspect --user-data-dir=$VSCODEUSERDATADIR
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/vscode-api-tests/testworkspace.code-workspace --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/workspace-tests --disable-telemetry --disable-crash-reporter --disable-updates --disable-extensions --skip-getting-started --disable-inspect --user-data-dir=$VSCODEUSERDATADIR
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/vscode-colorize-tests/test --extensionDevelopmentPath=$ROOT/extensions/vscode-colorize-tests --extensionTestsPath=$ROOT/extensions/vscode-colorize-tests/out --disable-telemetry --disable-crash-reporter --disable-updates --disable-extensions --skip-getting-started --disable-inspect --user-data-dir=$VSCODEUSERDATADIR
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/markdown-language-features/test-fixtures --extensionDevelopmentPath=$ROOT/extensions/markdown-language-features --extensionTestsPath=$ROOT/extensions/markdown-language-features/out/test --disable-telemetry --disable-crash-reporter --disable-updates --disable-extensions --skip-getting-started --disable-inspect --user-data-dir=$VSCODEUSERDATADIR
|
||||
|
||||
mkdir -p $ROOT/extensions/emmet/test-fixtures
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $ROOT/extensions/emmet/test-fixtures --extensionDevelopmentPath=$ROOT/extensions/emmet --extensionTestsPath=$ROOT/extensions/emmet/out/test --disable-telemetry --disable-crash-reporter --disable-updates --disable-extensions --skip-getting-started --disable-inspect --user-data-dir=$VSCODEUSERDATADIR
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/emmet/test-fixtures --extensionDevelopmentPath=$ROOT/extensions/emmet --extensionTestsPath=$ROOT/extensions/emmet/out/test --disable-telemetry --disable-crash-reporter --disable-updates --disable-extensions --skip-getting-started --disable-inspect --user-data-dir=$VSCODEUSERDATADIR
|
||||
rm -rf $ROOT/extensions/emmet/test-fixtures
|
||||
|
||||
# Remote Integration Tests
|
||||
|
|
|
@ -34,5 +34,5 @@ else
|
|||
cd $ROOT ; \
|
||||
ELECTRON_ENABLE_LOGGING=1 \
|
||||
"$CODE" \
|
||||
test/electron/index.js "$@"
|
||||
test/electron/index.js --no-sandbox "$@" # Electron 6 introduces a chrome-sandbox that requires root to run. This can fail. Disable sandbox via --no-sandbox.
|
||||
fi
|
||||
|
|
18
src/bootstrap.js
vendored
18
src/bootstrap.js
vendored
|
@ -21,6 +21,7 @@ process.on('SIGPIPE', () => {
|
|||
//#endregion
|
||||
|
||||
//#region Add support for redirecting the loading of node modules
|
||||
|
||||
exports.injectNodeModuleLookupPath = function (injectPath) {
|
||||
if (!injectPath) {
|
||||
throw new Error('Missing injectPath');
|
||||
|
@ -36,10 +37,8 @@ exports.injectNodeModuleLookupPath = function (injectPath) {
|
|||
const originalResolveLookupPaths = Module._resolveLookupPaths;
|
||||
|
||||
// @ts-ignore
|
||||
Module._resolveLookupPaths = function (moduleName, parent, newReturn) {
|
||||
const result = originalResolveLookupPaths(moduleName, parent, newReturn);
|
||||
|
||||
const paths = newReturn ? result : result[1];
|
||||
Module._resolveLookupPaths = function (moduleName, parent) {
|
||||
const paths = originalResolveLookupPaths(moduleName, parent);
|
||||
for (let i = 0, len = paths.length; i < len; i++) {
|
||||
if (paths[i] === nodeModulesPath) {
|
||||
paths.splice(i, 0, injectPath);
|
||||
|
@ -47,7 +46,7 @@ exports.injectNodeModuleLookupPath = function (injectPath) {
|
|||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return paths;
|
||||
};
|
||||
};
|
||||
//#endregion
|
||||
|
@ -71,11 +70,10 @@ exports.enableASARSupport = function (nodeModulesPath) {
|
|||
|
||||
// @ts-ignore
|
||||
const originalResolveLookupPaths = Module._resolveLookupPaths;
|
||||
// @ts-ignore
|
||||
Module._resolveLookupPaths = function (request, parent, newReturn) {
|
||||
const result = originalResolveLookupPaths(request, parent, newReturn);
|
||||
|
||||
const paths = newReturn ? result : result[1];
|
||||
// @ts-ignore
|
||||
Module._resolveLookupPaths = function (request, parent) {
|
||||
const paths = originalResolveLookupPaths(request, parent);
|
||||
for (let i = 0, len = paths.length; i < len; i++) {
|
||||
if (paths[i] === NODE_MODULES_PATH) {
|
||||
paths.splice(i, 0, NODE_MODULES_ASAR_PATH);
|
||||
|
@ -83,7 +81,7 @@ exports.enableASARSupport = function (nodeModulesPath) {
|
|||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
return paths;
|
||||
};
|
||||
};
|
||||
//#endregion
|
||||
|
|
|
@ -17,7 +17,7 @@ const paths = require('./paths');
|
|||
// @ts-ignore
|
||||
const product = require('../product.json');
|
||||
// @ts-ignore
|
||||
const app = require('electron').app;
|
||||
const { app, protocol } = require('electron');
|
||||
|
||||
// Enable portable support
|
||||
const portable = bootstrap.configurePortable();
|
||||
|
@ -33,6 +33,11 @@ app.setPath('userData', userDataPath);
|
|||
// Update cwd based on environment and platform
|
||||
setCurrentWorkingDirectory();
|
||||
|
||||
// Register custom schemes with privileges
|
||||
protocol.registerSchemesAsPrivileged([
|
||||
{ scheme: 'vscode-resource', privileges: { secure: true, supportFetchAPI: true, corsEnabled: true } }
|
||||
]);
|
||||
|
||||
// Global app listeners
|
||||
registerListeners();
|
||||
|
||||
|
@ -102,7 +107,7 @@ function onReady() {
|
|||
});
|
||||
};
|
||||
|
||||
// We recevied a valid nlsConfig from a user defined locale
|
||||
// We received a valid nlsConfig from a user defined locale
|
||||
if (nlsConfig) {
|
||||
startup(nlsConfig);
|
||||
}
|
||||
|
|
4
src/typings/chokidar.d.ts
vendored
4
src/typings/chokidar.d.ts
vendored
|
@ -3,7 +3,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
declare module 'vscode-chokidar' {
|
||||
declare module 'chokidar' {
|
||||
|
||||
// TypeScript Version: 3.0
|
||||
|
||||
|
@ -197,4 +197,4 @@ declare module 'vscode-chokidar' {
|
|||
paths: string | string[],
|
||||
options?: WatchOptions
|
||||
): FSWatcher;
|
||||
}
|
||||
}
|
||||
|
|
1741
src/typings/electron.d.ts
vendored
1741
src/typings/electron.d.ts
vendored
File diff suppressed because it is too large
Load diff
30
src/typings/xterm.d.ts
vendored
30
src/typings/xterm.d.ts
vendored
|
@ -650,24 +650,32 @@ declare module 'xterm' {
|
|||
clear(): void;
|
||||
|
||||
/**
|
||||
* Writes text to the terminal.
|
||||
* @param data The text to write to the terminal.
|
||||
* Write data to the terminal.
|
||||
* @param data The data to write to the terminal. This can either be raw
|
||||
* bytes given as Uint8Array from the pty or a string. Raw bytes will always
|
||||
* be treated as UTF-8 encoded, string data as UTF-16.
|
||||
* @param callback Optional callback that fires when the data was processed
|
||||
* by the parser.
|
||||
*/
|
||||
write(data: string): void;
|
||||
write(data: string | Uint8Array, callback?: () => void): void;
|
||||
|
||||
/**
|
||||
* Writes text to the terminal, followed by a break line character (\n).
|
||||
* @param data The text to write to the terminal.
|
||||
* Writes data to the terminal, followed by a break line character (\n).
|
||||
* @param data The data to write to the terminal. This can either be raw
|
||||
* bytes given as Uint8Array from the pty or a string. Raw bytes will always
|
||||
* be treated as UTF-8 encoded, string data as UTF-16.
|
||||
* @param callback Optional callback that fires when the data was processed
|
||||
* by the parser.
|
||||
*/
|
||||
writeln(data: string): void;
|
||||
writeln(data: string | Uint8Array, callback?: () => void): void;
|
||||
|
||||
/**
|
||||
* Writes UTF8 data to the terminal. This has a slight performance advantage
|
||||
* over the string based write method due to lesser data conversions needed
|
||||
* on the way from the pty to xterm.js.
|
||||
* Write UTF8 data to the terminal.
|
||||
* @param data The data to write to the terminal.
|
||||
* @param callback Optional callback when data was processed.
|
||||
* @deprecated use `write` instead
|
||||
*/
|
||||
writeUtf8(data: Uint8Array): void;
|
||||
writeUtf8(data: Uint8Array, callback?: () => void): void;
|
||||
|
||||
/**
|
||||
* Writes text to the terminal, performing the necessary transformations for pasted text.
|
||||
|
@ -804,7 +812,7 @@ declare module 'xterm' {
|
|||
*/
|
||||
export interface ITerminalAddon extends IDisposable {
|
||||
/**
|
||||
* (EXPERIMENTAL) This is called when the addon is activated.
|
||||
* This is called when the addon is activated.
|
||||
*/
|
||||
activate(terminal: Terminal): void;
|
||||
}
|
||||
|
|
|
@ -203,16 +203,16 @@ export const toggleClass: (node: HTMLElement | SVGElement, className: string, sh
|
|||
class DomListener implements IDisposable {
|
||||
|
||||
private _handler: (e: any) => void;
|
||||
private _node: Element | Window | Document;
|
||||
private _node: EventTarget;
|
||||
private readonly _type: string;
|
||||
private readonly _useCapture: boolean;
|
||||
private readonly _options: boolean | AddEventListenerOptions;
|
||||
|
||||
constructor(node: Element | Window | Document, type: string, handler: (e: any) => void, useCapture?: boolean) {
|
||||
constructor(node: EventTarget, type: string, handler: (e: any) => void, options?: boolean | AddEventListenerOptions) {
|
||||
this._node = node;
|
||||
this._type = type;
|
||||
this._handler = handler;
|
||||
this._useCapture = (useCapture || false);
|
||||
this._node.addEventListener(this._type, this._handler, this._useCapture);
|
||||
this._options = (options || false);
|
||||
this._node.addEventListener(this._type, this._handler, this._options);
|
||||
}
|
||||
|
||||
public dispose(): void {
|
||||
|
@ -221,7 +221,7 @@ class DomListener implements IDisposable {
|
|||
return;
|
||||
}
|
||||
|
||||
this._node.removeEventListener(this._type, this._handler, this._useCapture);
|
||||
this._node.removeEventListener(this._type, this._handler, this._options);
|
||||
|
||||
// Prevent leakers from holding on to the dom or handler func
|
||||
this._node = null!;
|
||||
|
@ -229,9 +229,10 @@ class DomListener implements IDisposable {
|
|||
}
|
||||
}
|
||||
|
||||
export function addDisposableListener<K extends keyof GlobalEventHandlersEventMap>(node: Element | Window | Document, type: K, handler: (event: GlobalEventHandlersEventMap[K]) => void, useCapture?: boolean): IDisposable;
|
||||
export function addDisposableListener(node: Element | Window | Document, type: string, handler: (event: any) => void, useCapture?: boolean): IDisposable;
|
||||
export function addDisposableListener(node: Element | Window | Document, type: string, handler: (event: any) => void, useCapture?: boolean): IDisposable {
|
||||
export function addDisposableListener<K extends keyof GlobalEventHandlersEventMap>(node: EventTarget, type: K, handler: (event: GlobalEventHandlersEventMap[K]) => void, useCapture?: boolean): IDisposable;
|
||||
export function addDisposableListener(node: EventTarget, type: string, handler: (event: any) => void, useCapture?: boolean): IDisposable;
|
||||
export function addDisposableListener(node: EventTarget, type: string, handler: (event: any) => void, useCapture: AddEventListenerOptions): IDisposable;
|
||||
export function addDisposableListener(node: EventTarget, type: string, handler: (event: any) => void, useCapture?: boolean | AddEventListenerOptions): IDisposable {
|
||||
return new DomListener(node, type, handler, useCapture);
|
||||
}
|
||||
|
||||
|
@ -559,13 +560,11 @@ class SizeUtils {
|
|||
// Position & Dimension
|
||||
|
||||
export class Dimension {
|
||||
public width: number;
|
||||
public height: number;
|
||||
|
||||
constructor(width: number, height: number) {
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
}
|
||||
constructor(
|
||||
public readonly width: number,
|
||||
public readonly height: number,
|
||||
) { }
|
||||
|
||||
static equals(a: Dimension | undefined, b: Dimension | undefined): boolean {
|
||||
if (a === b) {
|
||||
|
@ -782,6 +781,12 @@ export function createStyleSheet(container: HTMLElement = document.getElementsBy
|
|||
return style;
|
||||
}
|
||||
|
||||
export function createMetaElement(container: HTMLElement = document.getElementsByTagName('head')[0]): HTMLMetaElement {
|
||||
let meta = document.createElement('meta');
|
||||
container.appendChild(meta);
|
||||
return meta;
|
||||
}
|
||||
|
||||
let _sharedStyleSheet: HTMLStyleElement | null = null;
|
||||
function getSharedStyleSheet(): HTMLStyleElement {
|
||||
if (!_sharedStyleSheet) {
|
||||
|
|
|
@ -40,7 +40,8 @@
|
|||
transform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */
|
||||
}
|
||||
|
||||
.monaco-action-bar .action-item .icon {
|
||||
.monaco-action-bar .action-item .icon,
|
||||
.monaco-action-bar .action-item .codicon {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
|
@ -95,4 +96,4 @@
|
|||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -311,14 +311,14 @@ export class ActionViewItem extends BaseActionViewItem {
|
|||
|
||||
if (this.options.icon) {
|
||||
this.cssClass = this.getAction().class;
|
||||
DOM.addClass(this.label, 'icon');
|
||||
DOM.addClass(this.label, 'codicon');
|
||||
if (this.cssClass) {
|
||||
DOM.addClasses(this.label, this.cssClass);
|
||||
}
|
||||
|
||||
this.updateEnabled();
|
||||
} else {
|
||||
DOM.removeClass(this.label, 'icon');
|
||||
DOM.removeClass(this.label, 'codicon');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ export class Checkbox extends Widget {
|
|||
|
||||
this.domNode = document.createElement('div');
|
||||
this.domNode.title = this._opts.title;
|
||||
this.domNode.className = 'monaco-custom-checkbox ' + (this._opts.actionClassName || '') + ' ' + (this._checked ? 'checked' : 'unchecked');
|
||||
this.domNode.className = 'monaco-custom-checkbox codicon ' + (this._opts.actionClassName || '') + ' ' + (this._checked ? 'checked' : 'unchecked');
|
||||
this.domNode.tabIndex = 0;
|
||||
this.domNode.setAttribute('role', 'checkbox');
|
||||
this.domNode.setAttribute('aria-checked', String(this._checked));
|
||||
|
|
|
@ -3,8 +3,12 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { ISCMResourceGroup, ISCMResource } from 'vs/workbench/contrib/scm/common/scm';
|
||||
@keyframes codicon-spin {
|
||||
100% {
|
||||
transform:rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
export function isSCMResource(element: ISCMResourceGroup | ISCMResource): element is ISCMResource {
|
||||
return !!(element as ISCMResource).sourceUri;
|
||||
}
|
||||
.codicon-animation-spin {
|
||||
animation: octicon-spin 1.5s linear infinite;
|
||||
}
|
355
src/vs/base/browser/ui/codiconLabel/codicon/codicon.css
Normal file
355
src/vs/base/browser/ui/codiconLabel/codicon/codicon.css
Normal file
|
@ -0,0 +1,355 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
@font-face {
|
||||
font-family: "codicon";
|
||||
src: url("./codicon.ttf?3b584136fb1f0186a1ee578cdcb5240b") format("truetype");
|
||||
}
|
||||
|
||||
.codicon[class*='codicon-'] {
|
||||
font: normal normal normal 16px/1 codicon;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
text-rendering: auto;
|
||||
text-align: center;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
|
||||
.codicon-add:before { content: "\ea60" }
|
||||
.codicon-plus:before { content: "\ea60" }
|
||||
.codicon-gist-new:before { content: "\ea60" }
|
||||
.codicon-repo-create:before { content: "\ea60" }
|
||||
.codicon-lightbulb:before { content: "\ea61" }
|
||||
.codicon-light-bulb:before { content: "\ea61" }
|
||||
.codicon-repo:before { content: "\ea62" }
|
||||
.codicon-repo-delete:before { content: "\ea62" }
|
||||
.codicon-gist-fork:before { content: "\ea63" }
|
||||
.codicon-repo-forked:before { content: "\ea63" }
|
||||
.codicon-git-pull-request:before { content: "\ea64" }
|
||||
.codicon-git-pull-request-abandoned:before { content: "\ea64" }
|
||||
.codicon-record-keys:before { content: "\ea65" }
|
||||
.codicon-keyboard:before { content: "\ea65" }
|
||||
.codicon-tag:before { content: "\ea66" }
|
||||
.codicon-tag-add:before { content: "\ea66" }
|
||||
.codicon-tag-remove:before { content: "\ea66" }
|
||||
.codicon-person:before { content: "\ea67" }
|
||||
.codicon-person-add:before { content: "\ea67" }
|
||||
.codicon-person-follow:before { content: "\ea67" }
|
||||
.codicon-person-outline:before { content: "\ea67" }
|
||||
.codicon-person-filled:before { content: "\ea67" }
|
||||
.codicon-git-branch:before { content: "\ea68" }
|
||||
.codicon-git-branch-create:before { content: "\ea68" }
|
||||
.codicon-git-branch-delete:before { content: "\ea68" }
|
||||
.codicon-source-control:before { content: "\ea68" }
|
||||
.codicon-mirror:before { content: "\ea69" }
|
||||
.codicon-mirror-public:before { content: "\ea69" }
|
||||
.codicon-star:before { content: "\ea6a" }
|
||||
.codicon-star-add:before { content: "\ea6a" }
|
||||
.codicon-star-delete:before { content: "\ea6a" }
|
||||
.codicon-comment:before { content: "\ea6b" }
|
||||
.codicon-comment-add:before { content: "\ea6b" }
|
||||
.codicon-alert:before { content: "\ea6c" }
|
||||
.codicon-warning:before { content: "\ea6c" }
|
||||
.codicon-search:before { content: "\ea6d" }
|
||||
.codicon-search-save:before { content: "\ea6d" }
|
||||
.codicon-log-out:before { content: "\ea6e" }
|
||||
.codicon-sign-out:before { content: "\ea6e" }
|
||||
.codicon-log-in:before { content: "\ea6f" }
|
||||
.codicon-sign-in:before { content: "\ea6f" }
|
||||
.codicon-eye:before { content: "\ea70" }
|
||||
.codicon-eye-unwatch:before { content: "\ea70" }
|
||||
.codicon-eye-watch:before { content: "\ea70" }
|
||||
.codicon-circle-filled:before { content: "\ea71" }
|
||||
.codicon-primitive-dot:before { content: "\ea71" }
|
||||
.codicon-stop:before { content: "\ea72" }
|
||||
.codicon-primitive-square:before { content: "\ea72" }
|
||||
.codicon-edit:before { content: "\ea73" }
|
||||
.codicon-pencil:before { content: "\ea73" }
|
||||
.codicon-info:before { content: "\ea74" }
|
||||
.codicon-issue-opened:before { content: "\ea74" }
|
||||
.codicon-gist-private:before { content: "\ea75" }
|
||||
.codicon-git-fork-private:before { content: "\ea75" }
|
||||
.codicon-lock:before { content: "\ea75" }
|
||||
.codicon-mirror-private:before { content: "\ea75" }
|
||||
.codicon-close:before { content: "\ea76" }
|
||||
.codicon-remove-close:before { content: "\ea76" }
|
||||
.codicon-x:before { content: "\ea76" }
|
||||
.codicon-repo-sync:before { content: "\ea77" }
|
||||
.codicon-sync:before { content: "\ea77" }
|
||||
.codicon-clone:before { content: "\ea78" }
|
||||
.codicon-desktop-download:before { content: "\ea78" }
|
||||
.codicon-beaker:before { content: "\ea79" }
|
||||
.codicon-microscope:before { content: "\ea79" }
|
||||
.codicon-vm:before { content: "\ea7a" }
|
||||
.codicon-device-desktop:before { content: "\ea7a" }
|
||||
.codicon-file:before { content: "\ea7b" }
|
||||
.codicon-file-text:before { content: "\ea7b" }
|
||||
.codicon-more:before { content: "\ea7c" }
|
||||
.codicon-kebab-horizontal:before { content: "\ea7c" }
|
||||
.codicon-mail-reply:before { content: "\ea7d" }
|
||||
.codicon-reply:before { content: "\ea7d" }
|
||||
.codicon-organization:before { content: "\ea7e" }
|
||||
.codicon-organization-filled:before { content: "\ea7e" }
|
||||
.codicon-organization-outline:before { content: "\ea7e" }
|
||||
.codicon-new-file:before { content: "\ea7f" }
|
||||
.codicon-file-add:before { content: "\ea7f" }
|
||||
.codicon-new-folder:before { content: "\ea80" }
|
||||
.codicon-file-directory-create:before { content: "\ea80" }
|
||||
.codicon-Vector:before { content: "\f101" }
|
||||
.codicon-activate-breakpoints:before { content: "\f102" }
|
||||
.codicon-archive:before { content: "\f103" }
|
||||
.codicon-array:before { content: "\f104" }
|
||||
.codicon-arrow-both:before { content: "\f105" }
|
||||
.codicon-arrow-down:before { content: "\f106" }
|
||||
.codicon-arrow-left:before { content: "\f107" }
|
||||
.codicon-arrow-right:before { content: "\f108" }
|
||||
.codicon-arrow-small-down:before { content: "\f109" }
|
||||
.codicon-arrow-small-left:before { content: "\f10a" }
|
||||
.codicon-arrow-small-right:before { content: "\f10b" }
|
||||
.codicon-arrow-small-up:before { content: "\f10c" }
|
||||
.codicon-arrow-up:before { content: "\f10d" }
|
||||
.codicon-bell:before { content: "\f10e" }
|
||||
.codicon-bold:before { content: "\f10f" }
|
||||
.codicon-book:before { content: "\f110" }
|
||||
.codicon-bookmark:before { content: "\f111" }
|
||||
.codicon-boolean:before { content: "\f112" }
|
||||
.codicon-breakpoint-conditional-unverified:before { content: "\f113" }
|
||||
.codicon-breakpoint-conditional:before { content: "\f114" }
|
||||
.codicon-breakpoint-data-unverified:before { content: "\f115" }
|
||||
.codicon-breakpoint-data:before { content: "\f116" }
|
||||
.codicon-breakpoint-log-unverified:before { content: "\f117" }
|
||||
.codicon-breakpoint-log:before { content: "\f118" }
|
||||
.codicon-briefcase:before { content: "\f119" }
|
||||
.codicon-broadcast:before { content: "\f11a" }
|
||||
.codicon-browser:before { content: "\f11b" }
|
||||
.codicon-bug:before { content: "\f11c" }
|
||||
.codicon-calendar:before { content: "\f11d" }
|
||||
.codicon-case-sensitive:before { content: "\f11e" }
|
||||
.codicon-check:before { content: "\f11f" }
|
||||
.codicon-checklist:before { content: "\f120" }
|
||||
.codicon-chevron-down:before { content: "\f121" }
|
||||
.codicon-chevron-left:before { content: "\f122" }
|
||||
.codicon-chevron-right:before { content: "\f123" }
|
||||
.codicon-chevron-up:before { content: "\f124" }
|
||||
.codicon-circle-outline:before { content: "\f125" }
|
||||
.codicon-circle-slash:before { content: "\f126" }
|
||||
.codicon-circuit-board:before { content: "\f127" }
|
||||
.codicon-class:before { content: "\f128" }
|
||||
.codicon-clear-all:before { content: "\f129" }
|
||||
.codicon-clippy:before { content: "\f12a" }
|
||||
.codicon-close-all:before { content: "\f12b" }
|
||||
.codicon-cloud-download:before { content: "\f12c" }
|
||||
.codicon-cloud-upload:before { content: "\f12d" }
|
||||
.codicon-code:before { content: "\f12e" }
|
||||
.codicon-collapse-all:before { content: "\f12f" }
|
||||
.codicon-color-mode:before { content: "\f130" }
|
||||
.codicon-color:before { content: "\f131" }
|
||||
.codicon-comment-discussion:before { content: "\f132" }
|
||||
.codicon-compare-changes:before { content: "\f133" }
|
||||
.codicon-console:before { content: "\f134" }
|
||||
.codicon-constant:before { content: "\f135" }
|
||||
.codicon-continue:before { content: "\f136" }
|
||||
.codicon-credit-card:before { content: "\f137" }
|
||||
.codicon-current-and-breakpoint:before { content: "\f138" }
|
||||
.codicon-current:before { content: "\f139" }
|
||||
.codicon-dash:before { content: "\f13a" }
|
||||
.codicon-dashboard:before { content: "\f13b" }
|
||||
.codicon-database:before { content: "\f13c" }
|
||||
.codicon-debug:before { content: "\f13d" }
|
||||
.codicon-device-camera-video:before { content: "\f13e" }
|
||||
.codicon-device-camera:before { content: "\f13f" }
|
||||
.codicon-device-mobile:before { content: "\f140" }
|
||||
.codicon-diff-added:before { content: "\f141" }
|
||||
.codicon-diff-ignored:before { content: "\f142" }
|
||||
.codicon-diff-modified:before { content: "\f143" }
|
||||
.codicon-diff-removed:before { content: "\f144" }
|
||||
.codicon-diff-renamed:before { content: "\f145" }
|
||||
.codicon-diff:before { content: "\f146" }
|
||||
.codicon-discard:before { content: "\f147" }
|
||||
.codicon-disconnect-:before { content: "\f148" }
|
||||
.codicon-editor-layout:before { content: "\f149" }
|
||||
.codicon-ellipsis:before { content: "\f14a" }
|
||||
.codicon-empty-window:before { content: "\f14b" }
|
||||
.codicon-enumerator-member:before { content: "\f14c" }
|
||||
.codicon-enumerator:before { content: "\f14d" }
|
||||
.codicon-error:before { content: "\f14e" }
|
||||
.codicon-event:before { content: "\f14f" }
|
||||
.codicon-exclude:before { content: "\f150" }
|
||||
.codicon-extensions:before { content: "\f151" }
|
||||
.codicon-eye-closed:before { content: "\f152" }
|
||||
.codicon-field:before { content: "\f153" }
|
||||
.codicon-file-binary:before { content: "\f154" }
|
||||
.codicon-file-code:before { content: "\f155" }
|
||||
.codicon-file-media:before { content: "\f156" }
|
||||
.codicon-file-pdf:before { content: "\f157" }
|
||||
.codicon-file-submodule:before { content: "\f158" }
|
||||
.codicon-file-symlink-directory:before { content: "\f159" }
|
||||
.codicon-file-symlink-file:before { content: "\f15a" }
|
||||
.codicon-file-zip:before { content: "\f15b" }
|
||||
.codicon-files:before { content: "\f15c" }
|
||||
.codicon-filter:before { content: "\f15d" }
|
||||
.codicon-flame:before { content: "\f15e" }
|
||||
.codicon-fold-down:before { content: "\f15f" }
|
||||
.codicon-fold-up:before { content: "\f160" }
|
||||
.codicon-fold:before { content: "\f161" }
|
||||
.codicon-folder-active:before { content: "\f162" }
|
||||
.codicon-folder-opened:before { content: "\f163" }
|
||||
.codicon-folder:before { content: "\f164" }
|
||||
.codicon-gear:before { content: "\f165" }
|
||||
.codicon-gift:before { content: "\f166" }
|
||||
.codicon-gist-secret:before { content: "\f167" }
|
||||
.codicon-gist:before { content: "\f168" }
|
||||
.codicon-git-commit:before { content: "\f169" }
|
||||
.codicon-git-compare:before { content: "\f16a" }
|
||||
.codicon-git-merge:before { content: "\f16b" }
|
||||
.codicon-github-action:before { content: "\f16c" }
|
||||
.codicon-github-alt:before { content: "\f16d" }
|
||||
.codicon-github:before { content: "\f16e" }
|
||||
.codicon-globe:before { content: "\f16f" }
|
||||
.codicon-go-to-file:before { content: "\f170" }
|
||||
.codicon-grabber:before { content: "\f171" }
|
||||
.codicon-graph:before { content: "\f172" }
|
||||
.codicon-gripper:before { content: "\f173" }
|
||||
.codicon-heart:before { content: "\f174" }
|
||||
.codicon-history:before { content: "\f175" }
|
||||
.codicon-home:before { content: "\f176" }
|
||||
.codicon-horizontal-rule:before { content: "\f177" }
|
||||
.codicon-hubot:before { content: "\f178" }
|
||||
.codicon-inbox:before { content: "\f179" }
|
||||
.codicon-interface:before { content: "\f17a" }
|
||||
.codicon-issue-closed:before { content: "\f17b" }
|
||||
.codicon-issue-reopened:before { content: "\f17c" }
|
||||
.codicon-issues:before { content: "\f17d" }
|
||||
.codicon-italic:before { content: "\f17e" }
|
||||
.codicon-jersey:before { content: "\f17f" }
|
||||
.codicon-json:before { content: "\f180" }
|
||||
.codicon-kebab-vertical:before { content: "\f181" }
|
||||
.codicon-key:before { content: "\f182" }
|
||||
.codicon-keyword:before { content: "\f183" }
|
||||
.codicon-law:before { content: "\f184" }
|
||||
.codicon-lightbulb-autofix:before { content: "\f185" }
|
||||
.codicon-link-external:before { content: "\f186" }
|
||||
.codicon-link:before { content: "\f187" }
|
||||
.codicon-list-ordered:before { content: "\f188" }
|
||||
.codicon-list-unordered:before { content: "\f189" }
|
||||
.codicon-live-share:before { content: "\f18a" }
|
||||
.codicon-loading:before { content: "\f18b" }
|
||||
.codicon-location:before { content: "\f18c" }
|
||||
.codicon-mail-read:before { content: "\f18d" }
|
||||
.codicon-mail:before { content: "\f18e" }
|
||||
.codicon-markdown:before { content: "\f18f" }
|
||||
.codicon-megaphone:before { content: "\f190" }
|
||||
.codicon-mention:before { content: "\f191" }
|
||||
.codicon-method:before { content: "\f192" }
|
||||
.codicon-milestone:before { content: "\f193" }
|
||||
.codicon-misc:before { content: "\f194" }
|
||||
.codicon-mortar-board:before { content: "\f195" }
|
||||
.codicon-move:before { content: "\f196" }
|
||||
.codicon-multiple-windows:before { content: "\f197" }
|
||||
.codicon-mute:before { content: "\f198" }
|
||||
.codicon-namespace:before { content: "\f199" }
|
||||
.codicon-no-newline:before { content: "\f19a" }
|
||||
.codicon-note:before { content: "\f19b" }
|
||||
.codicon-numeric:before { content: "\f19c" }
|
||||
.codicon-octoface:before { content: "\f19d" }
|
||||
.codicon-open-preview:before { content: "\f19e" }
|
||||
.codicon-operator:before { content: "\f19f" }
|
||||
.codicon-package:before { content: "\f1a0" }
|
||||
.codicon-paintcan:before { content: "\f1a1" }
|
||||
.codicon-parameter:before { content: "\f1a2" }
|
||||
.codicon-pause:before { content: "\f1a3" }
|
||||
.codicon-pin:before { content: "\f1a4" }
|
||||
.codicon-play:before { content: "\f1a5" }
|
||||
.codicon-plug:before { content: "\f1a6" }
|
||||
.codicon-preserve-case:before { content: "\f1a7" }
|
||||
.codicon-preview:before { content: "\f1a8" }
|
||||
.codicon-project:before { content: "\f1a9" }
|
||||
.codicon-property:before { content: "\f1aa" }
|
||||
.codicon-pulse:before { content: "\f1ab" }
|
||||
.codicon-question:before { content: "\f1ac" }
|
||||
.codicon-quote:before { content: "\f1ad" }
|
||||
.codicon-radio-tower:before { content: "\f1ae" }
|
||||
.codicon-reactions:before { content: "\f1af" }
|
||||
.codicon-references:before { content: "\f1b0" }
|
||||
.codicon-refresh:before { content: "\f1b1" }
|
||||
.codicon-regex:before { content: "\f1b2" }
|
||||
.codicon-remote:before { content: "\f1b3" }
|
||||
.codicon-remove:before { content: "\f1b4" }
|
||||
.codicon-replace-all:before { content: "\f1b5" }
|
||||
.codicon-replace:before { content: "\f1b6" }
|
||||
.codicon-repo-clone:before { content: "\f1b7" }
|
||||
.codicon-repo-force-push:before { content: "\f1b8" }
|
||||
.codicon-repo-pull:before { content: "\f1b9" }
|
||||
.codicon-repo-push:before { content: "\f1ba" }
|
||||
.codicon-report:before { content: "\f1bb" }
|
||||
.codicon-request-changes:before { content: "\f1bc" }
|
||||
.codicon-restart:before { content: "\f1bd" }
|
||||
.codicon-rocket:before { content: "\f1be" }
|
||||
.codicon-root-folder-opened:before { content: "\f1bf" }
|
||||
.codicon-root-folder:before { content: "\f1c0" }
|
||||
.codicon-rss:before { content: "\f1c1" }
|
||||
.codicon-ruby:before { content: "\f1c2" }
|
||||
.codicon-ruler:before { content: "\f1c3" }
|
||||
.codicon-save-all:before { content: "\f1c4" }
|
||||
.codicon-save-as:before { content: "\f1c5" }
|
||||
.codicon-save:before { content: "\f1c6" }
|
||||
.codicon-screen-full:before { content: "\f1c7" }
|
||||
.codicon-screen-normal:before { content: "\f1c8" }
|
||||
.codicon-search-stop:before { content: "\f1c9" }
|
||||
.codicon-selection:before { content: "\f1ca" }
|
||||
.codicon-server:before { content: "\f1cb" }
|
||||
.codicon-settings:before { content: "\f1cc" }
|
||||
.codicon-shield:before { content: "\f1cd" }
|
||||
.codicon-smiley:before { content: "\f1ce" }
|
||||
.codicon-snippet:before { content: "\f1cf" }
|
||||
.codicon-sort-precedence:before { content: "\f1d0" }
|
||||
.codicon-split-horizontal:before { content: "\f1d1" }
|
||||
.codicon-split-vertical:before { content: "\f1d2" }
|
||||
.codicon-squirrel:before { content: "\f1d3" }
|
||||
.codicon-star-empty:before { content: "\f1d4" }
|
||||
.codicon-star-full:before { content: "\f1d5" }
|
||||
.codicon-star-half:before { content: "\f1d6" }
|
||||
.codicon-start:before { content: "\f1d7" }
|
||||
.codicon-step-into:before { content: "\f1d8" }
|
||||
.codicon-step-out:before { content: "\f1d9" }
|
||||
.codicon-step-over:before { content: "\f1da" }
|
||||
.codicon-string:before { content: "\f1db" }
|
||||
.codicon-structure:before { content: "\f1dc" }
|
||||
.codicon-tasklist:before { content: "\f1dd" }
|
||||
.codicon-telescope:before { content: "\f1de" }
|
||||
.codicon-text-size:before { content: "\f1df" }
|
||||
.codicon-three-bars:before { content: "\f1e0" }
|
||||
.codicon-thumbsdown:before { content: "\f1e1" }
|
||||
.codicon-thumbsup:before { content: "\f1e2" }
|
||||
.codicon-tools:before { content: "\f1e3" }
|
||||
.codicon-trash:before { content: "\f1e4" }
|
||||
.codicon-triangle-down:before { content: "\f1e5" }
|
||||
.codicon-triangle-left:before { content: "\f1e6" }
|
||||
.codicon-triangle-right:before { content: "\f1e7" }
|
||||
.codicon-triangle-up:before { content: "\f1e8" }
|
||||
.codicon-twitter:before { content: "\f1e9" }
|
||||
.codicon-unfold:before { content: "\f1ea" }
|
||||
.codicon-unlock:before { content: "\f1eb" }
|
||||
.codicon-unmute:before { content: "\f1ec" }
|
||||
.codicon-unverified:before { content: "\f1ed" }
|
||||
.codicon-variable:before { content: "\f1ee" }
|
||||
.codicon-verified:before { content: "\f1ef" }
|
||||
.codicon-versions:before { content: "\f1f0" }
|
||||
.codicon-vm-active:before { content: "\f1f1" }
|
||||
.codicon-vm-outline:before { content: "\f1f2" }
|
||||
.codicon-vm-running:before { content: "\f1f3" }
|
||||
.codicon-watch:before { content: "\f1f4" }
|
||||
.codicon-whitespace:before { content: "\f1f5" }
|
||||
.codicon-whole-word:before { content: "\f1f6" }
|
||||
.codicon-window:before { content: "\f1f7" }
|
||||
.codicon-word-wrap:before { content: "\f1f8" }
|
||||
.codicon-zoom-in:before { content: "\f1f9" }
|
||||
.codicon-zoom-out:before { content: "\f1fa" }
|
BIN
src/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf
Normal file
BIN
src/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf
Normal file
Binary file not shown.
33
src/vs/base/browser/ui/codiconLabel/codiconLabel.ts
Normal file
33
src/vs/base/browser/ui/codiconLabel/codiconLabel.ts
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import 'vs/css!./codicon/codicon';
|
||||
import 'vs/css!./codicon/codicon-animations';
|
||||
import { escape } from 'vs/base/common/strings';
|
||||
|
||||
function expand(text: string): string {
|
||||
return text.replace(/\$\(((.+?)(~(.*?))?)\)/g, (_match, _g1, name, _g3, animation) => {
|
||||
return `<span class="codicon codicon-${name} ${animation ? `codicon-animation-${animation}` : ''}"></span>`;
|
||||
});
|
||||
}
|
||||
|
||||
export function renderCodicons(label: string): string {
|
||||
return expand(escape(label));
|
||||
}
|
||||
|
||||
export class CodiconLabel {
|
||||
|
||||
constructor(
|
||||
private readonly _container: HTMLElement
|
||||
) { }
|
||||
|
||||
set text(text: string) {
|
||||
this._container.innerHTML = renderCodicons(text || '');
|
||||
}
|
||||
|
||||
set title(title: string) {
|
||||
this._container.title = title;
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue