| |<\/td> | /g, ' | ')
15 | .replace(/<\/td><\/tr>/g, ' |\r')
16 | .replace(/|<\/tbody><\/table>|/g, '\r')
17 | .replace(/[\s\S][^<]+<\/thead>/g, (match, p1, p2, p3, offset, string) => {
18 | const spliter = [];
19 | const len = match.match(/\|/gi).length - 1;
20 | for (let i = 0; i < len; i++) {
21 | spliter.push('| --- ');
22 | }
23 | return `${match.replace(/|<\/thead>/g, '')} ${spliter.join('')}|`
24 | });
25 | };
26 |
27 | request({ url: apiUrl, json: true }, (err, res) => {
28 | res.body.data.forEach(doc => {
29 | request({ url: `${apiUrl}/${doc.slug}?raw=1`, json: true }, (err, res) => {
30 | fsExtra.outputFileSync(path.resolve(tmp, `api/${doc.slug}.md`), convertTableToMarkdown(`---\ntitle: ${doc.slug}\nfrom: lark\n---\n` + res.body.data.body));
31 | });
32 | });
33 | });
34 |
35 | request({ url: compUrl, json: true }, (err, res) => {
36 | res.body.data.forEach(doc => {
37 | request({ url: `${compUrl}/${doc.slug}?raw=1`, json: true }, (err, res) => {
38 | fsExtra.outputFileSync(path.resolve(tmp, `component/${doc.slug}.md`), convertTableToMarkdown(`---\ntitle: ${doc.slug}\nfrom: ${doc.slug}\n---\n` + res.body.data.body));
39 | });
40 | });
41 | });
42 |
--------------------------------------------------------------------------------
/out/typescript/out/features/directiveCommentCompletionProvider.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"directiveCommentCompletionProvider.js","sourceRoot":"../../src","sources":["features/directiveCommentCompletionProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEhG,mCAAsJ;AAItJ,kCAAkC;AAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;AAOzC,MAAM,UAAU,GAAgB;IAC/B;QACC,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,QAAQ,CACpB,UAAU,EACV,+EAA+E,CAAC;KACjF,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,QAAQ,CACpB,YAAY,EACZ,gFAAgF,CAAC;KAClF,EAAE;QACF,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,QAAQ,CACpB,WAAW,EACX,yDAAyD,CAAC;KAC3D;CACD,CAAC;AAEF;IACC,YACS,MAAgC;QAAhC,WAAM,GAAN,MAAM,CAA0B;IACrC,CAAC;IAEE,sBAAsB,CAAC,QAAsB,EAAE,QAAkB,EAAE,MAAyB;QAClG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,EAAE,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACX,MAAM,CAAC,EAAE,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC3D,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS;gBAC9B,MAAM,IAAI,GAAG,IAAI,uBAAc,CAAC,SAAS,CAAC,KAAK,EAAE,2BAAkB,CAAC,OAAO,CAAC,CAAC;gBAC7E,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC;gBACpC,IAAI,CAAC,KAAK,GAAG,IAAI,cAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC7I,MAAM,CAAC,IAAI,CAAC;YACb,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,EAAE,CAAC;IACX,CAAC;IAEM,qBAAqB,CAAC,IAAoB,EAAE,MAAyB;QAC3E,MAAM,CAAC,IAAI,CAAC;IACb,CAAC;CACD;AAhCD,qDAgCC"}
--------------------------------------------------------------------------------
/src/ant/convert.js:
--------------------------------------------------------------------------------
1 | import types from './types';
2 | import { EndOfLineSequence } from './const.d';
3 |
4 | export function toPosition(position) {
5 | return new types.Position(position.lineNumber - 1, position.column - 1);
6 | }
7 |
8 | export function fromPosition(position) {
9 | return { lineNumber: position.line + 1, column: position.character + 1 };
10 | }
11 |
12 | export function fromRange(range) {
13 | if (!range) {
14 | return undefined;
15 | }
16 | let { start, end } = range;
17 | return {
18 | startLineNumber: start.line + 1,
19 | startColumn: start.character + 1,
20 | endLineNumber: end.line + 1,
21 | endColumn: end.character + 1
22 | };
23 | }
24 |
25 | export function toRange(range) {
26 | if (!range) {
27 | return undefined;
28 | }
29 | let { startLineNumber, startColumn, endLineNumber, endColumn } = range;
30 | return new types.Range(startLineNumber - 1, startColumn - 1, endLineNumber - 1, endColumn - 1);
31 | }
32 |
33 | export const TextEdit = {
34 | from(edit) {
35 | return{
36 | text: edit.newText,
37 | eol: EndOfLine.from(edit.newEol),
38 | range: fromRange(edit.range)
39 | };
40 | },
41 | to(edit) {
42 | let result = new types.TextEdit(toRange(edit.range), edit.text);
43 | result.newEol = EndOfLine.to(edit.eol);
44 | return result;
45 | }
46 | };
47 |
48 | export const EndOfLine = {
49 | from(eol) {
50 | if (eol === types.EndOfLine.CRLF) {
51 | return EndOfLineSequence.CRLF;
52 | } else if (eol === types.EndOfLine.LF) {
53 | return EndOfLineSequence.LF;
54 | }
55 | return undefined;
56 | },
57 | to(eol) {
58 | if (eol === EndOfLineSequence.CRLF) {
59 | return types.EndOfLine.CRLF;
60 | } else if (eol === EndOfLineSequence.LF) {
61 | return types.EndOfLine.LF;
62 | }
63 | return undefined;
64 | }
65 | }
--------------------------------------------------------------------------------
/out/typescript/out/features/documentHighlightProvider.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"documentHighlightProvider.js","sourceRoot":"../../src","sources":["features/documentHighlightProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;;;;;AAEhG,mCAA+I;AAG/I,8CAAmF;AAGnF;IACC,YACS,MAAgC;QAAhC,WAAM,GAAN,MAAM,CAA0B;IAAI,CAAC;IAEjC,yBAAyB,CACrC,QAAsB,EACtB,QAAkB,EAClB,KAAwB;;YAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzD,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACf,MAAM,CAAC,EAAE,CAAC;YACX,CAAC;YAED,MAAM,IAAI,GAAG,oCAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC5D,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACvE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC3B,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBACzB,sEAAsE;oBACtE,qCAAqC;oBACrC,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACjF,yEAAyE;wBACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,cAAK,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACrL,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;wBAC1C,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BACpI,MAAM,CAAC,EAAE,CAAC;wBACX,CAAC;oBACF,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IACnB,IAAI,0BAAiB,CACpB,6BAAmB,CAAC,IAAI,CAAC,EACzB,IAAI,CAAC,aAAa,GAAG,8BAAqB,CAAC,KAAK,GAAG,8BAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnF,CAAC;gBACD,MAAM,CAAC,EAAE,CAAC;YACX,CAAC;YAAC,KAAK,CAAC,CAAC,IAAD,CAAC;gBACR,MAAM,CAAC,EAAE,CAAC;YACX,CAAC;QACF,CAAC;KAAA;CACD;AAxCD,sDAwCC"}
--------------------------------------------------------------------------------
/out/typescript/out/features/definitionProviderBase.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | Object.defineProperty(exports, "__esModule", { value: true });
7 | const vscode_1 = require("vscode");
8 | const convert_1 = require("../utils/convert");
9 | class TypeScriptDefinitionProviderBase {
10 | constructor(client) {
11 | this.client = client;
12 | }
13 | getSymbolLocations(definitionType, document, position, token) {
14 | const filepath = this.client.normalizePath(document.uri);
15 | if (!filepath) {
16 | return Promise.resolve(null);
17 | }
18 | const args = convert_1.vsPositionToTsFileLocation(filepath, position);
19 | return this.client.execute(definitionType, args, token).then(response => {
20 | const locations = (response && response.body) || [];
21 | if (!locations || locations.length === 0) {
22 | return [];
23 | }
24 | return locations.map(location => {
25 | const resource = this.client.asUrl(location.file);
26 | if (resource === null) {
27 | return null;
28 | }
29 | else {
30 | return new vscode_1.Location(resource, convert_1.tsTextSpanToVsRange(location));
31 | }
32 | }).filter(x => x !== null);
33 | }, () => {
34 | return [];
35 | });
36 | }
37 | }
38 | exports.default = TypeScriptDefinitionProviderBase;
39 |
--------------------------------------------------------------------------------
/out/typescript/out/utils/api.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"api.js","sourceRoot":"../../src","sources":["utils/api.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEhG,iCAAiC;AACjC,kCAAkC;AAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;AAEzC;IAiBC,YACiB,aAAqB,EACpB,OAAe;QADhB,kBAAa,GAAb,aAAa,CAAQ;QACpB,YAAO,GAAP,OAAO,CAAQ;IAC7B,CAAC;IAjBE,MAAM,CAAC,iBAAiB,CAAC,aAAqB;QACpD,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC1C,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACd,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;QAED,0EAA0E;QAC1E,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAOM,cAAc;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,cAAc;QACpB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;;AA/DsB,kBAAc,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AADnE,sBAiEC"}
--------------------------------------------------------------------------------
/src/editor/textLine.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Represents a line of text, such as a line of source code.
3 | *
4 | * TextLine objects are __immutable__. When a [document](#TextDocument) changes,
5 | * previously retrieved lines will not represent the latest state.
6 | */
7 | export default class TextLine {
8 | constructor(lineNumber, text, range) {
9 | const { isEmptyOrWhitespace, index } = initWitespaceIndex(text) || {};
10 |
11 | this._lineNumber = lineNumber;
12 | this._text = text;
13 | this._range = range;
14 | this._isEmptyOrWhitespace = isEmptyOrWhitespace;
15 | this._firstNoWhitespaceIndex = index;
16 | }
17 |
18 | get text() {
19 | return this._text;
20 | }
21 |
22 | /**
23 | * range with eol
24 | *
25 | * @return New range
26 | */
27 | get rangeIncludingLineBreak() {
28 | const range = this._range;
29 | return new monaco.Range(
30 | range.startLineNumber,
31 | range.startColumn,
32 | range.endLineNumber,
33 | range.endColumn + 1
34 | );
35 | }
36 |
37 | /**
38 | * @return the index of the first non-whitespce character
39 | */
40 | get firstNonWhitespaceCharacterIndex() {
41 | return this._firstNoWhitespaceIndex;
42 | }
43 |
44 | get isEmptyOrWhitespace() {
45 | return this._isEmptyOrWhitespace;
46 | }
47 | }
48 |
49 | /**
50 | * caculate the index of the first non-whitespce character from the text,
51 | * and modify it filled of whitespce (empty) or not.
52 | *
53 | * @param {string} text
54 | * @return Object with {boolean} isEmptyOrWhitespace and {number|undefined} index
55 | */
56 | function initWitespaceIndex(text) {
57 | let i = 0;
58 | if (!text)
59 | return { isEmptyOrWhitespace: true };
60 | while(text[i]) {
61 | if (text[i] !== '\s')
62 | return { isEmptyOrWhitespace: false, index: i + 1 }; // monaco index start with 1
63 | i += 1;
64 | }
65 | return { isEmptyOrWhitespace: true };
66 | }
--------------------------------------------------------------------------------
/out/json/npm-shrinkwrap.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "json",
3 | "version": "0.1.0",
4 | "dependencies": {
5 | "applicationinsights": {
6 | "version": "0.18.0",
7 | "from": "applicationinsights@0.18.0",
8 | "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-0.18.0.tgz"
9 | },
10 | "vscode-extension-telemetry": {
11 | "version": "0.0.8",
12 | "from": "vscode-extension-telemetry@>=0.0.8 <0.0.9",
13 | "resolved": "https://registry.npmjs.org/vscode-extension-telemetry/-/vscode-extension-telemetry-0.0.8.tgz"
14 | },
15 | "vscode-jsonrpc": {
16 | "version": "3.4.0",
17 | "from": "vscode-jsonrpc@>=3.4.0 <4.0.0",
18 | "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.4.0.tgz"
19 | },
20 | "vscode-languageclient": {
21 | "version": "3.4.2",
22 | "from": "vscode-languageclient@next",
23 | "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-3.4.2.tgz"
24 | },
25 | "vscode-languageserver-protocol": {
26 | "version": "3.4.2",
27 | "from": "vscode-languageserver-protocol@3.4.2",
28 | "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.4.2.tgz"
29 | },
30 | "vscode-languageserver-types": {
31 | "version": "3.4.0",
32 | "from": "vscode-languageserver-types@>=3.4.0 <4.0.0",
33 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.4.0.tgz"
34 | },
35 | "vscode-nls": {
36 | "version": "2.0.2",
37 | "from": "vscode-nls@>=2.0.2 <3.0.0",
38 | "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-2.0.2.tgz"
39 | },
40 | "winreg": {
41 | "version": "1.2.3",
42 | "from": "winreg@1.2.3",
43 | "resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.3.tgz"
44 | }
45 | }
46 | }
--------------------------------------------------------------------------------
/out/typescript/out/features/referenceProvider.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | Object.defineProperty(exports, "__esModule", { value: true });
7 | const vscode_1 = require("vscode");
8 | const convert_1 = require("../utils/convert");
9 | class TypeScriptReferenceSupport {
10 | constructor(client) {
11 | this.client = client;
12 | }
13 | provideReferences(document, position, options, token) {
14 | const filepath = this.client.normalizePath(document.uri);
15 | if (!filepath) {
16 | return Promise.resolve([]);
17 | }
18 | const args = convert_1.vsPositionToTsFileLocation(filepath, position);
19 | const apiVersion = this.client.apiVersion;
20 | return this.client.execute('references', args, token).then((msg) => {
21 | const result = [];
22 | if (!msg.body) {
23 | return result;
24 | }
25 | const refs = msg.body.refs;
26 | for (let i = 0; i < refs.length; i++) {
27 | const ref = refs[i];
28 | if (!options.includeDeclaration && apiVersion.has203Features() && ref.isDefinition) {
29 | continue;
30 | }
31 | const url = this.client.asUrl(ref.file);
32 | const location = new vscode_1.Location(url, convert_1.tsTextSpanToVsRange(ref));
33 | result.push(location);
34 | }
35 | return result;
36 | }, () => {
37 | return [];
38 | });
39 | }
40 | }
41 | exports.default = TypeScriptReferenceSupport;
42 |
--------------------------------------------------------------------------------
/out/typescript/out/utils/tsconfigProvider.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3 | return new (P || (P = Promise))(function (resolve, reject) {
4 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6 | function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7 | step((generator = generator.apply(thisArg, _arguments || [])).next());
8 | });
9 | };
10 | Object.defineProperty(exports, "__esModule", { value: true });
11 | /*---------------------------------------------------------------------------------------------
12 | * Copyright (c) Microsoft Corporation. All rights reserved.
13 | * Licensed under the MIT License. See License.txt in the project root for license information.
14 | *--------------------------------------------------------------------------------------------*/
15 | const vscode = require("vscode");
16 | class TsConfigProvider {
17 | getConfigsForWorkspace() {
18 | return __awaiter(this, void 0, void 0, function* () {
19 | if (!vscode.workspace.workspaceFolders) {
20 | return [];
21 | }
22 | const configs = new Map();
23 | for (const config of yield vscode.workspace.findFiles('**/tsconfig*.json', '**/node_modules/**')) {
24 | const root = vscode.workspace.getWorkspaceFolder(config);
25 | if (root) {
26 | configs.set(config.fsPath, {
27 | path: config.fsPath,
28 | workspaceFolder: root
29 | });
30 | }
31 | }
32 | return configs.values();
33 | });
34 | }
35 | }
36 | exports.default = TsConfigProvider;
37 |
--------------------------------------------------------------------------------
/out/scss/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "scss",
3 | "version": "0.1.0",
4 | "publisher": "vscode",
5 | "engines": { "vscode": "*" },
6 | "scripts": {
7 | "update-grammar": "node ../../build/npm/update-grammar.js atom/language-sass grammars/scss.cson ./syntaxes/scss.json"
8 | },
9 | "contributes": {
10 | "languages": [{
11 | "id": "scss",
12 | "aliases": ["SCSS", "scss"],
13 | "extensions": [".scss"],
14 | "mimetypes": ["text/x-scss", "text/scss"],
15 | "configuration": "./language-configuration.json"
16 | }],
17 | "grammars": [{
18 | "language": "scss",
19 | "scopeName": "source.css.scss",
20 | "path": "./syntaxes/scss.json"
21 | }],
22 | "problemMatchers": [{
23 | "name": "node-sass",
24 | "label": "Node Sass Compiler",
25 | "owner": "node-sass",
26 | "fileLocation": "absolute",
27 | "pattern": [{
28 | "regexp": "^{$"
29 | },
30 | {
31 | "regexp": "\\s*\"status\":\\s\\d+,"
32 | },
33 | {
34 | "regexp": "\\s*\"file\":\\s\"(.*)\",",
35 | "file": 1
36 | },
37 | {
38 | "regexp": "\\s*\"line\":\\s(\\d+),",
39 | "line": 1
40 | },
41 | {
42 | "regexp": "\\s*\"column\":\\s(\\d+),",
43 | "column": 1
44 | },
45 | {
46 | "regexp": "\\s*\"message\":\\s\"(.*)\",",
47 | "message": 1
48 | },
49 | {
50 | "regexp": "\\s*\"formatted\":\\s(.*)"
51 | },
52 | {
53 | "regexp": "^}$"
54 | }
55 | ]
56 | }]
57 | }
58 | }
--------------------------------------------------------------------------------
/out/typescript/out/utils/versionStatus.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | Object.defineProperty(exports, "__esModule", { value: true });
7 | const vscode = require("vscode");
8 | class VersionStatus extends vscode.Disposable {
9 | constructor() {
10 | super(() => this.dispose());
11 | this.versionBarEntry = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, Number.MIN_VALUE);
12 | this.onChangeEditorSub = vscode.window.onDidChangeActiveTextEditor(this.showHideStatus, this);
13 | }
14 | dispose() {
15 | this.versionBarEntry.dispose();
16 | this.onChangeEditorSub.dispose();
17 | }
18 | showHideStatus() {
19 | if (!this.versionBarEntry) {
20 | return;
21 | }
22 | if (!vscode.window.activeTextEditor) {
23 | this.versionBarEntry.hide();
24 | return;
25 | }
26 | let doc = vscode.window.activeTextEditor.document;
27 | if (vscode.languages.match('typescript', doc) || vscode.languages.match('typescriptreact', doc)) {
28 | this.versionBarEntry.show();
29 | return;
30 | }
31 | if (!vscode.window.activeTextEditor.viewColumn) {
32 | // viewColumn is undefined for the debug/output panel, but we still want
33 | // to show the version info
34 | return;
35 | }
36 | this.versionBarEntry.hide();
37 | }
38 | setInfo(message, tooltip) {
39 | this.versionBarEntry.text = message;
40 | this.versionBarEntry.tooltip = tooltip;
41 | this.versionBarEntry.command = 'typescript.selectTypeScriptVersion';
42 | }
43 | }
44 | exports.default = VersionStatus;
45 |
--------------------------------------------------------------------------------
/src/ant/languageSelector.js:
--------------------------------------------------------------------------------
1 | import { isMatch } from 'micromatch';
2 |
3 | export default function matches(selection, uri, language) {
4 | return score(selection, uri, language) > 0;
5 | }
6 |
7 | export function score(selector, candidateUri, candidateLanguage) {
8 | if (Array.isArray(selector)) {
9 | // array -> take max individual value
10 | let ret = 0;
11 | for (const filter of selector) {
12 | const value = score(filter, candidateUri, candidateLanguage);
13 | if (value === 10) {
14 | return value; // already at the highest
15 | }
16 | if (value > ret) {
17 | ret = value;
18 | }
19 | }
20 | return ret;
21 |
22 | } else if (typeof selector === 'string') {
23 | // short-hand notion, desugars to
24 | // 'fooLang' -> [{ language: 'fooLang', scheme: 'file' }, { language: 'fooLang', scheme: 'untitled' }]
25 | // '*' -> { language: '*', scheme: '*' }
26 | if (selector === '*') {
27 | return 5;
28 | } else if (selector === candidateLanguage) {
29 | return 10;
30 | } else {
31 | return 0;
32 | }
33 |
34 | } else if (selector) {
35 | // filter -> select accordingly, use defaults for scheme
36 | const { language, pattern, scheme } = selector;
37 |
38 | let ret = 0;
39 |
40 | if (scheme) {
41 | if (scheme === candidateUri.scheme) {
42 | ret = 10;
43 | } else if (scheme === '*') {
44 | ret = 5;
45 | } else {
46 | return 0;
47 | }
48 | }
49 |
50 | if (language) {
51 | if (language === candidateLanguage) {
52 | ret = 10;
53 | } else if (language === '*') {
54 | ret = Math.max(ret, 5);
55 | } else {
56 | return 0;
57 | }
58 | }
59 |
60 | if (pattern) {
61 | if (pattern === candidateUri.fsPath || isMatch(candidateUri.fsPath, pattern, { cache: true })) {
62 | ret = 10;
63 | } else {
64 | return 0;
65 | }
66 | }
67 |
68 | return ret;
69 |
70 | } else {
71 | return 0;
72 | }
73 | }
--------------------------------------------------------------------------------
/out/typescript/out/utils/logger.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | Object.defineProperty(exports, "__esModule", { value: true });
7 | const vscode_1 = require("vscode");
8 | const is = require("./is");
9 | const nls = require("vscode-nls");
10 | const localize = nls.loadMessageBundle();
11 | class Logger {
12 | get output() {
13 | if (!this._output) {
14 | this._output = vscode_1.window.createOutputChannel(localize('channelName', 'TypeScript'));
15 | }
16 | return this._output;
17 | }
18 | data2String(data) {
19 | if (data instanceof Error) {
20 | if (is.string(data.stack)) {
21 | return data.stack;
22 | }
23 | return data.message;
24 | }
25 | if (is.boolean(data.success) && !data.success && is.string(data.message)) {
26 | return data.message;
27 | }
28 | if (is.string(data)) {
29 | return data;
30 | }
31 | return data.toString();
32 | }
33 | info(message, data) {
34 | this.logLevel('Info', message, data);
35 | }
36 | warn(message, data) {
37 | this.logLevel('Warn', message, data);
38 | }
39 | error(message, data) {
40 | // See https://github.com/Microsoft/TypeScript/issues/10496
41 | if (data && data.message === 'No content available.') {
42 | return;
43 | }
44 | this.logLevel('Error', message, data);
45 | }
46 | logLevel(level, message, data) {
47 | this.output.appendLine(`[${level} - ${(new Date().toLocaleTimeString())}] ${message}`);
48 | if (data) {
49 | this.output.appendLine(this.data2String(data));
50 | }
51 | }
52 | }
53 | exports.default = Logger;
54 |
--------------------------------------------------------------------------------
/out/html/npm-shrinkwrap.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "html",
3 | "version": "0.1.0",
4 | "dependencies": {
5 | "applicationinsights": {
6 | "version": "0.18.0",
7 | "from": "applicationinsights@0.18.0",
8 | "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-0.18.0.tgz"
9 | },
10 | "color-convert": {
11 | "version": "0.5.3",
12 | "from": "color-convert@>=0.5.0 <0.6.0",
13 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz"
14 | },
15 | "vscode-extension-telemetry": {
16 | "version": "0.0.8",
17 | "from": "vscode-extension-telemetry@>=0.0.8 <0.0.9",
18 | "resolved": "https://registry.npmjs.org/vscode-extension-telemetry/-/vscode-extension-telemetry-0.0.8.tgz"
19 | },
20 | "vscode-jsonrpc": {
21 | "version": "3.4.0",
22 | "from": "vscode-jsonrpc@>=3.4.0 <4.0.0",
23 | "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.4.0.tgz"
24 | },
25 | "vscode-languageclient": {
26 | "version": "3.4.2",
27 | "from": "vscode-languageclient@next",
28 | "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-3.4.2.tgz"
29 | },
30 | "vscode-languageserver-protocol": {
31 | "version": "3.4.2",
32 | "from": "vscode-languageserver-protocol@3.4.2",
33 | "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.4.2.tgz"
34 | },
35 | "vscode-languageserver-types": {
36 | "version": "3.3.0",
37 | "from": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.3.0.tgz",
38 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.3.0.tgz"
39 | },
40 | "vscode-nls": {
41 | "version": "2.0.2",
42 | "from": "vscode-nls@>=2.0.2 <3.0.0",
43 | "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-2.0.2.tgz"
44 | },
45 | "winreg": {
46 | "version": "1.2.3",
47 | "from": "winreg@1.2.3",
48 | "resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.3.tgz"
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/out/typescript/out/features/signatureHelpProvider.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"signatureHelpProvider.js","sourceRoot":"../../src","sources":["features/signatureHelpProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEhG,mCAAqJ;AAErJ,yCAAyC;AAGzC,8CAA8D;AAE9D;IAEC,YACS,MAAgC;QAAhC,WAAM,GAAN,MAAM,CAA0B;IAAI,CAAC;IAEvC,oBAAoB,CAAC,QAAsB,EAAE,QAAkB,EAAE,KAAwB;QAC/F,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzD,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,GAAmC,oCAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5F,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ;YACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC;YACb,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,sBAAa,EAAE,CAAC;YACnC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAChD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC;YAE5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACX,MAAM,CAAC;gBACR,CAAC;gBAED,kCAAkC;gBAClC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBACrD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnF,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,6BAAoB,CAAC,EAAE,CAAC,CAAC;gBAC/C,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAE5D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC/B,MAAM,SAAS,GAAG,IAAI,6BAAoB,CACzC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAC/B,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;oBAEnC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC;oBACnC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACrC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACtB,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBAChE,CAAC;gBACF,CAAC,CAAC,CAAC;gBACH,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC5D,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC;QACf,CAAC,EAAE;YACF,MAAM,CAAC,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAvDD,kDAuDC"}
--------------------------------------------------------------------------------
/out/typescript/out/utils/telemetry.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | Object.defineProperty(exports, "__esModule", { value: true });
7 | const path = require("path");
8 | const vscode_extension_telemetry_1 = require("vscode-extension-telemetry");
9 | const vscode_1 = require("vscode");
10 | class TelemetryReporter extends vscode_1.Disposable {
11 | constructor() {
12 | super(() => this.dispose());
13 | }
14 | dispose() {
15 | if (this._reporter) {
16 | this._reporter.dispose();
17 | this._reporter = null;
18 | }
19 | }
20 | logTelemetry(eventName, properties) {
21 | if (this.reporter) {
22 | this.reporter.sendTelemetryEvent(eventName, properties);
23 | }
24 | }
25 | get reporter() {
26 | if (typeof this._reporter !== 'undefined') {
27 | return this._reporter;
28 | }
29 | if (this.packageInfo && this.packageInfo.aiKey) {
30 | this._reporter = new vscode_extension_telemetry_1.default(this.packageInfo.name, this.packageInfo.version, this.packageInfo.aiKey);
31 | }
32 | else {
33 | this._reporter = null;
34 | }
35 | return this._reporter;
36 | }
37 | get packageInfo() {
38 | if (this._packageInfo !== undefined) {
39 | return this._packageInfo;
40 | }
41 | let packagePath = path.join(__dirname, '..', '..', 'package.json');
42 | let extensionPackage = require(packagePath);
43 | if (extensionPackage) {
44 | this._packageInfo = {
45 | name: extensionPackage.name,
46 | version: extensionPackage.version,
47 | aiKey: extensionPackage.aiKey
48 | };
49 | }
50 | else {
51 | this._packageInfo = null;
52 | }
53 | return this._packageInfo;
54 | }
55 | }
56 | exports.default = TelemetryReporter;
57 |
--------------------------------------------------------------------------------
/out/typescript/out/utils/api.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | Object.defineProperty(exports, "__esModule", { value: true });
7 | const semver = require("semver");
8 | const nls = require("vscode-nls");
9 | const localize = nls.loadMessageBundle();
10 | class API {
11 | constructor(versionString, version) {
12 | this.versionString = versionString;
13 | this.version = version;
14 | }
15 | static fromVersionString(versionString) {
16 | let version = semver.valid(versionString);
17 | if (!version) {
18 | return new API(localize('invalidVersion', 'invalid version'), '1.0.0');
19 | }
20 | // Cut of any prerelease tag since we sometimes consume those on purpose.
21 | const index = versionString.indexOf('-');
22 | if (index >= 0) {
23 | version = version.substr(0, index);
24 | }
25 | return new API(versionString, version);
26 | }
27 | has203Features() {
28 | return semver.gte(this.version, '2.0.3');
29 | }
30 | has206Features() {
31 | return semver.gte(this.version, '2.0.6');
32 | }
33 | has208Features() {
34 | return semver.gte(this.version, '2.0.8');
35 | }
36 | has213Features() {
37 | return semver.gte(this.version, '2.1.3');
38 | }
39 | has220Features() {
40 | return semver.gte(this.version, '2.2.0');
41 | }
42 | has222Features() {
43 | return semver.gte(this.version, '2.2.2');
44 | }
45 | has230Features() {
46 | return semver.gte(this.version, '2.3.0');
47 | }
48 | has234Features() {
49 | return semver.gte(this.version, '2.3.4');
50 | }
51 | has240Features() {
52 | return semver.gte(this.version, '2.4.0');
53 | }
54 | has250Features() {
55 | return semver.gte(this.version, '2.5.0');
56 | }
57 | }
58 | API.defaultVersion = new API('1.0.0', '1.0.0');
59 | exports.default = API;
60 |
--------------------------------------------------------------------------------
/out/html/package.nls.json:
--------------------------------------------------------------------------------
1 | {
2 | "html.format.enable.desc": "Enable/disable default HTML formatter",
3 | "html.format.wrapLineLength.desc": "Maximum amount of characters per line (0 = disable).",
4 | "html.format.unformatted.desc": "List of tags, comma separated, that shouldn't be reformatted. 'null' defaults to all tags listed at https://www.w3.org/TR/html5/dom.html#phrasing-content.",
5 | "html.format.contentUnformatted.desc": "List of tags, comma separated, where the content shouldn't be reformatted. 'null' defaults to the 'pre' tag.",
6 | "html.format.indentInnerHtml.desc": "Indent and sections.",
7 | "html.format.preserveNewLines.desc": "Whether existing line breaks before elements should be preserved. Only works before elements, not inside tags or for text.",
8 | "html.format.maxPreserveNewLines.desc": "Maximum number of line breaks to be preserved in one chunk. Use 'null' for unlimited.",
9 | "html.format.indentHandlebars.desc": "Format and indent {{#foo}} and {{/foo}}.",
10 | "html.format.endWithNewline.desc": "End with a newline.",
11 | "html.format.extraLiners.desc": "List of tags, comma separated, that should have an extra newline before them. 'null' defaults to \"head, body, /html\".",
12 | "html.format.wrapAttributes.desc": "Wrap attributes.",
13 | "html.format.wrapAttributes.auto": "Wrap attributes only when line length is exceeded.",
14 | "html.format.wrapAttributes.force": "Wrap each attribute except first.",
15 | "html.format.wrapAttributes.forcealign": "Wrap each attribute except first and keep aligned.",
16 | "html.format.wrapAttributes.forcemultiline": "Wrap each attribute.",
17 | "html.suggest.angular1.desc": "Configures if the built-in HTML language support suggests Angular V1 tags and properties.",
18 | "html.suggest.ionic.desc": "Configures if the built-in HTML language support suggests Ionic tags, properties and values.",
19 | "html.suggest.html5.desc":"Configures if the built-in HTML language support suggests HTML5 tags, properties and values.",
20 | "html.trace.server.desc": "Traces the communication between VS Code and the HTML language server.",
21 | "html.validate.scripts": "Configures if the built-in HTML language support validates embedded scripts.",
22 | "html.validate.styles": "Configures if the built-in HTML language support validates embedded styles.",
23 | "html.autoClosingTags": "Enable/disable autoclosing of HTML tags."
24 | }
--------------------------------------------------------------------------------
/out/typescript/out/utils/codeAction.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7 | return new (P || (P = Promise))(function (resolve, reject) {
8 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10 | function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
11 | step((generator = generator.apply(thisArg, _arguments || [])).next());
12 | });
13 | };
14 | Object.defineProperty(exports, "__esModule", { value: true });
15 | const vscode_1 = require("vscode");
16 | const convert_1 = require("./convert");
17 | function applyCodeAction(client, action, file) {
18 | return __awaiter(this, void 0, void 0, function* () {
19 | if (action.changes && action.changes.length) {
20 | const workspaceEdit = new vscode_1.WorkspaceEdit();
21 | for (const change of action.changes) {
22 | for (const textChange of change.textChanges) {
23 | workspaceEdit.replace(client.asUrl(change.fileName), convert_1.tsTextSpanToVsRange(textChange), textChange.newText);
24 | }
25 | }
26 | if (!(yield vscode_1.workspace.applyEdit(workspaceEdit))) {
27 | return false;
28 | }
29 | }
30 | if (action.commands && action.commands.length) {
31 | for (const command of action.commands) {
32 | const response = yield client.execute('applyCodeActionCommand', { file, command });
33 | if (!response || !response.body) {
34 | return false;
35 | }
36 | }
37 | }
38 | return true;
39 | });
40 | }
41 | exports.applyCodeAction = applyCodeAction;
42 | //# sourceMappingURL=codeAction.js.map
--------------------------------------------------------------------------------
/out/typescript/out/features/directiveCommentCompletionProvider.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | Object.defineProperty(exports, "__esModule", { value: true });
7 | const vscode_1 = require("vscode");
8 | const nls = require("vscode-nls");
9 | const localize = nls.loadMessageBundle();
10 | const directives = [
11 | {
12 | value: '@ts-check',
13 | description: localize('ts-check', 'Enables semantic checking in a JavaScript file. Must be at the top of a file.')
14 | }, {
15 | value: '@ts-nocheck',
16 | description: localize('ts-nocheck', 'Disables semantic checking in a JavaScript file. Must be at the top of a file.')
17 | }, {
18 | value: '@ts-ignore',
19 | description: localize('ts-ignore', 'Suppresses @ts-check errors on the next line of a file.')
20 | }
21 | ];
22 | class DirectiveCommentCompletionProvider {
23 | constructor(client) {
24 | this.client = client;
25 | }
26 | provideCompletionItems(document, position, _token) {
27 | if (!this.client.apiVersion.has230Features()) {
28 | return [];
29 | }
30 | const file = this.client.normalizePath(document.uri);
31 | if (!file) {
32 | return [];
33 | }
34 | const line = document.lineAt(position.line).text;
35 | const prefix = line.slice(0, position.character);
36 | const match = prefix.match(/^\s*\/\/+\s?(@[a-zA-Z\-]*)?$/);
37 | if (match) {
38 | return directives.map(directive => {
39 | const item = new vscode_1.CompletionItem(directive.value, vscode_1.CompletionItemKind.Snippet);
40 | item.detail = directive.description;
41 | item.range = new vscode_1.Range(position.line, Math.max(0, position.character - (match[1] ? match[1].length : 0)), position.line, position.character);
42 | return item;
43 | });
44 | }
45 | return [];
46 | }
47 | resolveCompletionItem(item, _token) {
48 | return item;
49 | }
50 | }
51 | exports.default = DirectiveCommentCompletionProvider;
52 |
--------------------------------------------------------------------------------
/out/typescript/out/utils/async.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | Object.defineProperty(exports, "__esModule", { value: true });
7 | class Delayer {
8 | constructor(defaultDelay) {
9 | this.defaultDelay = defaultDelay;
10 | this.timeout = null;
11 | this.completionPromise = null;
12 | this.onSuccess = null;
13 | this.task = null;
14 | }
15 | trigger(task, delay = this.defaultDelay) {
16 | this.task = task;
17 | if (delay >= 0) {
18 | this.cancelTimeout();
19 | }
20 | if (!this.completionPromise) {
21 | this.completionPromise = new Promise((resolve) => {
22 | this.onSuccess = resolve;
23 | }).then(() => {
24 | this.completionPromise = null;
25 | this.onSuccess = null;
26 | var result = this.task && this.task();
27 | this.task = null;
28 | return result;
29 | });
30 | }
31 | if (delay >= 0 || this.timeout === null) {
32 | this.timeout = setTimeout(() => {
33 | this.timeout = null;
34 | if (this.onSuccess) {
35 | this.onSuccess(undefined);
36 | }
37 | }, delay >= 0 ? delay : this.defaultDelay);
38 | }
39 | return this.completionPromise;
40 | }
41 | forceDelivery() {
42 | if (!this.completionPromise) {
43 | return null;
44 | }
45 | this.cancelTimeout();
46 | let result = this.completionPromise;
47 | if (this.onSuccess) {
48 | this.onSuccess(undefined);
49 | }
50 | return result;
51 | }
52 | isTriggered() {
53 | return this.timeout !== null;
54 | }
55 | cancel() {
56 | this.cancelTimeout();
57 | this.completionPromise = null;
58 | }
59 | cancelTimeout() {
60 | if (this.timeout !== null) {
61 | clearTimeout(this.timeout);
62 | this.timeout = null;
63 | }
64 | }
65 | }
66 | exports.Delayer = Delayer;
67 |
--------------------------------------------------------------------------------
/out/emmet/npm-shrinkwrap.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "emmet",
3 | "version": "0.0.1",
4 | "dependencies": {
5 | "@emmetio/css-parser": {
6 | "version": "0.4.0",
7 | "from": "ramya-rao-a/css-parser#vscode",
8 | "resolved": "git://github.com/ramya-rao-a/css-parser.git#370c480ac103bd17c7bcfb34bf5d577dc40d3660"
9 | },
10 | "@emmetio/extract-abbreviation": {
11 | "version": "0.1.3",
12 | "from": "@emmetio/extract-abbreviation@>=0.1.1 <0.2.0",
13 | "resolved": "https://registry.npmjs.org/@emmetio/extract-abbreviation/-/extract-abbreviation-0.1.3.tgz"
14 | },
15 | "@emmetio/html-matcher": {
16 | "version": "0.3.2",
17 | "from": "@emmetio/html-matcher@>=0.3.1 <0.4.0",
18 | "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-0.3.2.tgz"
19 | },
20 | "@emmetio/math-expression": {
21 | "version": "0.1.1",
22 | "from": "@emmetio/math-expression@>=0.1.1 <0.2.0",
23 | "resolved": "https://registry.npmjs.org/@emmetio/math-expression/-/math-expression-0.1.1.tgz"
24 | },
25 | "@emmetio/stream-reader": {
26 | "version": "2.2.0",
27 | "from": "@emmetio/stream-reader@>=2.2.0 <3.0.0",
28 | "resolved": "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz"
29 | },
30 | "@emmetio/stream-reader-utils": {
31 | "version": "0.1.0",
32 | "from": "@emmetio/stream-reader-utils@>=0.1.0 <0.2.0",
33 | "resolved": "https://registry.npmjs.org/@emmetio/stream-reader-utils/-/stream-reader-utils-0.1.0.tgz"
34 | },
35 | "image-size": {
36 | "version": "0.5.5",
37 | "from": "image-size@>=0.5.2 <0.6.0",
38 | "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz"
39 | },
40 | "vscode-emmet-helper": {
41 | "version": "1.1.8",
42 | "from": "vscode-emmet-helper@>=1.0.8 <2.0.0",
43 | "resolved": "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.1.8.tgz"
44 | },
45 | "vscode-languageserver-types": {
46 | "version": "3.3.0",
47 | "from": "vscode-languageserver-types@>=3.0.3 <4.0.0",
48 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.3.0.tgz"
49 | },
50 | "vscode-nls": {
51 | "version": "2.0.2",
52 | "from": "vscode-nls@2.0.2",
53 | "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-2.0.2.tgz"
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/out/typescript/out/features/documentHighlightProvider.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | Object.defineProperty(exports, "__esModule", { value: true });
7 | const vscode_1 = require("vscode");
8 | const convert_1 = require("../utils/convert");
9 | class TypeScriptDocumentHighlightProvider {
10 | constructor(client) {
11 | this.client = client;
12 | }
13 | provideDocumentHighlights(resource, position, token) {
14 | const filepath = this.client.normalizePath(resource.uri);
15 | if (!filepath) {
16 | return Promise.resolve([]);
17 | }
18 | const args = convert_1.vsPositionToTsFileLocation(filepath, position);
19 | return this.client.execute('occurrences', args, token).then((response) => {
20 | let data = response.body;
21 | if (data && data.length) {
22 | // Workaround for https://github.com/Microsoft/TypeScript/issues/12780
23 | // Don't highlight string occurrences
24 | const firstOccurrence = data[0];
25 | if (this.client.apiVersion.has213Features() && firstOccurrence.start.offset > 1) {
26 | // Check to see if contents around first occurrence are string delimiters
27 | const contents = resource.getText(new vscode_1.Range(firstOccurrence.start.line - 1, firstOccurrence.start.offset - 1 - 1, firstOccurrence.end.line - 1, firstOccurrence.end.offset - 1 + 1));
28 | const stringDelimiters = ['"', '\'', '`'];
29 | if (contents && contents.length > 2 && stringDelimiters.indexOf(contents[0]) >= 0 && contents[0] === contents[contents.length - 1]) {
30 | return [];
31 | }
32 | }
33 | return data.map(item => new vscode_1.DocumentHighlight(convert_1.tsTextSpanToVsRange(item), item.isWriteAccess ? vscode_1.DocumentHighlightKind.Write : vscode_1.DocumentHighlightKind.Read));
34 | }
35 | return [];
36 | }, () => {
37 | return [];
38 | });
39 | }
40 | }
41 | exports.default = TypeScriptDocumentHighlightProvider;
42 |
--------------------------------------------------------------------------------
/out/typescript/out/features/codeActionProvider.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"codeActionProvider.js","sourceRoot":"../../src","sources":["features/codeActionProvider.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/out/typescript/out/utils/tsconfig.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7 | return new (P || (P = Promise))(function (resolve, reject) {
8 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10 | function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
11 | step((generator = generator.apply(thisArg, _arguments || [])).next());
12 | });
13 | };
14 | Object.defineProperty(exports, "__esModule", { value: true });
15 | const vscode = require("vscode");
16 | const path = require("path");
17 | function isImplicitProjectConfigFile(configFileName) {
18 | return configFileName.indexOf('/dev/null/') === 0;
19 | }
20 | exports.isImplicitProjectConfigFile = isImplicitProjectConfigFile;
21 | const emptyConfig = new vscode.SnippetString(`{
22 | "compilerOptions": {
23 | "target": "ES6"$0
24 | },
25 | "exclude": [
26 | "node_modules",
27 | "**/node_modules/*"
28 | ]
29 | }`);
30 | function openOrCreateConfigFile(isTypeScriptProject, rootPath) {
31 | const configFile = vscode.Uri.file(path.join(rootPath, isTypeScriptProject ? 'tsconfig.json' : 'jsconfig.json'));
32 | const col = vscode.window.activeTextEditor ? vscode.window.activeTextEditor.viewColumn : undefined;
33 | return vscode.workspace.openTextDocument(configFile)
34 | .then(doc => {
35 | return vscode.window.showTextDocument(doc, col);
36 | }, () => __awaiter(this, void 0, void 0, function* () {
37 | const doc = yield vscode.workspace.openTextDocument(configFile.with({ scheme: 'untitled' }));
38 | const editor = yield vscode.window.showTextDocument(doc, col);
39 | if (editor.document.getText().length === 0) {
40 | yield editor.insertSnippet(emptyConfig);
41 | return editor;
42 | }
43 | return editor;
44 | }));
45 | }
46 | exports.openOrCreateConfigFile = openOrCreateConfigFile;
47 |
--------------------------------------------------------------------------------
/out/css/server/npm-shrinkwrap.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vscode-css-languageserver",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@types/node": {
8 | "version": "6.0.90",
9 | "resolved": "http://registry.npm.alibaba-inc.com/@types/node/download/@types/node-6.0.90.tgz",
10 | "integrity": "sha1-DtdIM/obc9zblAncscl+wKixOwI=",
11 | "dev": true
12 | },
13 | "vscode-css-languageservice": {
14 | "version": "2.1.7",
15 | "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-2.1.7.tgz",
16 | "integrity": "sha1-PaMOAUKoMDadoa62RGgVUYH+E8Y=",
17 | "requires": {
18 | "vscode-languageserver-types": "3.4.0",
19 | "vscode-nls": "2.0.2"
20 | }
21 | },
22 | "vscode-jsonrpc": {
23 | "version": "3.4.0",
24 | "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.4.0.tgz",
25 | "integrity": "sha1-qpWsWDvzHYD3JdV8J8CfTCz+n6k="
26 | },
27 | "vscode-languageserver": {
28 | "version": "3.4.2",
29 | "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-3.4.2.tgz",
30 | "integrity": "sha1-CMvlDuJpAdN91LXcUsJbkJNjwfE=",
31 | "requires": {
32 | "vscode-languageserver-protocol": "3.4.2",
33 | "vscode-uri": "1.0.1"
34 | }
35 | },
36 | "vscode-languageserver-protocol": {
37 | "version": "3.4.2",
38 | "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.4.2.tgz",
39 | "integrity": "sha512-2VA7kaBbqd92qbxPr0GhuIE4DpFf/rDN0z+s4OkI7D5KgxPr5Vm5pCHLX7MIoktvUiDtm2etfF2+YTzA2xBUdw==",
40 | "requires": {
41 | "vscode-jsonrpc": "3.4.0",
42 | "vscode-languageserver-types": "3.4.0"
43 | }
44 | },
45 | "vscode-languageserver-types": {
46 | "version": "3.4.0",
47 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.4.0.tgz",
48 | "integrity": "sha1-UEOuR+5KwWrwe7PQylYSNeDA0vo="
49 | },
50 | "vscode-nls": {
51 | "version": "2.0.2",
52 | "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-2.0.2.tgz",
53 | "integrity": "sha1-gIUiOAhEuK0VNJmvXDsDkhrqAto="
54 | },
55 | "vscode-uri": {
56 | "version": "1.0.1",
57 | "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.1.tgz",
58 | "integrity": "sha1-Eahr7+rDxKo+wIYjZRo8gabQu8g="
59 | }
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/out/typescript/out/features/workspaceSymbolProvider.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"workspaceSymbolProvider.js","sourceRoot":"../../src","sources":["features/workspaceSymbolProvider.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/out/typescript/out/features/hoverProvider.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7 | return new (P || (P = Promise))(function (resolve, reject) {
8 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10 | function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
11 | step((generator = generator.apply(thisArg, _arguments || [])).next());
12 | });
13 | };
14 | Object.defineProperty(exports, "__esModule", { value: true });
15 | const vscode_1 = require("vscode");
16 | const previewer_1 = require("./previewer");
17 | const convert_1 = require("../utils/convert");
18 | class TypeScriptHoverProvider {
19 | constructor(client) {
20 | this.client = client;
21 | }
22 | provideHover(document, position, token) {
23 | return __awaiter(this, void 0, void 0, function* () {
24 | const filepath = this.client.normalizePath(document.uri);
25 | if (!filepath) {
26 | return undefined;
27 | }
28 | const args = convert_1.vsPositionToTsFileLocation(filepath, position);
29 | try {
30 | const response = yield this.client.execute('quickinfo', args, token);
31 | if (response && response.body) {
32 | const data = response.body;
33 | return new vscode_1.Hover(TypeScriptHoverProvider.getContents(data), convert_1.tsTextSpanToVsRange(data));
34 | }
35 | }
36 | catch (e) {
37 | // noop
38 | }
39 | return undefined;
40 | });
41 | }
42 | static getContents(data) {
43 | const parts = [];
44 | if (data.displayString) {
45 | parts.push({ language: 'typescript', value: data.displayString });
46 | }
47 | const tags = previewer_1.tagsMarkdownPreview(data.tags);
48 | parts.push(data.documentation + (tags ? '\n\n' + tags : ''));
49 | return parts;
50 | }
51 | }
52 | exports.default = TypeScriptHoverProvider;
53 |
--------------------------------------------------------------------------------
/out/typescript/out/utils/tracer.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"tracer.js","sourceRoot":"../../src","sources":["utils/tracer.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/out/typescript/out/features/signatureHelpProvider.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | Object.defineProperty(exports, "__esModule", { value: true });
7 | const vscode_1 = require("vscode");
8 | const Previewer = require("./previewer");
9 | const convert_1 = require("../utils/convert");
10 | class TypeScriptSignatureHelpProvider {
11 | constructor(client) {
12 | this.client = client;
13 | }
14 | provideSignatureHelp(document, position, token) {
15 | const filepath = this.client.normalizePath(document.uri);
16 | if (!filepath) {
17 | return Promise.resolve(null);
18 | }
19 | const args = convert_1.vsPositionToTsFileLocation(filepath, position);
20 | return this.client.execute('signatureHelp', args, token).then((response) => {
21 | const info = response.body;
22 | if (!info) {
23 | return null;
24 | }
25 | const result = new vscode_1.SignatureHelp();
26 | result.activeSignature = info.selectedItemIndex;
27 | result.activeParameter = info.argumentIndex;
28 | info.items.forEach((item, i) => {
29 | if (!info) {
30 | return;
31 | }
32 | // keep active parameter in bounds
33 | if (i === info.selectedItemIndex && item.isVariadic) {
34 | result.activeParameter = Math.min(info.argumentIndex, item.parameters.length - 1);
35 | }
36 | const signature = new vscode_1.SignatureInformation('');
37 | signature.label += Previewer.plain(item.prefixDisplayParts);
38 | item.parameters.forEach((p, i, a) => {
39 | const parameter = new vscode_1.ParameterInformation(Previewer.plain(p.displayParts), Previewer.plain(p.documentation));
40 | signature.label += parameter.label;
41 | signature.parameters.push(parameter);
42 | if (i < a.length - 1) {
43 | signature.label += Previewer.plain(item.separatorDisplayParts);
44 | }
45 | });
46 | signature.label += Previewer.plain(item.suffixDisplayParts);
47 | signature.documentation = Previewer.markdownDocumentation(item.documentation, item.tags);
48 | result.signatures.push(signature);
49 | });
50 | return result;
51 | }, () => {
52 | return null;
53 | });
54 | }
55 | }
56 | exports.default = TypeScriptSignatureHelpProvider;
57 |
--------------------------------------------------------------------------------
/out/typescript/out/features/implementationsCodeLensProvider.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"implementationsCodeLensProvider.js","sourceRoot":"../../src","sources":["features/implementationsCodeLensProvider.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/out/typescript/out/features/renameProvider.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7 | return new (P || (P = Promise))(function (resolve, reject) {
8 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10 | function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
11 | step((generator = generator.apply(thisArg, _arguments || [])).next());
12 | });
13 | };
14 | Object.defineProperty(exports, "__esModule", { value: true });
15 | const vscode_1 = require("vscode");
16 | const convert_1 = require("../utils/convert");
17 | class TypeScriptRenameProvider {
18 | constructor(client) {
19 | this.client = client;
20 | }
21 | provideRenameEdits(document, position, newName, token) {
22 | return __awaiter(this, void 0, void 0, function* () {
23 | const filepath = this.client.normalizePath(document.uri);
24 | if (!filepath) {
25 | return null;
26 | }
27 | const args = Object.assign({}, convert_1.vsPositionToTsFileLocation(filepath, position), { findInStrings: false, findInComments: false });
28 | try {
29 | const response = yield this.client.execute('rename', args, token);
30 | const renameResponse = response.body;
31 | if (!renameResponse) {
32 | return null;
33 | }
34 | const renameInfo = renameResponse.info;
35 | if (!renameInfo.canRename) {
36 | return Promise.reject(renameInfo.localizedErrorMessage);
37 | }
38 | const result = new vscode_1.WorkspaceEdit();
39 | for (const spanGroup of renameResponse.locs) {
40 | const resource = this.client.asUrl(spanGroup.file);
41 | if (!resource) {
42 | continue;
43 | }
44 | for (const textSpan of spanGroup.locs) {
45 | result.replace(resource, convert_1.tsTextSpanToVsRange(textSpan), newName);
46 | }
47 | }
48 | return result;
49 | }
50 | catch (e) {
51 | // noop
52 | }
53 | return null;
54 | });
55 | }
56 | }
57 | exports.default = TypeScriptRenameProvider;
58 |
--------------------------------------------------------------------------------
/themes/theme-defaults/themes/dark_plus.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "vscode://schemas/color-theme",
3 | "name": "Dark+ (default dark)",
4 | "include": "./dark_vs.json",
5 | "tokenColors": [
6 | {
7 | "name": "Function declarations",
8 | "scope": [
9 | "entity.name.function",
10 | "support.function",
11 | "support.constant.handlebars"
12 | ],
13 | "settings": {
14 | "foreground": "#DCDCAA"
15 | }
16 | },
17 | {
18 | "name": "Types declaration and references",
19 | "scope": [
20 | "meta.return-type",
21 | "support.class",
22 | "support.type",
23 | "entity.name.type",
24 | "entity.name.class",
25 | "storage.type.cs",
26 | "storage.type.generic.cs",
27 | "storage.type.modifier.cs",
28 | "storage.type.variable.cs",
29 | "storage.type.annotation.java",
30 | "storage.type.generic.java",
31 | "storage.type.java",
32 | "storage.type.object.array.java",
33 | "storage.type.primitive.array.java",
34 | "storage.type.primitive.java",
35 | "storage.type.token.java",
36 | "storage.type.groovy",
37 | "storage.type.annotation.groovy",
38 | "storage.type.parameters.groovy",
39 | "storage.type.generic.groovy",
40 | "storage.type.object.array.groovy",
41 | "storage.type.primitive.array.groovy",
42 | "storage.type.primitive.groovy"
43 | ],
44 | "settings": {
45 | "foreground": "#4EC9B0"
46 | }
47 | },
48 | {
49 | "name": "Types declaration and references, TS grammar specific",
50 | "scope": [
51 | "meta.return.type",
52 | "meta.type.cast.expr",
53 | "meta.type.new.expr",
54 | "support.constant.math",
55 | "support.constant.dom",
56 | "support.constant.json",
57 | "entity.other.inherited-class"
58 | ],
59 | "settings": {
60 | "foreground": "#4EC9B0"
61 | }
62 | },
63 | {
64 | "name": "Control flow keywords",
65 | "scope": "keyword.control",
66 | "settings": {
67 | "foreground": "#C586C0"
68 | }
69 | },
70 | {
71 | "name": "Variable and parameter name",
72 | "scope": [
73 | "variable",
74 | "meta.definition.variable.name",
75 | "support.variable"
76 | ],
77 | "settings": {
78 | "foreground": "#9CDCFE"
79 | }
80 | },
81 | {
82 | "name": "Object keys, TS grammar specific",
83 | "scope": [
84 | "meta.object-literal.key",
85 | "meta.object-literal.key entity.name.function"
86 | ],
87 | "settings": {
88 | "foreground": "#9CDCFE"
89 | }
90 | },
91 | {
92 | "name": "CSS property value",
93 | "scope": [
94 | "support.constant.property-value",
95 | "support.constant.font-name",
96 | "support.constant.media-type",
97 | "support.constant.media",
98 | "constant.other.color.rgb-value",
99 | "constant.other.rgb-value",
100 | "support.constant.color"
101 | ],
102 | "settings": {
103 | "foreground": "#CE9178"
104 | }
105 | }
106 | ]
107 | }
--------------------------------------------------------------------------------
/themes/theme-defaults/themes/light_plus.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "vscode://schemas/color-theme",
3 | "name": "Light+ (default light)",
4 | "include": "./light_vs.json",
5 | "tokenColors": [
6 | {
7 | "name": "Function declarations",
8 | "scope": [
9 | "entity.name.function",
10 | "support.function",
11 | "support.constant.handlebars"
12 | ],
13 | "settings": {
14 | "foreground": "#795E26"
15 | }
16 | },
17 | {
18 | "name": "Types declaration and references",
19 | "scope": [
20 | "meta.return-type",
21 | "support.class",
22 | "support.type",
23 | "entity.name.type",
24 | "entity.name.class",
25 | "storage.type.cs",
26 | "storage.type.generic.cs",
27 | "storage.type.modifier.cs",
28 | "storage.type.variable.cs",
29 | "storage.type.annotation.java",
30 | "storage.type.generic.java",
31 | "storage.type.java",
32 | "storage.type.object.array.java",
33 | "storage.type.primitive.array.java",
34 | "storage.type.primitive.java",
35 | "storage.type.token.java",
36 | "storage.type.groovy",
37 | "storage.type.annotation.groovy",
38 | "storage.type.parameters.groovy",
39 | "storage.type.generic.groovy",
40 | "storage.type.object.array.groovy",
41 | "storage.type.primitive.array.groovy",
42 | "storage.type.primitive.groovy"
43 | ],
44 | "settings": {
45 | "foreground": "#267f99"
46 | }
47 | },
48 | {
49 | "name": "Types declaration and references, TS grammar specific",
50 | "scope": [
51 | "meta.return.type",
52 | "meta.type.cast.expr",
53 | "meta.type.new.expr",
54 | "support.constant.math",
55 | "support.constant.dom",
56 | "support.constant.json",
57 | "entity.other.inherited-class"
58 | ],
59 | "settings": {
60 | "foreground": "#267f99"
61 | }
62 | },
63 | {
64 | "name": "Control flow keywords",
65 | "scope": "keyword.control",
66 | "settings": {
67 | "foreground": "#AF00DB"
68 | }
69 | },
70 | {
71 | "name": "Variable and parameter name",
72 | "scope": [
73 | "variable",
74 | "meta.definition.variable.name",
75 | "support.variable"
76 | ],
77 | "settings": {
78 | "foreground": "#001080"
79 | }
80 | },
81 | {
82 | "name": "Object keys, TS grammar specific",
83 | "scope": [
84 | "meta.object-literal.key",
85 | "meta.object-literal.key entity.name.function"
86 | ],
87 | "settings": {
88 | "foreground": "#001080"
89 | }
90 | },
91 | {
92 | "name": "CSS property value",
93 | "scope": [
94 | "support.constant.property-value",
95 | "support.constant.font-name",
96 | "support.constant.media-type",
97 | "support.constant.media",
98 | "constant.other.color.rgb-value",
99 | "constant.other.rgb-value",
100 | "support.constant.color"
101 | ],
102 | "settings": {
103 | "foreground": "#0451a5"
104 | }
105 | }
106 | ]
107 | }
--------------------------------------------------------------------------------
/out/typescript/out/features/baseCodeLensProvider.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"baseCodeLensProvider.js","sourceRoot":"../../src","sources":["features/baseCodeLensProvider.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ws-electron-monaco",
3 | "version": "0.0.1",
4 | "description": "Ant monaco with vscode-textmate. This module can only run under node runtime",
5 | "main": "lib/editor",
6 | "scripts": {
7 | "webpack": "webpack -w",
8 | "build": "babel ./src ./lib",
9 | "dev": "babel ./src --out-dir ./lib --watch --source-maps",
10 | "minify:render": "uglifyjs lib/index.js -o lib/index.min.js",
11 | "minify:main": "uglifyjs lib/main.js -o lib/main.min.js",
12 | "rebuild": "electron-rebuild-ln -d=https://gh-contractor-zcbenz.cnpmjs.org/atom-shell/dist/ -m .",
13 | "start": "electron ./example/main.js",
14 | "minify": "npm run minify:main && npm run minify:render && npm run clean",
15 | "clean": "node scripts/clean.js",
16 | "js": "node scripts/javascript.js && npm run js-extra",
17 | "js-extra": "node scripts/js-extra.js",
18 | "api": "node scripts/completions.js $site",
19 | "sync": "node scripts/lark-sdk.js",
20 | "postinstall": "node postinstall.js"
21 | },
22 | "keywords": [
23 | "monaco",
24 | "vscode-textmate",
25 | "ant"
26 | ],
27 | "vscode-plugins": [
28 | "axml", "css", "ejs", "emmet", "eslint", "html", "javascript", "json", "less", "nunjucks", "scss", "typescript"
29 | ],
30 | "author": "munong",
31 | "license": "MIT",
32 | "dependencies": {
33 | "ant-config": "^0.0.5",
34 | "eslint": "^4.6.0",
35 | "eslint-config-airbnb-base": "^12.0.0",
36 | "eslint-config-appx": "0.1.x",
37 | "eslint-plugin-import": "^2.7.0",
38 | "jsonc-parser": "^1.0.0",
39 | "micromatch": "^3.1.0",
40 | "typescript": "^2.5.2",
41 | "vscode-css-languageservice": "^2.1.10",
42 | "vscode-emmet-helper": "^1.1.14",
43 | "vscode-extension-telemetry": "^0.0.8",
44 | "vscode-html-languageservice": "^2.0.10",
45 | "vscode-json-languageservice": "^2.0.22",
46 | "vscode-languageclient": "^3.4.5",
47 | "vscode-languageserver": "^3.4.3",
48 | "vscode-languageserver-protocol": "^3.4.4",
49 | "vscode-languageserver-types": "^3.4.0",
50 | "vscode-textmate": "^3.1.4",
51 | "vscode-uri": "^1.0.1"
52 | },
53 | "devDependencies": {
54 | "@types/es6-promise": "0.0.33",
55 | "@types/node": "^7.0.22",
56 | "babel-cli": "^6.26.0",
57 | "babel-core": "^6.25.0",
58 | "babel-loader": "^7.1.1",
59 | "babel-plugin-add-module-exports": "^0.2.1",
60 | "babel-preset-es2015": "^6.24.1",
61 | "babel-preset-es2015-node": "^6.1.1",
62 | "babel-preset-stage-0": "^6.24.1",
63 | "bluebird": "^3.5.0",
64 | "browserify": "^14.4.0",
65 | "chalk": "^1.1.3",
66 | "copy-webpack-plugin": "^4.0.1",
67 | "electron": "^1.7.x",
68 | "electron-rebuild-ln": "^0.0.7",
69 | "extract-text-webpack-plugin": "^3.0.0",
70 | "fs-extra": "^3.0.1",
71 | "gulp": "^3.9.1",
72 | "gulp-sequence": "^0.4.6",
73 | "mark-twain": "^1.1.6",
74 | "raw-loader": "^0.5.1",
75 | "request": "^2.81.0",
76 | "rimraf": "^2.6.2",
77 | "shelljs": "^0.7.8",
78 | "uglify-es": "^3.0.13",
79 | "webpack": "^3.6.0",
80 | "webpack-stream": "^4.0.0"
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/out/typescript/out/features/referencesCodeLensProvider.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"referencesCodeLensProvider.js","sourceRoot":"../../src","sources":["features/referencesCodeLensProvider.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/out/typescript/out/utils/versionPicker.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"versionPicker.js","sourceRoot":"../../src","sources":["utils/versionPicker.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/scripts/js-extra.js:
--------------------------------------------------------------------------------
1 | const fsExtra = require('fs-extra');
2 | const chalk = require('chalk');
3 | const { CompletionItemKind } = require('./utils');
4 |
5 | console.log(chalk.green('js extra api start'));
6 |
7 | const CONSOLE = {
8 | entry: 'console',
9 | methods: {
10 | assert: {
11 | "insertText": {
12 | "value": "assert(${1:assertion: boolean}, ${2:...args: any})"
13 | },
14 | "documentation": "Log a message and stack trace to console if first argument is false.",
15 | "kind": CompletionItemKind.Function,
16 | },
17 | clear: {
18 | "insertText": {
19 | "value": "clear()"
20 | },
21 | "documentation": "Clear the console.",
22 | "kind": CompletionItemKind.Function,
23 | },
24 | count: {
25 | "insertText": {
26 | "value": "count(${1:[label]: string[]})"
27 | },
28 | "documentation": "Log the number of times this line has been called with the given label.",
29 | "kind": CompletionItemKind.Function,
30 | },
31 | debug: {
32 | "insertText": {
33 | "value": "debug(${1:...args: any})"
34 | },
35 | "documentation": "An alias for log()",
36 | "kind": CompletionItemKind.Function,
37 | },
38 | error: {
39 | "insertText": {
40 | "value": "error(${1:...args: any})"
41 | },
42 | "documentation": "Outputs an error message. You may use string substitution and additional arguments with this method.",
43 | "kind": CompletionItemKind.Function,
44 | },
45 | info: {
46 | "insertText": {
47 | "value": "info(${1:...args: any})"
48 | },
49 | "documentation": "Informative logging information. You may use string substitution and additional arguments with this method.",
50 | "kind": CompletionItemKind.Function,
51 | },
52 | log: {
53 | "insertText": {
54 | "value": "log(${1:...args: any})"
55 | },
56 | "documentation": "For general output of logging information. You may use string substitution and additional arguments with this method.",
57 | "kind": CompletionItemKind.Function,
58 | },
59 | time: {
60 | "insertText": {
61 | "value": "time(${1:label: string})"
62 | },
63 | "documentation": "Starts a timer with a name specified as an input parameter. Up to 10,000 simultaneous timers can run on a given page.",
64 | "kind": CompletionItemKind.Function,
65 | },
66 | timeEnd: {
67 | "insertText": {
68 | "value": "timeEnd(${1:label: string})"
69 | },
70 | "documentation": "Stops the specified timer and logs the elapsed time in seconds since its start.",
71 | "kind": CompletionItemKind.Function,
72 | },
73 | warn: {
74 | "insertText": {
75 | "value": "warn(${1:...args: any})"
76 | },
77 | "documentation": "Outputs a warning message. You may use string substitution and additional arguments with this method.",
78 | "kind": CompletionItemKind.Function,
79 | },
80 | }
81 | }
82 |
83 | fsExtra.writeJsonSync(`./plugins/api/javascript/${CONSOLE.entry}.json`, CONSOLE);
84 |
85 | console.log(chalk.green('js extra api completed'));
86 |
--------------------------------------------------------------------------------
/out/html/server/npm-shrinkwrap.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vscode-html-languageserver",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@types/mocha": {
8 | "version": "2.2.44",
9 | "resolved": "http://registry.npm.alibaba-inc.com/@types/mocha/download/@types/mocha-2.2.44.tgz",
10 | "integrity": "sha1-HUp5jlPzUhL9WtTQQFBiAXHNW14=",
11 | "dev": true
12 | },
13 | "@types/node": {
14 | "version": "6.0.90",
15 | "resolved": "http://registry.npm.alibaba-inc.com/@types/node/download/@types/node-6.0.90.tgz",
16 | "integrity": "sha1-DtdIM/obc9zblAncscl+wKixOwI=",
17 | "dev": true
18 | },
19 | "vscode-css-languageservice": {
20 | "version": "2.1.7",
21 | "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-2.1.7.tgz",
22 | "integrity": "sha1-PaMOAUKoMDadoa62RGgVUYH+E8Y=",
23 | "requires": {
24 | "vscode-languageserver-types": "3.4.0",
25 | "vscode-nls": "2.0.2"
26 | }
27 | },
28 | "vscode-html-languageservice": {
29 | "version": "2.0.8",
30 | "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-2.0.8.tgz",
31 | "integrity": "sha1-OQPN7D8LWQu6WGOy1ti1jBM/WNI=",
32 | "requires": {
33 | "vscode-languageserver-types": "3.4.0",
34 | "vscode-nls": "2.0.2",
35 | "vscode-uri": "1.0.1"
36 | }
37 | },
38 | "vscode-jsonrpc": {
39 | "version": "3.4.0",
40 | "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.4.0.tgz",
41 | "integrity": "sha1-qpWsWDvzHYD3JdV8J8CfTCz+n6k="
42 | },
43 | "vscode-languageserver": {
44 | "version": "3.4.2",
45 | "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-3.4.2.tgz",
46 | "integrity": "sha1-CMvlDuJpAdN91LXcUsJbkJNjwfE=",
47 | "requires": {
48 | "vscode-languageserver-protocol": "3.4.2",
49 | "vscode-uri": "1.0.1"
50 | }
51 | },
52 | "vscode-languageserver-protocol": {
53 | "version": "3.4.2",
54 | "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.4.2.tgz",
55 | "integrity": "sha512-2VA7kaBbqd92qbxPr0GhuIE4DpFf/rDN0z+s4OkI7D5KgxPr5Vm5pCHLX7MIoktvUiDtm2etfF2+YTzA2xBUdw==",
56 | "requires": {
57 | "vscode-jsonrpc": "3.4.0",
58 | "vscode-languageserver-types": "3.4.0"
59 | }
60 | },
61 | "vscode-languageserver-types": {
62 | "version": "3.4.0",
63 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.4.0.tgz",
64 | "integrity": "sha1-UEOuR+5KwWrwe7PQylYSNeDA0vo="
65 | },
66 | "vscode-nls": {
67 | "version": "2.0.2",
68 | "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-2.0.2.tgz",
69 | "integrity": "sha1-gIUiOAhEuK0VNJmvXDsDkhrqAto="
70 | },
71 | "vscode-uri": {
72 | "version": "1.0.1",
73 | "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.1.tgz",
74 | "integrity": "sha1-Eahr7+rDxKo+wIYjZRo8gabQu8g="
75 | }
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/out/typescript/out/utils/configuration.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"configuration.js","sourceRoot":"../../src","sources":["utils/configuration.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/INFO.CN.md:
--------------------------------------------------------------------------------
1 | # Ant Editor
2 |
3 | ## Info
4 |
5 | monaco 是 vscode 的核心编辑器,是由 vscode 的源代码分离打包出来的一个纯前端编辑器,支持多语言扩展,能够使用一些辅助编辑的功能,比如代码提示、代码详细信息展示、语法校验等基础功能。ant monaco 目前是基于这个分离的打包代码来进行扩展的,从早期的版本岛现在大概经历了三个阶段,记下来我将从 vscode 和 monaco 自身的设计以及 IDE 的需求来描述这几个阶段的历史意义。
6 |
7 | ## vscode
8 |
9 | 首先来简单阐述一下目前我认知的 vscode 的设计。
10 |
11 | 
12 |
13 | 刚开始开发 IDE 的时候,在参考 vscode 的时候一直在思考它究竟是著名处理 Renderer 和 Main 线程的通信的,尤其是在涉及到插件的时候,在 vscode 的代码里面一直咩有发现类似的痕迹,atom 相对就很清晰,然后现在发现其实 vscode 在 Main 线程干的事情非常少,基本核心的功能包括插件机制实际都是跑在 Renderer 线程的,Renderer 线程本身也是有 Node 环境的,所以 vscode 选择了这样一种和 atom 不一样的方案。
14 |
15 |
16 | 从上面的图可以看出来,vscode 的核心功能都是在 Renderer 里面暴露出去的,这里应该是使用了类似于我在上周周报里面描述的那种方式,把 vscode module 都注入给了各个插件。(不过这里也不能完全确定,因为 vscode 是 amd 打包的,所以也可以在打包的时候在 define 上面注入进去,这种可能性会更高一点)这里有一点需要注意的是,实际 fork 进程的代码是在 Renderer 里面的,不过由于 Renderer 自身应该就是一个 Main 进程的 fork 进程,所以进程的 debug 信息会在 Main 进程的控制台中打印出来。
17 |
18 | Monaco 和 vscode 不同在它的定位环境是浏览器,所以它不能使用系统 api,因为没有 Node 环境,所以在 Monaco 的 typescript 中使用的是 webworker,vscode 很好的处理了插件 server 和 client 通信上的问题,将 tcp、rpc、webworker、process 的通信都用一种更上层的方式封装了一下。
19 |
20 | ## Ant Monaco
21 |
22 | 接下来就是来吐槽一下 IDE 中编辑器的编年史。
23 |
24 | ### version 1 (Tea)
25 |
26 | 最早的一个版本是跑在 Tea 里面,这个时候说实话还没有恨理清楚 vscode 的代码,为了在进度上面能够赶上迭代速度(不过实际上貌似也没有赶上 = =!),所以在这个时候基本就是 Monaco + statci completionItems 的模式,这个时候的 languages features 是由 Monaco 内置的几个打包进去的插件提供的,其实也就没有发挥在桌面端的优势。
27 |
28 | ## version 2 (Tea ===> PuerTea)
29 |
30 | 这个版本也是现在实际跑在线上的版本。首先我修改了 Monaco (也就是 vscode <( ̄︶ ̄)> )的源代码,加了一个直接使用二进制 token 的 api,不过这个修改 vscode 很长时间都没有合并进去,后来我就 close 掉了。这样的好处就是 vscode-textmate 是可以直接解析出这种 token 的,使用起来会更快更方便,在桌面端上 vscode-textmate 是目前我认为编辑器最大的提升。除了这个,还覆盖了 token 的 mtk 色值。
31 |
32 | ```
33 | meta.structure.dictionary.json
34 |
35 | 这是一个 json 语言的 token,实际上编辑器对于它在颜色上的判断只限于 meta,也就是你指定给 meta 是什么颜色,这个 token 对应的 text 在编辑器中就是什么颜色,而这个 token 类型是有限的,每一个 mtk 的色值就对应着这样的一个token type。
36 | ```
37 |
38 | 因为 Moanco 可能出于兼容全部 token 的原因而附加了一些可能一些语言本身使用不到的 token,所以它的 token 色值比 vscode-textmate 解析出来的多了一点,这就是覆盖这一块 css 样式的原因。
39 |
40 | 除了 languge token 之外,接下来处理的就是 language features,language features 覆盖的有很多个方面,最主要的是 completions、lint、hover 等。在这一版中,我使用的方法是通过 monaco api 来做到和 vscode 中类似的效果。monaco 本身是 vscode 的一部分,vscode 实现这些 features 是用的 api 和它是基本类似的,只有有些涉及系统 api 的被剔除了,因而这一块的完成速度是很快的,麻烦在于维护,因为这相当于世每一个插件都要由我来维护。js、json、css、axml 包括 fengdie 中的 schema 和 nunjucks,有些支持可能不是非常麻烦,但是对于 js 、axml、css 这种还是要去实现很多 monaco 的 api 来支持编辑功能,太繁琐,而且这样做的耦合度海比较高,这些语言的实现都是和编辑器粘连的,维护和写测试的角度来说都不可靠(虽然目前我们也没有写测试 ╮( ̄▽ ̄)╭ ),而且对于更复杂功能开发来说简直是一种折磨,所以我决定还是开始改第三版。
41 |
42 | ## version 3 (dev)
43 |
44 | 这一版本的核心就是兼容 vscode 的插件,通过 monaco 的 api 和引入一些 vscode 的基础类型来完全模拟 vscode 的插件运行环境,对于目前我们还没有的一些功能,像 status item 这种就直接传空对象或者一个 noob 函数,对于我们已经支持的功能,通过对 require 的注入将 vscode 的 plugin 在 runtime 阶段引导到 Ant Monaco 内部实现来。这种做法虽然代码量是比较大的,因为要实现很多 vscode.d.ts 中的核心 api,而且需要对 vscode 更多的属性,因为需要使用它的内部定义类型,很多时候还不能直接使用,需要自己造轮子写一个,这里面当然还是有一些 ts 和 js 的差异,但是排开这些体力活好处还是非常多的。首先插件不需要我来维护了,我需要维护的是这样一个兼容层,而插件的维护是由 vscode 的开发或者一些第三方开发来做,我只需要关注一下变更就好了,社区的力量总是无穷的 m( _ _ )m ,(包括也有一些插件是由我们内部员工开发的,可以帅锅给他们来帮忙)还有就是我们还可以使用更多的其他不错的插件来丰富 IDE 的体验,语言方面当然可以添加像 md 这些的,另外 vscode 上有一个转换 wxml 到 axml 的插件也可以直接在 IDE 里面用,用户不用两头跑,更重要的是对于那些不太想使用 IDE 而使用 vscode 的开发而言,很多插件都是两边共用的。上面都是从编辑角度来说的,从另一个方面来说,IDE 现在其实就拥有了一套自己的插件机制,从现在的角度来说的确还比较鸡肋,但是如果从更远的角度,我们想给开发者更多的智能开发能力,包括设计、后端、文档,甚至 AR、VR 的时候,这个时候它就有一定价值了,这里包括了内部开发和外部开发,而目前来看 IDE 的插件会有两种,这一块还需要我进一步在开发过程中梳理出来。
45 |
--------------------------------------------------------------------------------
/src/editor/hook.js:
--------------------------------------------------------------------------------
1 | import Promise from 'bluebird';
2 | import os from 'os';
3 | import TextDocument from './TextDocument';
4 | import Uri from './Uri';
5 | import GrammarRegistry from './GrammarRegistry';
6 | import { addTextDocument } from '../ant/workspace';
7 | import { Event } from '../ant/Event';
8 | import * as convert from '../ant/convert';
9 |
10 | global.Promise = Promise;
11 |
12 | let registry;
13 | global.uriToDocument = new Map();
14 |
15 | export default function hook() {
16 | registerEditorEvent();
17 | }
18 |
19 | function registerEditorEvent(editor) {
20 | const originalCreateModel = window.monaco.editor.createModel;
21 | const originalCreate = window.monaco.editor.create;
22 |
23 | /**
24 | * FIX ME: IDE do it by itself.
25 | * Hook the creatModel and convert path to file uri.
26 | */
27 | window.monaco.editor.createModel = (value, language, path) => {
28 | let uri;
29 | if (typeof path === 'string')
30 | uri = new Uri('file', '', path);
31 | else
32 | uri = path;
33 | if (!registry) {
34 | GrammarRegistry.setMode('dark');
35 | window.monaco.editor.defineTheme('tiny', {
36 | base: 'vs-dark',
37 | inherit: true,
38 | rules: [], // 之后实际要复写这些rules的,所以干脆就传个空数组进去
39 | colors: GrammarRegistry.getDefaultColors(),
40 | });
41 | registry = new GrammarRegistry();
42 | registry.reloadTheme('tiny');
43 | }
44 | return Promise.resolve({ languageId: language, registry })
45 | .then((res) => { if (language) return GrammarRegistry.loadGrammar(res); })
46 | .then((res) => { if (language) return GrammarRegistry.registerLanguage(res); })
47 | .then(() => Promise.resolve(originalCreateModel(value, language, uri.toString())))
48 | }
49 |
50 | /**
51 | * Hook the create editor function.
52 | */
53 | window.monaco.editor.create = (dom, options, override) => {
54 | const editor = originalCreate(dom, options, override);
55 | return editor;
56 | }
57 |
58 | /**
59 | * Register the onDidCreateModel event.
60 | * Restore the textDocument in a global Map.
61 | */
62 | window.monaco.editor.onDidCreateModel((model) => {
63 | registerModelEvent(model);
64 |
65 | const uri = Uri.parse(model.uri);
66 | const splited = uri.fsPath.split('/');
67 | const filename = splited[splited.length - 1];
68 | const value = model.getValue();
69 | const language = model.getModeId();
70 | const eol = os.platform() === 'win32' ? '\r\n' : '\n';
71 |
72 | // 有的 windows 上的项目文件是以 \n 为换行符的,
73 | // 为了兼容这部分文件,在分割文件内容的时候做一个处理。
74 | const textDocument = new TextDocument(uri, value.replace(/\r/g, '').split('\n'), eol, language, 0, filename);
75 |
76 | uriToDocument.set(uri.toString(), textDocument);
77 | addTextDocument(textDocument);
78 |
79 | Event.dispatchGlobalEvent('onDidOpenTextDocument', { textDocument });
80 | })
81 | }
82 |
83 | function registerModelEvent(model) {
84 | model.onDidChangeContent(async (event) => {
85 | const textDocument = uriToDocument.get(model.uri);
86 | textDocument.onEvents(event);
87 | Event.dispatchGlobalEvent('onDidChangeTextDocument', {
88 | document: textDocument,
89 | contentChanges: event.changes.map((item) => {
90 | return {
91 | ...item,
92 | range: convert.toRange(item.range),
93 | }
94 | }),
95 | });
96 | });
97 | }
98 |
--------------------------------------------------------------------------------
/out/typescript/out/utils/tracer.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | /*---------------------------------------------------------------------------------------------
3 | * Copyright (c) Microsoft Corporation. All rights reserved.
4 | * Licensed under the MIT License. See License.txt in the project root for license information.
5 | *--------------------------------------------------------------------------------------------*/
6 | Object.defineProperty(exports, "__esModule", { value: true });
7 | const vscode_1 = require("vscode");
8 | var Trace;
9 | (function (Trace) {
10 | Trace[Trace["Off"] = 0] = "Off";
11 | Trace[Trace["Messages"] = 1] = "Messages";
12 | Trace[Trace["Verbose"] = 2] = "Verbose";
13 | })(Trace || (Trace = {}));
14 | (function (Trace) {
15 | function fromString(value) {
16 | value = value.toLowerCase();
17 | switch (value) {
18 | case 'off':
19 | return Trace.Off;
20 | case 'messages':
21 | return Trace.Messages;
22 | case 'verbose':
23 | return Trace.Verbose;
24 | default:
25 | return Trace.Off;
26 | }
27 | }
28 | Trace.fromString = fromString;
29 | })(Trace || (Trace = {}));
30 | class Tracer {
31 | constructor(logger) {
32 | this.logger = logger;
33 | this.updateConfiguration();
34 | }
35 | updateConfiguration() {
36 | this.trace = Tracer.readTrace();
37 | }
38 | static readTrace() {
39 | let result = Trace.fromString(vscode_1.workspace.getConfiguration().get('typescript.tsserver.trace', 'off'));
40 | if (result === Trace.Off && !!process.env.TSS_TRACE) {
41 | result = Trace.Messages;
42 | }
43 | return result;
44 | }
45 | traceRequest(request, responseExpected, queueLength) {
46 | if (this.trace === Trace.Off) {
47 | return;
48 | }
49 | let data = undefined;
50 | if (this.trace === Trace.Verbose && request.arguments) {
51 | data = `Arguments: ${JSON.stringify(request.arguments, null, 4)}`;
52 | }
53 | this.logTrace(`Sending request: ${request.command} (${request.seq}). Response expected: ${responseExpected ? 'yes' : 'no'}. Current queue length: ${queueLength}`, data);
54 | }
55 | traceResponse(response, startTime) {
56 | if (this.trace === Trace.Off) {
57 | return;
58 | }
59 | let data = undefined;
60 | if (this.trace === Trace.Verbose && response.body) {
61 | data = `Result: ${JSON.stringify(response.body, null, 4)}`;
62 | }
63 | this.logTrace(`Response received: ${response.command} (${response.request_seq}). Request took ${Date.now() - startTime} ms. Success: ${response.success} ${!response.success ? '. Message: ' + response.message : ''}`, data);
64 | }
65 | traceEvent(event) {
66 | if (this.trace === Trace.Off) {
67 | return;
68 | }
69 | let data = undefined;
70 | if (this.trace === Trace.Verbose && event.body) {
71 | data = `Data: ${JSON.stringify(event.body, null, 4)}`;
72 | }
73 | this.logTrace(`Event received: ${event.event} (${event.seq}).`, data);
74 | }
75 | logTrace(message, data) {
76 | if (this.trace !== Trace.Off) {
77 | this.logger.logLevel('Trace', message, data);
78 | }
79 | }
80 | }
81 | exports.default = Tracer;
82 |
--------------------------------------------------------------------------------
/src/ant/workspace.js:
--------------------------------------------------------------------------------
1 | import { Event, EventEmitter } from './Event';
2 | import Watcher from './watcher';
3 | import { getConfiguration as getConf } from './configure';
4 | import { getDiagnosticCollection } from './languages';
5 | import Uri from '../editor/uri';
6 |
7 | const emitter = new EventEmitter();
8 |
9 | export const textDocuments = [];
10 | export const uriMap = new Map();
11 |
12 | window.textDocument = textDocuments;
13 |
14 | export let type = 'tiny';
15 | export let rootPath = '';
16 | export const workspaceFolders = [];
17 |
18 | export function getMainWorkspace() {
19 | return workspaceFolders[0];
20 | }
21 |
22 | export function onDidChangeConfiguration(callback, client, disposes) {
23 | Event.addGlobalListenerEvent('onDidChangeConfiguration', callback.bind(client));
24 | return {
25 | dispose: () => {
26 | Event.removeGlobalListener('onDidChangeConfiguration', callback);
27 | }
28 | }
29 | }
30 |
31 | export function addTextDocument(textDocument) {
32 | textDocuments.push(textDocument);
33 | uriMap.set(textDocument.uri.toString(), textDocument);
34 | }
35 |
36 | export function openTextDocument(uri) {
37 | const textDocument = uriMap.get(uri.toString());
38 | return Promise.resolve(textDocument);
39 | }
40 |
41 | export function registerTaskProvider() {
42 |
43 | }
44 |
45 | export function onDidOpenTextDocument(callback, params, disposes) {
46 | const realCallback = (ret) => {
47 | const { textDocument } = ret;
48 | window.activeTextEditor = {
49 | document: textDocument,
50 | }
51 | return callback.bind(params)(textDocument);
52 | };
53 |
54 | Event.addGlobalListenerEvent('onDidOpenTextDocument', realCallback);
55 | if (textDocuments.length > 0) {
56 | textDocuments.forEach((item) => {
57 | window.activeTextEditor = {
58 | document: item,
59 | }
60 | callback.bind(params)(item);
61 | })
62 | }
63 |
64 | return {
65 | dispose: () => {
66 | Event.removeGlobalListener('onDidOpenTextDocument', realCallback);
67 | }
68 | }
69 | }
70 |
71 | export function onDidCloseTextDocument(callback) {
72 | Event.addGlobalListenerEvent('onDidCloseTextDocument', callback);
73 | }
74 |
75 | export function onDidChangeTextDocument(callback, self) {
76 | Event.addGlobalListenerEvent('onDidChangeTextDocument', callback.bind(self));
77 | }
78 |
79 | export function onDidSaveTextDocument(callback) {
80 | // console.log(callback);
81 | Event.addGlobalListenerEvent('onDidSaveTextDocument', callback);
82 | }
83 |
84 | export function createFileSystemWatcher(conf) {
85 | return new Watcher(conf);
86 | }
87 |
88 | export function registerTextDocumentContentProvider(scheme, provider) {
89 |
90 | }
91 |
92 | export function didChangeConfiguration(callback, self) {
93 | Event.addGlobalListenerEvent('didChangeConfiguration', callback.bind(self));
94 | }
95 |
96 | export function openProject(path) {
97 | if (rootPath !== path && workspaceFolders.indexOf(path) === -1) {
98 | const uri = new Uri('file', '', path);
99 | rootPath = path;
100 | workspaceFolders.push({
101 | uri,
102 | name: uri.fsPath,
103 | index: workspaceFolders.length,
104 | });
105 | }
106 | }
107 |
108 | export const getConfiguration = getConf;
109 |
110 | export function setWorkspaceType (wtype) {
111 | type = wtype;
112 | }
113 |
--------------------------------------------------------------------------------
/src/ant/Event.js:
--------------------------------------------------------------------------------
1 | import Promise from 'bluebird';
2 |
3 | export class Event {
4 | constructor(type) {
5 | this._eventsMap = new Map();
6 | }
7 |
8 | addListenerEvent(event, func) {
9 | const methods = this._eventsMap.get(event) || new Set();
10 | methods.add(func);
11 | this._eventsMap.set(event, methods);
12 | }
13 |
14 | removeListener(event, func) {
15 | const methods = this._eventsMap.get(event);
16 | if (methods && methods.has(func))
17 | methods.delete(event);
18 | }
19 |
20 | removeAllListeners(event) {
21 | const methods = this._eventsMap.get(event);
22 | if (methods)
23 | methods.clear();
24 | }
25 |
26 | addListenerEventOnce(event, func) {
27 | const methods = this._eventsMap.get(event) || new Set();
28 | methods.add(() => {
29 | func();
30 | this._eventsMap.delete(event);
31 | });
32 | this._eventsMap.set(event, methods);
33 | }
34 |
35 | dispatchEvent(event, args) {
36 | const methods = this._eventsMap.get(event) || new Set();
37 | async function doPromise() {
38 | for (const method of methods.values()) {
39 | await new Promise((resolve) => {
40 | resolve(method(args));
41 | })
42 | }
43 | }
44 | doPromise();
45 | }
46 |
47 | static dispatchGlobalEvent(event, params) {
48 | globalEvent.dispatchEvent(event, params);
49 | }
50 |
51 | static addGlobalListenerEvent(event, func) {
52 | globalEvent.addListenerEvent(event, func);
53 | }
54 |
55 | static removeGlobalListener(even, func) {
56 | globalEvent.removeListener(event, func);
57 | }
58 |
59 | static removeGlobalAllListeners(event) {
60 | globalEvent.removeAllListeners(event);
61 | }
62 | }
63 |
64 | export class EventEmitter {
65 | constructor () {
66 | this._symbol = Symbol('event');
67 | this._event = null;
68 | this._callbacks = new Set();
69 | }
70 |
71 | get event() {
72 | if (!this._event) {
73 | this._event = (callback, params, disposes) => {
74 | const callbackWithArgs = { callback, params };
75 | this._callbacks.add(callbackWithArgs);
76 |
77 | const result = {
78 | dispose: () => {
79 | result.dispose = EventEmitter._noop;
80 | if (!this._disposed) {
81 | this._callbacks.delete(callbackWithArgs);
82 | /*
83 | if (this._options && this._options.onLastListenerRemove && this._callbacks.isEmpty()) {
84 | this._options.onLastListenerRemove(this);
85 | }
86 | */
87 | }
88 | }
89 | };
90 |
91 | if (Array.isArray(disposes)) {
92 | disposes.push(result);
93 | }
94 |
95 | return result;
96 | }
97 | }
98 |
99 | return this._event;
100 | }
101 |
102 | async fire() {
103 | const callbacks = this._callbacks;
104 | async function doPromise() {
105 | for (const item of callbacks.values()) {
106 | const { callback, params } = item;
107 | await new Promise((resolve) => {
108 | resolve(callback(params));
109 | })
110 | }
111 | }
112 | await doPromise();
113 | }
114 |
115 | dispose() {
116 | this._callbacks.clear();
117 | this._callbacks = undefined;
118 | this._disposed = true;
119 | }
120 | }
121 |
122 | EventEmitter._noop = () => {};
123 |
124 | const globalEvent = new Event();
125 | window.__GLOBAL_EVENT__ = globalEvent;
126 |
--------------------------------------------------------------------------------
/out/javascript/snippets/javascript.json:
--------------------------------------------------------------------------------
1 | {
2 | "define module": {
3 | "prefix": "define",
4 | "body": [
5 | "define([",
6 | "\t'require',",
7 | "\t'${1:dependency}'",
8 | "], function(require, ${2:factory}) {",
9 | "\t'use strict';",
10 | "\t$0",
11 | "});"
12 | ],
13 | "description": "define module"
14 | },
15 | "For Loop": {
16 | "prefix": "for",
17 | "body": [
18 | "for (var ${1:index} = 0; ${1:index} < ${2:array}.length; ${1:index}++) {",
19 | "\tvar ${3:element} = ${2:array}[${1:index}];",
20 | "\t$0",
21 | "}"
22 | ],
23 | "description": "For Loop"
24 | },
25 | "For-Each Loop": {
26 | "prefix": "foreach",
27 | "body": [
28 | "${1:array}.forEach(function(${2:element}) {",
29 | "\t$0",
30 | "}, this);"
31 | ],
32 | "description": "For-Each Loop"
33 | },
34 | "For-In Loop": {
35 | "prefix": "forin",
36 | "body": [
37 | "for (var ${1:key} in ${2:object}) {",
38 | "\tif (${2:object}.hasOwnProperty(${1:key})) {",
39 | "\t\tvar ${3:element} = ${2:object}[${1:key}];",
40 | "\t\t$0",
41 | "\t}",
42 | "}"
43 | ],
44 | "description": "For-In Loop"
45 | },
46 | "Function Statement": {
47 | "prefix": "function",
48 | "body": [
49 | "function ${1:name}(${2:params}) {",
50 | "\t$0",
51 | "}"
52 | ],
53 | "description": "Function Statement"
54 | },
55 | "If Statement": {
56 | "prefix": "if",
57 | "body": [
58 | "if (${1:condition}) {",
59 | "\t$0",
60 | "}"
61 | ],
62 | "description": "If Statement"
63 | },
64 | "If-Else Statement": {
65 | "prefix": "ifelse",
66 | "body": [
67 | "if (${1:condition}) {",
68 | "\t$0",
69 | "} else {",
70 | "\t",
71 | "}"
72 | ],
73 | "description": "If-Else Statement"
74 | },
75 | "New Statement": {
76 | "prefix": "new",
77 | "body": [
78 | "var ${1:name} = new ${2:type}(${3:arguments});$0"
79 | ],
80 | "description": "New Statement"
81 | },
82 | "Switch Statement": {
83 | "prefix": "switch",
84 | "body": [
85 | "switch (${1:key}) {",
86 | "\tcase ${2:value}:",
87 | "\t\t$0",
88 | "\t\tbreak;",
89 | "",
90 | "\tdefault:",
91 | "\t\tbreak;",
92 | "}"
93 | ],
94 | "description": "Switch Statement"
95 | },
96 | "While Statement": {
97 | "prefix": "while",
98 | "body": [
99 | "while (${1:condition}) {",
100 | "\t$0",
101 | "}"
102 | ],
103 | "description": "While Statement"
104 | },
105 | "Do-While Statement": {
106 | "prefix": "dowhile",
107 | "body": [
108 | "do {",
109 | "\t$0",
110 | "} while (${1:condition});"
111 | ],
112 | "description": "Do-While Statement"
113 | },
114 | "Try-Catch Statement": {
115 | "prefix": "trycatch",
116 | "body": [
117 | "try {",
118 | "\t$0",
119 | "} catch (${1:error}) {",
120 | "\t",
121 | "}"
122 | ],
123 | "description": "Try-Catch Statement"
124 | },
125 | "Set Timeout Function": {
126 | "prefix": "settimeout",
127 | "body": [
128 | "setTimeout(function() {",
129 | "\t$0",
130 | "}, ${1:timeout});"
131 | ],
132 | "description": "Set Timeout Function"
133 | },
134 | "Relative Reference to another File": {
135 | "prefix": "reference",
136 | "body": [
137 | "/// $0"
138 | ],
139 | "description": "Relative Reference to another File"
140 | },
141 | "Import external module.": {
142 | "prefix": "import statement",
143 | "body": [
144 | "import { $0 } from \"${1:module}\";"
145 | ],
146 | "description": "Import external module."
147 | }
148 | }
149 |
--------------------------------------------------------------------------------
/out/javascript/snippets/javascriptreact.json:
--------------------------------------------------------------------------------
1 | {
2 | "define module": {
3 | "prefix": "define",
4 | "body": [
5 | "define([",
6 | "\t'require',",
7 | "\t'${1:dependency}'",
8 | "], function(require, ${2:factory}) {",
9 | "\t'use strict';",
10 | "\t$0",
11 | "});"
12 | ],
13 | "description": "define module"
14 | },
15 | "For Loop": {
16 | "prefix": "for",
17 | "body": [
18 | "for (var ${1:index} = 0; ${1:index} < ${2:array}.length; ${1:index}++) {",
19 | "\tvar ${3:element} = ${2:array}[${1:index}];",
20 | "\t$0",
21 | "}"
22 | ],
23 | "description": "For Loop"
24 | },
25 | "For-Each Loop": {
26 | "prefix": "foreach",
27 | "body": [
28 | "${1:array}.forEach(function(${2:element}) {",
29 | "\t$0",
30 | "}, this);"
31 | ],
32 | "description": "For-Each Loop"
33 | },
34 | "For-In Loop": {
35 | "prefix": "forin",
36 | "body": [
37 | "for (var ${1:key} in ${2:object}) {",
38 | "\tif (${2:object}.hasOwnProperty(${1:key})) {",
39 | "\t\tvar ${3:element} = ${2:object}[${1:key}];",
40 | "\t\t$0",
41 | "\t}",
42 | "}"
43 | ],
44 | "description": "For-In Loop"
45 | },
46 | "Function Statement": {
47 | "prefix": "function",
48 | "body": [
49 | "function ${1:name}(${2:params}) {",
50 | "\t$0",
51 | "}"
52 | ],
53 | "description": "Function Statement"
54 | },
55 | "If Statement": {
56 | "prefix": "if",
57 | "body": [
58 | "if (${1:condition}) {",
59 | "\t$0",
60 | "}"
61 | ],
62 | "description": "If Statement"
63 | },
64 | "If-Else Statement": {
65 | "prefix": "ifelse",
66 | "body": [
67 | "if (${1:condition}) {",
68 | "\t$0",
69 | "} else {",
70 | "\t",
71 | "}"
72 | ],
73 | "description": "If-Else Statement"
74 | },
75 | "New Statement": {
76 | "prefix": "new",
77 | "body": [
78 | "var ${1:name} = new ${2:type}(${3:arguments});$0"
79 | ],
80 | "description": "New Statement"
81 | },
82 | "Switch Statement": {
83 | "prefix": "switch",
84 | "body": [
85 | "switch (${1:key}) {",
86 | "\tcase ${2:value}:",
87 | "\t\t$0",
88 | "\t\tbreak;",
89 | "",
90 | "\tdefault:",
91 | "\t\tbreak;",
92 | "}"
93 | ],
94 | "description": "Switch Statement"
95 | },
96 | "While Statement": {
97 | "prefix": "while",
98 | "body": [
99 | "while (${1:condition}) {",
100 | "\t$0",
101 | "}"
102 | ],
103 | "description": "While Statement"
104 | },
105 | "Do-While Statement": {
106 | "prefix": "dowhile",
107 | "body": [
108 | "do {",
109 | "\t$0",
110 | "} while (${1:condition});"
111 | ],
112 | "description": "Do-While Statement"
113 | },
114 | "Try-Catch Statement": {
115 | "prefix": "trycatch",
116 | "body": [
117 | "try {",
118 | "\t$0",
119 | "} catch (${2:error}) {",
120 | "\t",
121 | "}"
122 | ],
123 | "description": "Try-Catch Statement"
124 | },
125 | "Set Timeout Function": {
126 | "prefix": "settimeout",
127 | "body": [
128 | "setTimeout(function() {",
129 | "\t$0",
130 | "}, ${1:timeout});"
131 | ],
132 | "description": "Set Timeout Function"
133 | },
134 | "Relative Reference to another File": {
135 | "prefix": "reference",
136 | "body": [
137 | "/// $0"
138 | ],
139 | "description": "Relative Reference to another File"
140 | },
141 | "Import external module.": {
142 | "prefix": "import statement",
143 | "body": [
144 | "import { $0 } from \"${1:module}\";"
145 | ],
146 | "description": "Import external module."
147 | }
148 | }
149 |
--------------------------------------------------------------------------------
|