├── scripts ├── install.js ├── clean.js ├── utils.js ├── lark-sdk.js └── js-extra.js ├── src ├── editor │ ├── registerExtensions.js │ ├── textEditor.js │ ├── ExtensionContext.js │ ├── editorOptions.js │ ├── theme.js │ ├── uint.js │ ├── textLine.js │ └── hook.js └── ant │ ├── host.js │ ├── telemetry.js │ ├── watcher.js │ ├── extensions.js │ ├── memento.js │ ├── htmlContent.js │ ├── commands.js │ ├── index.js │ ├── snippets.js │ ├── const.d.js │ ├── window.js │ ├── promise.js │ ├── convert.js │ ├── languageSelector.js │ ├── workspace.js │ └── Event.js ├── example ├── test │ ├── test.json │ ├── test.ejs │ ├── test.jsx │ ├── test.js │ └── test.css ├── package.json ├── index.html ├── .eslintrc └── main.js ├── .gitignore ├── out ├── typescript │ ├── test │ │ └── colorize-fixtures │ │ │ └── tsconfig.json │ ├── out │ │ ├── typescriptService.js.map │ │ ├── utils │ │ │ ├── languageModeIds.js.map │ │ │ ├── is.js.map │ │ │ ├── languageModeIds.js │ │ │ ├── plugins.js.map │ │ │ ├── tsconfigProvider.js.map │ │ │ ├── is.js │ │ │ ├── convert.js.map │ │ │ ├── codeAction.js.map │ │ │ ├── convert.js │ │ │ ├── plugins.js │ │ │ ├── versionStatus.js.map │ │ │ ├── async.js.map │ │ │ ├── telemetry.js.map │ │ │ ├── tsconfig.js.map │ │ │ ├── logger.js.map │ │ │ ├── api.js.map │ │ │ ├── tsconfigProvider.js │ │ │ ├── versionStatus.js │ │ │ ├── logger.js │ │ │ ├── telemetry.js │ │ │ ├── api.js │ │ │ ├── codeAction.js │ │ │ ├── async.js │ │ │ ├── tsconfig.js │ │ │ ├── tracer.js.map │ │ │ ├── versionPicker.js.map │ │ │ ├── configuration.js.map │ │ │ └── tracer.js │ │ ├── features │ │ │ ├── definitionProvider.js.map │ │ │ ├── implementationProvider.js.map │ │ │ ├── typeDefinitionProvider.js.map │ │ │ ├── definitionProvider.js │ │ │ ├── implementationProvider.js │ │ │ ├── typeDefinitionProvider.js │ │ │ ├── previewer.js.map │ │ │ ├── definitionProviderBase.js.map │ │ │ ├── hoverProvider.js.map │ │ │ ├── referenceProvider.js.map │ │ │ ├── previewer.js │ │ │ ├── renameProvider.js.map │ │ │ ├── directiveCommentCompletionProvider.js.map │ │ │ ├── documentHighlightProvider.js.map │ │ │ ├── definitionProviderBase.js │ │ │ ├── referenceProvider.js │ │ │ ├── signatureHelpProvider.js.map │ │ │ ├── directiveCommentCompletionProvider.js │ │ │ ├── documentHighlightProvider.js │ │ │ ├── codeActionProvider.js.map │ │ │ ├── workspaceSymbolProvider.js.map │ │ │ ├── hoverProvider.js │ │ │ ├── signatureHelpProvider.js │ │ │ ├── implementationsCodeLensProvider.js.map │ │ │ ├── renameProvider.js │ │ │ ├── baseCodeLensProvider.js.map │ │ │ └── referencesCodeLensProvider.js.map │ │ ├── typescriptService.js │ │ ├── protocol.const.js.map │ │ └── protocol.const.js │ ├── schemas │ │ └── tsconfig.schema.json │ ├── tsconfig.json │ ├── language-configuration.json │ └── npm-shrinkwrap.json ├── html │ ├── client │ │ └── tsconfig.json │ ├── server │ │ ├── tsconfig.json │ │ ├── package.json │ │ └── npm-shrinkwrap.json │ ├── language-configuration.json │ ├── snippet │ │ └── html.json │ ├── npm-shrinkwrap.json │ └── package.nls.json ├── json │ ├── client │ │ └── tsconfig.json │ ├── OSSREADME.json │ ├── server │ │ ├── tsconfig.json │ │ └── package.json │ ├── test │ │ └── colorize-fixtures │ │ │ └── test.json │ ├── language-configuration.json │ ├── package.nls.json │ └── npm-shrinkwrap.json ├── css │ ├── server │ │ ├── tsconfig.json │ │ ├── package.json │ │ └── npm-shrinkwrap.json │ ├── client │ │ └── tsconfig.json │ ├── OSSREADME.json │ ├── language-configuration.json │ ├── snippets │ │ └── css.json │ └── npm-shrinkwrap.json ├── javascript │ ├── schemas │ │ └── jsconfig.schema.json │ ├── tsconfig.json │ ├── tags-language-configuration.json │ ├── javascript-language-configuration.json │ ├── npm-shrinkwrap.json │ └── snippets │ │ ├── javascript.json │ │ └── javascriptreact.json ├── less │ ├── OSSREADME.json │ ├── language-configuration.json │ └── package.json ├── emmet │ ├── OSSREADME.json │ ├── tsconfig.json │ └── npm-shrinkwrap.json ├── eslint │ ├── tsconfig.json │ └── server │ │ └── package.json ├── nunjucks │ ├── nunjucks.configuration.json │ └── package.json ├── scss │ ├── OSSREADME.json │ ├── language-configuration.json │ └── package.json ├── ejs │ ├── language-configuration.json │ ├── snippets │ │ └── ejs.json │ ├── syntaxes │ │ └── ejs.tmLanguage.json │ └── package.json └── axml │ ├── language.configure.json │ └── package.json ├── .babelrc ├── .npmignore ├── themes └── theme-defaults │ ├── themes │ ├── hc_black_defaults.json │ ├── dark_defaults.json │ ├── light_defaults.json │ ├── dark_plus.json │ └── light_plus.json │ └── package.json ├── postinstall.js ├── README.md ├── webpack.config.js ├── package.json └── INFO.CN.md /scripts/install.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/editor/registerExtensions.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/ant/host.js: -------------------------------------------------------------------------------- 1 | export default class Host { 2 | 3 | } -------------------------------------------------------------------------------- /src/editor/textEditor.js: -------------------------------------------------------------------------------- 1 | export default class TextEditor { 2 | 3 | } -------------------------------------------------------------------------------- /example/test/test.json: -------------------------------------------------------------------------------- 1 | { 2 | "one": 1, 3 | "two": 2, 4 | "three": 3 5 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | lib/ 3 | .vscode/ 4 | tmp/ 5 | extensions/ 6 | package-lock.json -------------------------------------------------------------------------------- /out/typescript/test/colorize-fixtures/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6" 4 | } 5 | } -------------------------------------------------------------------------------- /src/editor/ExtensionContext.js: -------------------------------------------------------------------------------- 1 | export const workspaceState = { 2 | get: () => { 3 | return {}; 4 | } 5 | } -------------------------------------------------------------------------------- /src/ant/telemetry.js: -------------------------------------------------------------------------------- 1 | export default class Telemetry { 2 | dispose() { 3 | 4 | } 5 | sendTelemetryEvent() {} 6 | } -------------------------------------------------------------------------------- /example/test/test.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "es2015-node", 4 | "stage-0" 5 | ], 6 | "plugins": [ 7 | "add-module-exports" 8 | ] 9 | } -------------------------------------------------------------------------------- /out/typescript/out/typescriptService.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"typescriptService.js","sourceRoot":"../src","sources":["typescriptService.ts"],"names":[],"mappings":";AAAA;;;gGAGgG"} -------------------------------------------------------------------------------- /out/html/client/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "outDir": "./out", 6 | "lib": [ 7 | "es5", "es2015.promise" 8 | ] 9 | } 10 | } -------------------------------------------------------------------------------- /out/html/server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "outDir": "./out", 6 | "lib": [ 7 | "es5", "es2015.promise" 8 | ] 9 | } 10 | } -------------------------------------------------------------------------------- /out/json/client/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "outDir": "./out", 6 | "lib": [ 7 | "es5", "es2015.promise" 8 | ] 9 | } 10 | } -------------------------------------------------------------------------------- /out/css/server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "outDir": "./out", 6 | "lib": [ 7 | "es5" 8 | ] 9 | }, 10 | "include": [ 11 | "src/**/*" 12 | ] 13 | } -------------------------------------------------------------------------------- /out/javascript/schemas/jsconfig.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "JSON schema for the JavaScript configuration file", 3 | "type": "object", 4 | "default": { 5 | "compilerOptions": { 6 | "target": "es6" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /out/javascript/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "outDir": "./out", 6 | "lib": [ 7 | "es2015" 8 | ] 9 | }, 10 | "include": [ 11 | "src/**/*" 12 | ] 13 | } -------------------------------------------------------------------------------- /out/css/client/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "outDir": "./out", 6 | "lib": [ 7 | "es5", "es2015.promise" 8 | ] 9 | }, 10 | "include": [ 11 | "src/**/*" 12 | ] 13 | } -------------------------------------------------------------------------------- /out/less/OSSREADME.json: -------------------------------------------------------------------------------- 1 | // ATTENTION - THIS DIRECTORY CONTAINS THIRD PARTY OPEN SOURCE MATERIALS: 2 | [{ 3 | "name": "language-less", 4 | "version": "0.0.0", 5 | "license": "MIT", 6 | "repositoryURL": "https://github.com/atom/language-less" 7 | }] 8 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | src/ 3 | scripts/ 4 | plugins/ 5 | webpack.config.js 6 | tsconfig.json 7 | .vscode/ 8 | tmp/ 9 | example/ 10 | out-extensions/ 11 | gulpfile.js 12 | .babelrc 13 | INFO.CN.md 14 | package-lock.json 15 | extensions/ 16 | **/*.map -------------------------------------------------------------------------------- /out/emmet/OSSREADME.json: -------------------------------------------------------------------------------- 1 | // ATTENTION - THIS DIRECTORY CONTAINS THIRD PARTY OPEN SOURCE MATERIALS: 2 | [{ 3 | "name": "expand-abbreviation", 4 | "version": "0.5.8", 5 | "license": "MIT", 6 | "repositoryURL": "https://github.com/emmetio/expand-abbreviation" 7 | } 8 | ] 9 | -------------------------------------------------------------------------------- /out/json/OSSREADME.json: -------------------------------------------------------------------------------- 1 | // ATTENTION - THIS DIRECTORY CONTAINS THIRD PARTY OPEN SOURCE MATERIALS: 2 | [{ 3 | "name": "Benvie/JavaScriptNext.tmLanguage", 4 | "version": "0.0.0", 5 | "license": "MIT", 6 | "repositoryURL": "https://github.com/Microsoft/vscode-JSON.tmLanguage" 7 | }] -------------------------------------------------------------------------------- /themes/theme-defaults/themes/hc_black_defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "vscode://schemas/color-theme", 3 | "name": "High Contrast Default Colors", 4 | "colors": { 5 | "editorBackground": "#000000", 6 | "editorForeground": "#FFFFFF", 7 | "editorGuide": "#FFFFFF" 8 | } 9 | } -------------------------------------------------------------------------------- /out/typescript/schemas/tsconfig.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "JSON schema for the JavaScript configuration file", 3 | "type": "object", 4 | "default": { 5 | "compilerOptions": { 6 | "module": "commonjs" 7 | }, 8 | "exclude": [ 9 | "node_modules" 10 | ] 11 | } 12 | } -------------------------------------------------------------------------------- /out/emmet/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", 4 | "lib": [ 5 | "es2016" 6 | ], 7 | "module": "commonjs", 8 | "outDir": "./out" 9 | 10 | }, 11 | "exclude": [ 12 | "node_modules", 13 | ".vscode-test" 14 | ], 15 | "include": [ 16 | "src/**/*" 17 | ] 18 | } -------------------------------------------------------------------------------- /out/json/server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "sourceMap": true, 6 | "sourceRoot": "../src", 7 | "outDir": "./out", 8 | "lib": [ 9 | "es5", "es2015.promise" 10 | ] 11 | }, 12 | "include": [ 13 | "src/**/*" 14 | ] 15 | } -------------------------------------------------------------------------------- /src/ant/watcher.js: -------------------------------------------------------------------------------- 1 | import { Event } from './Event'; 2 | 3 | export default class FileSystemWatcher { 4 | constructor(config) { 5 | this._config = config; 6 | } 7 | 8 | onDidCreate() { 9 | 10 | } 11 | 12 | onDidDelete() { 13 | 14 | } 15 | 16 | onDidChange() { 17 | 18 | } 19 | } -------------------------------------------------------------------------------- /out/typescript/out/utils/languageModeIds.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"languageModeIds.js","sourceRoot":"../../src","sources":["utils/languageModeIds.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEnF,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,eAAe,GAAG,iBAAiB,CAAC"} -------------------------------------------------------------------------------- /out/json/test/colorize-fixtures/test.json: -------------------------------------------------------------------------------- 1 | { 2 | // a comment 3 | "options": { 4 | "myBool": true, 5 | "myInteger": 1, 6 | "myString": "String\u0056", 7 | "myNumber": 1.24, 8 | "myNull": null, 9 | "myArray": [ 1, "Hello", true, null, [], {}], 10 | "myObject" : { 11 | "foo": "bar" 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /src/ant/extensions.js: -------------------------------------------------------------------------------- 1 | let allExtensions = []; 2 | const extensions = new Map(); 3 | 4 | export function addExtension (id, ext) { 5 | extensions.set(id, ext); 6 | allExtensions = extensions.values(); 7 | } 8 | 9 | function getExtension (id) { 10 | return extensions.get(id); 11 | } 12 | 13 | export const all = allExtensions; -------------------------------------------------------------------------------- /example/test/test.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export default content = ( 4 | 13 | ); -------------------------------------------------------------------------------- /themes/theme-defaults/themes/dark_defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "vscode://schemas/color-theme", 3 | "name": "Dark Default Colors", 4 | "colors": { 5 | "editorBackground": "#1e1e1e", 6 | "editorForeground": "#D4D4D4", 7 | "editorInactiveSelection": "#3A3D41", 8 | "editorGuide": "#404040", 9 | "editorSelectionHighlightColor": "#add6ff26" 10 | } 11 | } -------------------------------------------------------------------------------- /themes/theme-defaults/themes/light_defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "vscode://schemas/color-theme", 3 | "name": "Light Default Colors", 4 | "colors": { 5 | "editorBackground": "#ffffff", 6 | "editorForeground": "#000000", 7 | "editorInactiveSelection": "#E5EBF1", 8 | "editorGuide": "#d3d3d3", 9 | "editorSelectionHighlightColor": "#add6ff4d" 10 | } 11 | } -------------------------------------------------------------------------------- /out/typescript/out/features/definitionProvider.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"definitionProvider.js","sourceRoot":"../../src","sources":["features/definitionProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAIhG,qEAA8D;AAE9D,kCAAkD,SAAQ,gCAAsB;IACxE,iBAAiB,CAAC,QAAsB,EAAE,QAAkB,EAAE,KAAkC;QACtG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;CACD;AAJD,+CAIC"} -------------------------------------------------------------------------------- /out/eslint/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es6", 5 | "outDir": "out", 6 | "lib": [ "es6" ], 7 | "sourceMap": true, 8 | "noImplicitAny": true, 9 | "noImplicitReturns": true, 10 | "noUnusedLocals": true, 11 | "noUnusedParameters": true 12 | }, 13 | "exclude": [ 14 | "node_modules", 15 | "server" 16 | ] 17 | } -------------------------------------------------------------------------------- /out/typescript/out/features/implementationProvider.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"implementationProvider.js","sourceRoot":"../../src","sources":["features/implementationProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAIhG,qEAA8D;AAE9D,sCAAsD,SAAQ,gCAAsB;IAC5E,qBAAqB,CAAC,QAAsB,EAAE,QAAkB,EAAE,KAAkC;QAC1G,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;CACD;AAJD,mDAIC"} -------------------------------------------------------------------------------- /out/typescript/out/features/typeDefinitionProvider.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"typeDefinitionProvider.js","sourceRoot":"../../src","sources":["features/typeDefinitionProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAIhG,qEAA8D;AAE9D,sCAAsD,SAAQ,gCAAsB;IAC5E,qBAAqB,CAAC,QAAsB,EAAE,QAAkB,EAAE,KAAkC;QAC1G,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;CACD;AAJD,mDAIC"} -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "main.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "scripts": { 10 | "test": "echo \"Error: no test specified\" && exit 1" 11 | }, 12 | "author": "", 13 | "license": "ISC", 14 | "devDependencies": { 15 | "eslint": "^4.6.1", 16 | "@types/node": "*" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/ant/memento.js: -------------------------------------------------------------------------------- 1 | import Promise from 'bluebird'; 2 | 3 | export default class Memento { 4 | constructor() { 5 | this._storage = new Map(); 6 | } 7 | 8 | get (key, defaultValue) { 9 | return this._storage.get(key) || defaultValue; 10 | } 11 | 12 | update(key, value) { 13 | return new Promise((resolve) => { 14 | this._storage.set(key, value); 15 | resolve(true); 16 | }) 17 | } 18 | } -------------------------------------------------------------------------------- /example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ant Monaco 6 | 11 | 12 | 13 | 14 | 15 | 19 | -------------------------------------------------------------------------------- /out/typescript/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", 4 | "module": "commonjs", 5 | "lib": [ 6 | "es6", 7 | "es2015.promise" 8 | ], 9 | "outDir": "./out", 10 | "strictNullChecks": true, 11 | "noImplicitAny": true, 12 | "noImplicitReturns": true, 13 | "noUnusedLocals": true, 14 | "noUnusedParameters": true, 15 | "strict": true, 16 | "alwaysStrict": true 17 | }, 18 | "include": [ 19 | "src/**/*" 20 | ] 21 | } -------------------------------------------------------------------------------- /out/typescript/out/utils/is.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"is.js","sourceRoot":"../../src","sources":["utils/is.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEhG,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AAE3C,iBAAwB,KAAU;IACjC,MAAM,CAAC,OAAO,KAAK,KAAK,WAAW,CAAC;AACrC,CAAC;AAFD,0BAEC;AAED,iBAAwB,KAAU;IACjC,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC;AAC1C,CAAC;AAFD,0BAEC;AAED,gBAAuB,KAAU;IAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAAC;AACnD,CAAC;AAFD,wBAEC"} -------------------------------------------------------------------------------- /postinstall.js: -------------------------------------------------------------------------------- 1 | // FIX ME 2 | const { readFileSync, appendFileSync } = require('fs'); 3 | 4 | const noAbridge = process.env.NO_ABRIDGE || 0; 5 | 6 | if (!noAbridge) { 7 | const abridgeTypesPath = require.resolve('antbridge/lib.abridge.d.ts'); 8 | const typescriptEs6 = require.resolve('typescript/lib/lib.es6.d.ts'); 9 | const abridgeTypesText = readFileSync(abridgeTypesPath).toString('utf-8'); 10 | 11 | appendFileSync(typescriptEs6, abridgeTypesText); 12 | } 13 | -------------------------------------------------------------------------------- /out/typescript/out/typescriptService.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 | -------------------------------------------------------------------------------- /out/css/OSSREADME.json: -------------------------------------------------------------------------------- 1 | // ATTENTION - THIS DIRECTORY CONTAINS THIRD PARTY OPEN SOURCE MATERIALS: 2 | [{ 3 | "name": "atom/language-css", 4 | "version": "0.0.0", 5 | "license": "MIT", 6 | "repositoryURL": "https://github.com/atom/language-css", 7 | "description": "The file syntaxes/css.tmLanguage.json was derived from the Atom package https://github.com/atom/language-css which was originally converted from the TextMate bundle https://github.com/textmate/css.tmbundle." 8 | 9 | }] 10 | -------------------------------------------------------------------------------- /out/nunjucks/nunjucks.configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | // symbol used for single line comment. Remove this entry if your language does not support line comments 4 | //"lineComment": "{#", 5 | // symbols used for start and end a block comment. Remove this entry if your language does not support block comments 6 | "blockComment": [ "{#", "#}" ] 7 | }, 8 | // symbols used as brackets 9 | "brackets": [ 10 | ["{", "}"], 11 | ["[", "]"], 12 | ["(", ")"] 13 | ] 14 | } -------------------------------------------------------------------------------- /out/scss/OSSREADME.json: -------------------------------------------------------------------------------- 1 | // ATTENTION - THIS DIRECTORY CONTAINS THIRD PARTY OPEN SOURCE MATERIALS: 2 | [ 3 | { 4 | "name": "atom/language-sass", 5 | "version": "0.52.0", 6 | "license": "MIT", 7 | "repositoryURL": "https://github.com/atom/language-sass", 8 | "description": "The file syntaxes/scss.json was derived from the Atom package https://github.com/atom/language-sass which was originally converted from the TextMate bundle https://github.com/alexsancho/SASS.tmbundle." 9 | } 10 | ] -------------------------------------------------------------------------------- /out/ejs/language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "blockComment": [ "<%#", "%>" ] 4 | }, 5 | "brackets": [ 6 | ["<", ">"] 7 | ], 8 | "autoClosingPairs": [ 9 | ["{", "}"], 10 | ["[", "]"], 11 | ["(", ")"], 12 | ["\"", "\""], 13 | ["'", "'"] 14 | ], 15 | "surroundingPairs": [ 16 | ["{", "}"], 17 | ["[", "]"], 18 | ["(", ")"], 19 | ["\"", "\""], 20 | ["'", "'"] 21 | ] 22 | } -------------------------------------------------------------------------------- /scripts/clean.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs-extra'); 2 | const chalk = require('chalk'); 3 | const package = require('../package.json'); 4 | 5 | if (package.main !== 'lib/index.min.js') { 6 | throw new Error('Please set main entry to "lib/index.min.js".'); 7 | } 8 | 9 | console.log(chalk.green('remove lib/index.js')); 10 | fs.removeSync('./lib/index.js'); 11 | 12 | console.log(chalk.green('remove lib/main.js')); 13 | fs.removeSync('./lib/main.js'); 14 | 15 | console.log(chalk.green('clean success, ready for publish')); -------------------------------------------------------------------------------- /example/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "commonjs": true, 5 | "es6": true, 6 | "node": true 7 | }, 8 | "parserOptions": { 9 | "ecmaFeatures": { 10 | "jsx": true 11 | }, 12 | "sourceType": "module" 13 | }, 14 | "rules": { 15 | "no-const-assign": "warn", 16 | "no-this-before-super": "warn", 17 | "no-undef": "warn", 18 | "no-unreachable": "warn", 19 | "no-unused-vars": "warn", 20 | "constructor-super": "warn", 21 | "valid-typeof": "warn" 22 | } 23 | } -------------------------------------------------------------------------------- /example/test/test.js: -------------------------------------------------------------------------------- 1 | 2 | // 获取应用实例 3 | const app = getApp(); 4 | 5 | Page({ 6 | data: { 7 | motto: 'Hello World 4', 8 | userInfo: {}, 9 | }, 10 | // 事件处理函数 11 | bindViewTap() { 12 | abridge.navigateTo({ 13 | url: '../logs/logs', 14 | }) 15 | 16 | 17 | }, 18 | onLoad() { 19 | console.log('onLoad'); 20 | // 调用应用实例的方法获取全局数据 21 | app.getUserInfo((userInfo) => { 22 | console.warn(`==== ${JSON.stringify(userInfo)}`); 23 | // 更新数据 24 | this.setData({ 25 | userInfo, 26 | }); 27 | }); 28 | }, 29 | }); 30 | -------------------------------------------------------------------------------- /out/json/language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "lineComment": "//", 4 | "blockComment": [ "/*", "*/" ] 5 | }, 6 | "brackets": [ 7 | ["{", "}"], 8 | ["[", "]"] 9 | ], 10 | "autoClosingPairs": [ 11 | { "open": "{", "close": "}", "notIn": ["string"] }, 12 | { "open": "[", "close": "]", "notIn": ["string"] }, 13 | { "open": "(", "close": ")", "notIn": ["string"] }, 14 | { "open": "'", "close": "'", "notIn": ["string"] }, 15 | { "open": "\"", "close": "\"", "notIn": ["string", "comment"] }, 16 | { "open": "`", "close": "`", "notIn": ["string", "comment"] } 17 | ] 18 | } -------------------------------------------------------------------------------- /src/editor/editorOptions.js: -------------------------------------------------------------------------------- 1 | export default { 2 | folding: true, 3 | fontSize: 12, 4 | tabSize: 2, 5 | parameterHints: true, 6 | autoClosingBrackets: true, 7 | renderWhitespace: 'none', 8 | wordWrap: 'off', 9 | cursorStyle: 'line', 10 | fontFamily: "Menlo, Monaco, 'Courier New', monospace", 11 | scrollbar: { 12 | verticalScrollbarSize: 6, 13 | horizontalScrollbarSize: 6, 14 | }, 15 | suggestOnTriggerCharacters: true, 16 | acceptSuggestionOnEnter: 'on', 17 | renderIndentGuides: true, 18 | insertSpaces: true, 19 | detectIndentation: false, 20 | minimap: { 21 | enabled: false, 22 | } 23 | }; -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Electron Monaco Editor 2 | 3 | This monaco is from vscode monaco-editor, but I add a tokenize2 api for this monaco and allow it to use Uint32Array directly. 4 | Mostly it will be used with vscode-textmat under electron or nw.js. 5 | And it can use vscode language extensions and theme extensions directly. 6 | 7 | # Install 8 | 9 | ```bash 10 | npm i 11 | 12 | npm run rebuild 13 | ``` 14 | 15 | # Start 16 | 17 | run example, you can drag file into editor. 18 | ```bash 19 | npm run start 20 | ``` 21 | 22 | # build 23 | 24 | ```bash 25 | npm run build 26 | ``` 27 | 28 | # watch 29 | 30 | ```bash 31 | npm run dev 32 | ``` 33 | -------------------------------------------------------------------------------- /src/ant/htmlContent.js: -------------------------------------------------------------------------------- 1 | export class MarkdownString { 2 | constructor(value) { 3 | this.value = value || ''; 4 | } 5 | 6 | appendText(value) { 7 | // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash 8 | this.value += value.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); 9 | return this; 10 | } 11 | 12 | appendMarkdown(value) { 13 | this.value += value; 14 | return this; 15 | } 16 | 17 | appendCodeblock(langId, code) { 18 | this.value += '\n```'; 19 | this.value += langId; 20 | this.value += '\n'; 21 | this.value += code; 22 | this.value += '\n```\n'; 23 | return this; 24 | } 25 | } -------------------------------------------------------------------------------- /out/ejs/snippets/ejs.json: -------------------------------------------------------------------------------- 1 | { 2 | "For Loop": { 3 | "prefix": "for ...", 4 | "body": [ 5 | "<% for (var ${1:i} = 0, len = ${2:array}.length; ${1:i} < len; ${1:i}++) { %>", 6 | "\t$0", 7 | "<% } %>" 8 | ] 9 | }, 10 | "Output Escaped": { 11 | "prefix": "output escaped ...", 12 | "body": [ 13 | "<%= ${1:variable} %>" 14 | ] 15 | }, 16 | "Output Unescaped": { 17 | "prefix": "output unescaped ...", 18 | "body": [ 19 | "<%- ${1:variable} %>" 20 | ] 21 | }, 22 | "Comment": { 23 | "prefix": "comment ...", 24 | "body": [ 25 | "<%# ${1:comment} %>" 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/ant/commands.js: -------------------------------------------------------------------------------- 1 | const commandsMap = new Map(); 2 | 3 | export function registerCommand(id, callback) { 4 | commandsMap.set(id, callback); 5 | 6 | return { 7 | dispose: () => { 8 | commandsMap.delete(id); 9 | } 10 | } 11 | } 12 | 13 | export function executeCommand() { 14 | const id = arguments[0]; 15 | const params = Array.prototype.slice.call(arguments); 16 | const method = commandsMap.get(id); 17 | 18 | if (method) 19 | method.apply(this, params); 20 | } 21 | 22 | export function getCommands() { 23 | return commandsMap.keys(); 24 | } 25 | 26 | export function registerTextEditorCommand() { 27 | // noop 28 | } 29 | -------------------------------------------------------------------------------- /out/html/language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "blockComment": [ "" ] 4 | }, 5 | "brackets": [ 6 | [""], 7 | ["<", ">"], 8 | ["{", "}"], 9 | ["(", ")"] 10 | ], 11 | "autoClosingPairs": [ 12 | { "open": "{", "close": "}"}, 13 | { "open": "[", "close": "]"}, 14 | { "open": "(", "close": ")" }, 15 | { "open": "'", "close": "'" }, 16 | { "open": "\"", "close": "\"" } 17 | ], 18 | "surroundingPairs": [ 19 | { "open": "'", "close": "'" }, 20 | { "open": "\"", "close": "\"" }, 21 | { "open": "{", "close": "}"}, 22 | { "open": "[", "close": "]"}, 23 | { "open": "(", "close": ")" }, 24 | { "open": "<", "close": ">" } 25 | ] 26 | } -------------------------------------------------------------------------------- /out/html/snippet/html.json: -------------------------------------------------------------------------------- 1 | { 2 | "HTML template": { 3 | "prefix": "html", 4 | "body": [ 5 | "", 6 | "", 7 | "", 8 | " ", 9 | " ", 10 | " {{Page Title}}", 11 | " ", 12 | " ", 13 | " ", 14 | "", 15 | "", 16 | " {{}}", 17 | "", 18 | "" 19 | ], 20 | "description": "Simple HTML5 starting point" 21 | } 22 | } -------------------------------------------------------------------------------- /out/css/language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "blockComment": ["/*", "*/"] 4 | }, 5 | "brackets": [ 6 | ["{", "}"], 7 | ["[", "]"], 8 | ["(", ")"] 9 | ], 10 | "autoClosingPairs": [ 11 | { "open": "{", "close": "}", "notIn": ["string", "comment"] }, 12 | { "open": "[", "close": "]", "notIn": ["string", "comment"] }, 13 | { "open": "(", "close": ")", "notIn": ["string", "comment"] }, 14 | { "open": "\"", "close": "\"", "notIn": ["string", "comment"] }, 15 | { "open": "'", "close": "'", "notIn": ["string", "comment"] } 16 | ], 17 | "surroundingPairs": [ 18 | ["{", "}"], 19 | ["[", "]"], 20 | ["(", ")"], 21 | ["\"", "\""], 22 | ["'", "'"] 23 | ] 24 | } -------------------------------------------------------------------------------- /out/javascript/tags-language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "blockComment": [ "{/*", "*/}" ] 4 | }, 5 | "brackets": [ 6 | ["{", "}"], 7 | ["[", "]"], 8 | ["(", ")"], 9 | ["<", ">"] 10 | ], 11 | "autoClosingPairs": [ 12 | { "open": "{", "close": "}" }, 13 | { "open": "[", "close": "]" }, 14 | { "open": "(", "close": ")" }, 15 | { "open": "'", "close": "'", "notIn": ["string", "comment"] }, 16 | { "open": "\"", "close": "\"", "notIn": ["string"] }, 17 | { "open": "/**", "close": " */", "notIn": ["string"] } 18 | ], 19 | "surroundingPairs": [ 20 | ["{", "}"], 21 | ["[", "]"], 22 | ["(", ")"], 23 | ["<", ">"], 24 | ["'", "'"], 25 | ["\"", "\""] 26 | ] 27 | } -------------------------------------------------------------------------------- /out/typescript/out/utils/languageModeIds.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 | exports.typescript = 'typescript'; 8 | exports.typescriptreact = 'typescriptreact'; 9 | exports.javascript = 'javascript'; 10 | exports.javascriptreact = 'javascriptreact'; 11 | //# sourceMappingURL=languageModeIds.js.map -------------------------------------------------------------------------------- /out/scss/language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "blockComment": ["/*", "*/"], 4 | "lineComment": "//" 5 | }, 6 | "brackets": [ 7 | ["{", "}"], 8 | ["[", "]"], 9 | ["(", ")"] 10 | ], 11 | "autoClosingPairs": [ 12 | { "open": "{", "close": "}", "notIn": ["string", "comment"] }, 13 | { "open": "[", "close": "]", "notIn": ["string", "comment"] }, 14 | { "open": "(", "close": ")", "notIn": ["string", "comment"] }, 15 | { "open": "\"", "close": "\"", "notIn": ["string", "comment"] }, 16 | { "open": "'", "close": "'", "notIn": ["string", "comment"] } 17 | ], 18 | "surroundingPairs": [ 19 | ["{", "}"], 20 | ["[", "]"], 21 | ["(", ")"], 22 | ["\"", "\""], 23 | ["'", "'"] 24 | ] 25 | } -------------------------------------------------------------------------------- /out/axml/language.configure.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "blockComment": [ "" ] 4 | }, 5 | "brackets": [ 6 | [""], 7 | ["<", ">"], 8 | ["{", "}"], 9 | ["(", ")"] 10 | ], 11 | "autoClosingPairs": [ 12 | { "open": "{", "close": "}"}, 13 | { "open": "[", "close": "]"}, 14 | { "open": "(", "close": ")" }, 15 | { "open": "'", "close": "'" }, 16 | { "open": "\"", "close": "\"" } 17 | ], 18 | "surroundingPairs": [ 19 | { "open": "'", "close": "'" }, 20 | { "open": "\"", "close": "\"" }, 21 | { "open": "{", "close": "}"}, 22 | { "open": "[", "close": "]"}, 23 | { "open": "(", "close": ")" }, 24 | { "open": "<", "close": ">" } 25 | ] 26 | } -------------------------------------------------------------------------------- /out/eslint/server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eslint-server", 3 | "version": "1.2.1", 4 | "author": "Microsoft Corporation", 5 | "license": "MIT", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/Microsoft/vscode-eslint.git" 9 | }, 10 | "bugs": { 11 | "url": "https://github.com/Microsoft/vscode-eslint/issues" 12 | }, 13 | "engines": { 14 | "node": "*" 15 | }, 16 | "dependencies": { 17 | "vscode-uri": "^1.0.1", 18 | "vscode-languageserver": "^3.3.0" 19 | }, 20 | "scripts": { 21 | "compile": "installServerIntoExtension ../eslint ./package.json ./src/tsconfig.json && tsc -p ./src", 22 | "watch": "installServerIntoExtension ../eslint ./package.json ./src/tsconfig.json && tsc --watch -p ./src" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /scripts/utils.js: -------------------------------------------------------------------------------- 1 | exports.makeCompletion = (completion, entry) => { 2 | if (completion.length === 2) { 3 | if (entry) { 4 | return completion[1].split('.')[1].split('(')[0]; 5 | } else { 6 | return completion[1].split('(')[0]; 7 | } 8 | } else { 9 | const method = completion[0].split('\t')[0]; 10 | return `${method}`; 11 | } 12 | } 13 | 14 | exports.CompletionItemKind = { 15 | Text : 0, 16 | operation : 1, 17 | Function : 2, 18 | Constructor : 3, 19 | Field : 4, 20 | Variable : 5, 21 | Class : 6, 22 | Interface : 7, 23 | Module : 8, 24 | property : 9, 25 | Unit : 10, 26 | Value : 11, 27 | Enum : 12, 28 | Keyword : 13, 29 | Snippet : 14, 30 | Color : 15, 31 | File : 16, 32 | Reference : 17, 33 | Folder : 18, 34 | } -------------------------------------------------------------------------------- /out/typescript/language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "lineComment": "//", 4 | "blockComment": [ "/*", "*/" ] 5 | }, 6 | "brackets": [ 7 | ["{", "}"], 8 | ["[", "]"], 9 | ["(", ")"] 10 | ], 11 | "autoClosingPairs": [ 12 | { "open": "{", "close": "}" }, 13 | { "open": "[", "close": "]" }, 14 | { "open": "(", "close": ")" }, 15 | { "open": "'", "close": "'", "notIn": ["string", "comment"] }, 16 | { "open": "\"", "close": "\"", "notIn": ["string"] }, 17 | { "open": "`", "close": "`", "notIn": ["string", "comment"] }, 18 | { "open": "/**", "close": " */", "notIn": ["string"] } 19 | ], 20 | "surroundingPairs": [ 21 | ["{", "}"], 22 | ["[", "]"], 23 | ["(", ")"], 24 | ["'", "'"], 25 | ["\"", "\""], 26 | ["`", "`"] 27 | ] 28 | } -------------------------------------------------------------------------------- /out/javascript/javascript-language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "lineComment": "//", 4 | "blockComment": [ "/*", "*/" ] 5 | }, 6 | "brackets": [ 7 | ["{", "}"], 8 | ["[", "]"], 9 | ["(", ")"] 10 | ], 11 | "autoClosingPairs": [ 12 | { "open": "{", "close": "}" }, 13 | { "open": "[", "close": "]" }, 14 | { "open": "(", "close": ")" }, 15 | { "open": "'", "close": "'", "notIn": ["string", "comment"] }, 16 | { "open": "\"", "close": "\"", "notIn": ["string"] }, 17 | { "open": "`", "close": "`", "notIn": ["string", "comment"] }, 18 | { "open": "/**", "close": " */", "notIn": ["string"] } 19 | ], 20 | "surroundingPairs": [ 21 | ["{", "}"], 22 | ["[", "]"], 23 | ["(", ")"], 24 | ["'", "'"], 25 | ["\"", "\""], 26 | ["`", "`"] 27 | ] 28 | } -------------------------------------------------------------------------------- /out/typescript/out/utils/plugins.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"plugins.js","sourceRoot":"../../src","sources":["utils/plugins.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEhG,mCAAoC;AASpC;IACC,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,GAAG,CAAC,CAAC,MAAM,SAAS,IAAI,mBAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC;QACnC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,uBAAuB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAC7H,GAAG,CAAC,CAAC,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,SAAS,CAAC,aAAa;oBAC7B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAS,GAAG,EAAE;iBAClE,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IACD,MAAM,CAAC,OAAO,CAAC;AAChB,CAAC;AAfD,sFAeC"} -------------------------------------------------------------------------------- /out/typescript/out/utils/tsconfigProvider.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"tsconfigProvider.js","sourceRoot":"../../src","sources":["utils/tsconfigProvider.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;;;gGAGgG;AAChG,iCAAiC;AAOjC;IACc,sBAAsB;;YAClC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,EAAE,CAAC;YACX,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;YAC5C,GAAG,CAAC,CAAC,MAAM,MAAM,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAClG,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACzD,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;wBAC1B,IAAI,EAAE,MAAM,CAAC,MAAM;wBACnB,eAAe,EAAE,IAAI;qBACrB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC;KAAA;CACD;AAjBD,mCAiBC"} -------------------------------------------------------------------------------- /src/ant/index.js: -------------------------------------------------------------------------------- 1 | import * as extensions from './extensions'; 2 | import * as commands from './commands'; 3 | import * as workspace from './workspace'; 4 | import window from './window'; 5 | import languages from './languages'; 6 | import { EventEmitter } from './Event'; 7 | import { IndentAction } from './const.d'; 8 | import Promise from 'bluebird'; 9 | import { MarkdownString } from './htmlContent'; 10 | import * as types from './types'; 11 | 12 | export default { 13 | env: { 14 | APPINSIGHTS_INSTRUMENTATIONKEY: 'antmonacoown' 15 | }, 16 | ...types, 17 | 18 | // features 19 | extensions, 20 | commands, 21 | workspace, 22 | window, 23 | languages, 24 | 25 | // unknow 26 | MarkdownString, 27 | 28 | // event 29 | EventEmitter, 30 | 31 | // const 32 | IndentAction, 33 | } -------------------------------------------------------------------------------- /out/less/language-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "blockComment": ["/*", "*/"], 4 | "lineComment": "//" 5 | }, 6 | "brackets": [ 7 | ["{", "}"], 8 | ["[", "]"], 9 | ["(", ")"] 10 | ], 11 | "autoClosingPairs": [ 12 | { "open": "{", "close": "}", "notIn": ["string", "comment"] }, 13 | { "open": "[", "close": "]", "notIn": ["string", "comment"] }, 14 | { "open": "(", "close": ")", "notIn": ["string", "comment"] }, 15 | { "open": "\"", "close": "\"", "notIn": ["string", "comment"] }, 16 | { "open": "'", "close": "'", "notIn": ["string", "comment"] } 17 | ], 18 | "surroundingPairs": [ 19 | ["{", "}"], 20 | ["[", "]"], 21 | ["(", ")"], 22 | ["\"", "\""], 23 | ["'", "'"] 24 | ], 25 | "indentationRules": { 26 | "increaseIndentPattern": "(^.*\\{[^}]*$)", 27 | "decreaseIndentPattern": "^\\s*\\}" 28 | } 29 | } -------------------------------------------------------------------------------- /example/main.js: -------------------------------------------------------------------------------- 1 | const electron = require('electron') 2 | 3 | const app = electron.app 4 | const BrowserWindow = electron.BrowserWindow 5 | 6 | const path = require('path') 7 | const url = require('url') 8 | 9 | let mainWindow 10 | 11 | function createWindow () { 12 | mainWindow = new BrowserWindow({width: 800, height: 600}) 13 | 14 | mainWindow.loadURL(url.format({ 15 | pathname: path.join(__dirname, 'index.html'), 16 | protocol: 'file:', 17 | slashes: true 18 | })) 19 | 20 | mainWindow.on('closed', function () { 21 | mainWindow = null 22 | }) 23 | } 24 | 25 | app.on('ready', createWindow) 26 | 27 | app.on('window-all-closed', function () { 28 | if (process.platform !== 'darwin') { 29 | app.quit() 30 | } 31 | }) 32 | 33 | app.on('activate', function () { 34 | if (mainWindow === null) { 35 | createWindow() 36 | } 37 | }) 38 | -------------------------------------------------------------------------------- /out/typescript/out/utils/is.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 toString = Object.prototype.toString; 8 | function defined(value) { 9 | return typeof value !== 'undefined'; 10 | } 11 | exports.defined = defined; 12 | function boolean(value) { 13 | return value === true || value === false; 14 | } 15 | exports.boolean = boolean; 16 | function string(value) { 17 | return toString.call(value) === '[object String]'; 18 | } 19 | exports.string = string; 20 | -------------------------------------------------------------------------------- /out/typescript/out/features/definitionProvider.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 definitionProviderBase_1 = require("./definitionProviderBase"); 8 | class TypeScriptDefinitionProvider extends definitionProviderBase_1.default { 9 | constructor(client) { 10 | super(client); 11 | } 12 | provideDefinition(document, position, token) { 13 | return this.getSymbolLocations('definition', document, position, token); 14 | } 15 | } 16 | exports.default = TypeScriptDefinitionProvider; 17 | -------------------------------------------------------------------------------- /src/editor/theme.js: -------------------------------------------------------------------------------- 1 | const lightThemeDefaults = require('../../themes/theme-defaults/themes/light_defaults.json'); 2 | const lightTheme = require('../../themes/theme-defaults/themes/light_vs.json'); 3 | const lightThemePlus = require('../../themes/theme-defaults/themes/light_plus.json'); 4 | 5 | const darkThemeDefaults = require('../../themes/theme-defaults/themes/dark_defaults.json'); 6 | const darkTheme = require('../../themes/theme-defaults/themes/dark_vs.json'); 7 | const darkThemePlus = require('../../themes/theme-defaults/themes/dark_plus.json'); 8 | 9 | export const dark = { 10 | tokens: [].concat(darkTheme.tokenColors, darkThemePlus.tokenColors), 11 | theme: darkThemeDefaults, 12 | defaults: darkThemeDefaults.colors, 13 | }; 14 | 15 | export const light = { 16 | tokens: [].concat(lightTheme.tokenColors, lightThemePlus.tokenColors), 17 | theme: lightThemeDefaults, 18 | defaults: lightThemeDefaults.colors, 19 | } -------------------------------------------------------------------------------- /out/typescript/out/features/implementationProvider.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 definitionProviderBase_1 = require("./definitionProviderBase"); 8 | class TypeScriptImplementationProvider extends definitionProviderBase_1.default { 9 | constructor(client) { 10 | super(client); 11 | } 12 | provideImplementation(document, position, token) { 13 | return this.getSymbolLocations('implementation', document, position, token); 14 | } 15 | } 16 | exports.default = TypeScriptImplementationProvider; 17 | -------------------------------------------------------------------------------- /out/typescript/out/features/typeDefinitionProvider.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 definitionProviderBase_1 = require("./definitionProviderBase"); 8 | class TypeScriptTypeDefinitionProvider extends definitionProviderBase_1.default { 9 | constructor(client) { 10 | super(client); 11 | } 12 | provideTypeDefinition(document, position, token) { 13 | return this.getSymbolLocations('typeDefinition', document, position, token); 14 | } 15 | } 16 | exports.default = TypeScriptTypeDefinitionProvider; 17 | -------------------------------------------------------------------------------- /out/typescript/out/protocol.const.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"protocol.const.js","sourceRoot":"../src","sources":["protocol.const.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEhG;;AACwB,UAAK,GAAG,OAAO,CAAC;AAChB,kBAAa,GAAG,MAAM,CAAC;AACvB,UAAK,GAAG,OAAO,CAAC;AAChB,UAAK,GAAG,OAAO,CAAC;AAChB,8BAAyB,GAAG,aAAa,CAAC;AAC1C,uBAAkB,GAAG,WAAW,CAAC;AACjC,cAAS,GAAG,WAAW,CAAC;AACxB,SAAI,GAAG,MAAM,CAAC;AACd,uBAAkB,GAAG,sBAAsB,CAAC;AAC5C,SAAI,GAAG,MAAM,CAAC;AACd,aAAQ,GAAG,UAAU,CAAC;AACtB,mBAAc,GAAG,OAAO,CAAC;AACzB,cAAS,GAAG,WAAW,CAAC;AACxB,YAAO,GAAG,SAAS,CAAC;AACpB,QAAG,GAAG,KAAK,CAAC;AACZ,kBAAa,GAAG,gBAAgB,CAAC;AACjC,kBAAa,GAAG,WAAW,CAAC;AAC5B,mBAAc,GAAG,QAAQ,CAAC;AAC1B,sBAAiB,GAAG,QAAQ,CAAC;AAC7B,sBAAiB,GAAG,QAAQ,CAAC;AAC7B,mBAAc,GAAG,UAAU,CAAC;AAC5B,WAAM,GAAG,QAAQ,CAAC;AAClB,kBAAa,GAAG,gBAAgB,CAAC;AACjC,WAAM,GAAG,QAAQ,CAAC;AAClB,SAAI,GAAG,MAAM,CAAC;AACd,aAAQ,GAAG,KAAK,CAAC;AACjB,YAAO,GAAG,SAAS,CAAC;AA3B5C,oBA4BC;AAGD;;AACwB,wBAAK,GAAG,OAAO,CAAC;AAEhB,0BAAO,GAAG,SAAS,CAAC;AAH5C,gDAIC"} -------------------------------------------------------------------------------- /out/typescript/out/utils/convert.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"convert.js","sourceRoot":"../../src","sources":["utils/convert.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEhG,iCAAiC;AAIpB,QAAA,mBAAmB,GAAG,CAAC,IAAoB,KACvD,IAAI,MAAM,CAAC,KAAK,CACf,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAE7B,QAAA,sBAAsB,GAAG,CAAC,UAA0B,KAChE,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEpD,QAAA,0BAA0B,GAAG,CAAC,IAAY,EAAE,QAAyB,KAAoC,CAAC;IACtH,IAAI;IACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC;IACvB,MAAM,EAAE,QAAQ,CAAC,SAAS,GAAG,CAAC;CAC9B,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,CAAC,IAAY,EAAE,KAAmB,KAAiC,CAAC;IACvG,IAAI;IACJ,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;IAC/B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;IACtC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAC3B,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC;CAClC,CAAC,CAAC"} -------------------------------------------------------------------------------- /src/ant/snippets.js: -------------------------------------------------------------------------------- 1 | import { readFileSync } from 'fs'; 2 | import { join } from 'path'; 3 | import { SnippetString } from './types'; 4 | 5 | export default function registerSnippets(extPath, snippets) { 6 | (snippets || []).forEach(function({ language, path, disable }) { 7 | const snippet = readFileSync(join(extPath, path), { 8 | encoding: 'utf-8' 9 | }); 10 | 11 | const snippetObejct = JSON.parse(snippet.trim()); 12 | 13 | monaco.languages.registerCompletionItemProvider(language, { 14 | provideCompletionItems: () => Object.keys(snippetObejct).map(key => { 15 | const body = snippetObejct[key].body; 16 | return { 17 | kind: monaco.languages.CompletionItemKind.Snippet, 18 | label: snippetObejct[key].prefix, 19 | insertText: new SnippetString(Array.isArray(body) ? body.join('\n') : body), 20 | documentation: snippetObejct[key].description, 21 | } 22 | }) 23 | }) 24 | }); 25 | } -------------------------------------------------------------------------------- /src/ant/const.d.js: -------------------------------------------------------------------------------- 1 | export const IndentAction = { 2 | /** 3 | * Insert new line and copy the previous line's indentation. 4 | */ 5 | None: 0, 6 | /** 7 | * Insert new line and indent once (relative to the previous line's indentation). 8 | */ 9 | Indent: 1, 10 | /** 11 | * Insert two new lines: 12 | * - the first one indented which will hold the cursor 13 | * - the second one at the same indentation level 14 | */ 15 | IndentOutdent: 2, 16 | /** 17 | * Insert new line and outdent once (relative to the previous line's indentation). 18 | */ 19 | Outdent: 3 20 | } 21 | 22 | export const EndOfLineSequence = { 23 | /** 24 | * Use line feed (\n) as the end of line character. 25 | */ 26 | LF: 0, 27 | /** 28 | * Use carriage return and line feed (\r\n) as the end of line character. 29 | */ 30 | CRLF: 1 31 | } 32 | 33 | export const Severity = { 34 | error: 'error', 35 | warning: 'warning', 36 | warn: 'warn', 37 | info: 'info', 38 | } -------------------------------------------------------------------------------- /out/css/server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vscode-css-languageserver", 3 | "description": "CSS/LESS/SCSS language server", 4 | "version": "1.0.0", 5 | "author": "Microsoft Corporation", 6 | "license": "MIT", 7 | "engines": { 8 | "node": "*" 9 | }, 10 | "dependencies": { 11 | "vscode-css-languageservice": "^2.1.7", 12 | "vscode-languageserver": "^3.4.2", 13 | "vscode-languageserver-protocol": "^3.4.2" 14 | }, 15 | "devDependencies": { 16 | "@types/node": "^6.0.51" 17 | }, 18 | "scripts": { 19 | "compile": "gulp compile-extension:css-server", 20 | "watch": "gulp watch-extension:css-server", 21 | "install-service-next": "npm install vscode-css-languageservice@next -f -S", 22 | "install-service-local": "npm install ../../../../vscode-css-languageservice -f -S", 23 | "install-server-next": "npm install vscode-languageserver@next -f -S", 24 | "install-server-local": "npm install ../../../../vscode-languageserver-node/server -f -S" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const { join } = require('path'); 2 | 3 | module.exports = { 4 | entry: { 5 | editor: './src/editor/index.js', 6 | }, 7 | output: { 8 | path: join(__dirname, './lib'), 9 | filename: '[name].js', 10 | libraryTarget: "umd", 11 | library: "tools" 12 | }, 13 | module: { 14 | rules: [ 15 | { 16 | test: /\.js$/, 17 | exclude: /node_modules/, 18 | loader: 'babel-loader', 19 | } 20 | ], 21 | }, 22 | devtool: "cheap-source-map", 23 | externals(context, request, callback) { 24 | let isExternals = false; 25 | 26 | const vendor = ['vscode-textmate', 'vscode-extension-telemetry', 'vscode-languageserver', 'eslint', 'vscode', 'micromatch']; 27 | 28 | if (vendor.indexOf(request) > -1) { 29 | isExternals = request; 30 | } 31 | callback(null, isExternals); 32 | }, 33 | resolve: { 34 | extensions: ['.js', '.json'], 35 | }, 36 | target: 'electron', 37 | node: { 38 | __dirname: false 39 | } 40 | } -------------------------------------------------------------------------------- /src/ant/window.js: -------------------------------------------------------------------------------- 1 | import { Event } from './Event'; 2 | 3 | class StatusBarItem { 4 | constructor (level) { 5 | this.level = level; 6 | this.text = ''; 7 | this.color = ''; 8 | this.tooltip = ''; 9 | this.command = ''; 10 | } 11 | hide() {} 12 | show() { 13 | console.log(`[${this.color}] ${this.tooltip}`); 14 | } 15 | } 16 | 17 | class Window { 18 | createStatusBarItem(level) { 19 | return new StatusBarItem(level); 20 | } 21 | 22 | createOutputChannel() { 23 | return { 24 | appendLine: () => {}, 25 | append: () => {}, 26 | dispose: () => {}, 27 | show: () => {}, 28 | }; 29 | } 30 | 31 | showErrorMessage(message) { 32 | console.error(message) 33 | } 34 | 35 | showInformationMessage(message) { 36 | console.info(message) 37 | } 38 | 39 | onDidChangeActiveTextEditor(callback) { 40 | Event.addGlobalListenerEvent('onDidChangeActiveTextEditor', callback); 41 | } 42 | } 43 | 44 | const window = new Window(); 45 | 46 | export default window; -------------------------------------------------------------------------------- /out/json/package.nls.json: -------------------------------------------------------------------------------- 1 | { 2 | "json.schemas.desc": "Associate schemas to JSON files in the current project", 3 | "json.schemas.url.desc": "A URL to a schema or a relative path to a schema in the current directory", 4 | "json.schemas.fileMatch.desc": "An array of file patterns to match against when resolving JSON files to schemas.", 5 | "json.schemas.fileMatch.item.desc": "A file pattern that can contain '*' to match against when resolving JSON files to schemas.", 6 | "json.schemas.schema.desc": "The schema definition for the given URL. The schema only needs to be provided to avoid accesses to the schema URL.", 7 | "json.format.enable.desc": "Enable/disable default JSON formatter (requires restart)", 8 | "json.tracing.desc": "Traces the communication between VS Code and the JSON language server.", 9 | "json.colorDecorators.enable.desc": "Enables or disables color decorators", 10 | "json.colorDecorators.enable.deprecationMessage": "The setting `json.colorDecorators.enable` has been deprecated in favor of `editor.colorDecorators`." 11 | } -------------------------------------------------------------------------------- /out/less/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "less", 3 | "version": "0.1.0", 4 | "publisher": "vscode", 5 | "engines": { "vscode": "*" }, 6 | "scripts": { 7 | "update-grammar": "node ../../build/npm/update-grammar.js atom/language-less grammars/less.cson ./syntaxes/less.tmLanguage.json" 8 | }, 9 | "contributes": { 10 | "languages": [{ 11 | "id": "less", 12 | "aliases": ["Less", "less"], 13 | "extensions": [".less"], 14 | "mimetypes": ["text/x-less", "text/less"], 15 | "configuration": "./language-configuration.json" 16 | }], 17 | "grammars": [{ 18 | "language": "less", 19 | "scopeName": "source.css.less", 20 | "path": "./syntaxes/less.tmLanguage.json" 21 | }], 22 | "problemMatchers": [ 23 | { 24 | "name": "lessc", 25 | "label": "Lessc compiler", 26 | "owner": "lessc", 27 | "fileLocation": "absolute", 28 | "pattern": { 29 | "regexp": "(.*)\\sin\\s(.*)\\son line\\s(\\d+),\\scolumn\\s(\\d+)", 30 | "message": 1, 31 | "file": 2, 32 | "line": 3, 33 | "column": 4 34 | } 35 | } 36 | ] 37 | } 38 | } -------------------------------------------------------------------------------- /out/typescript/out/features/previewer.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"previewer.js","sourceRoot":"../../src","sources":["features/previewer.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAGhG,mCAAwC;AAExC,eAAsB,KAAgC;IACrD,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACZ,MAAM,CAAC,EAAE,CAAC;IACX,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AALD,sBAKC;AAED,6BAAoC,IAA0B;IAC7D,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;SACjB,GAAG,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC;QAC/B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,KAAK,CAAC;QACd,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC;SACD,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClB,CAAC;AAVD,kDAUC;AAED,+BACC,aAAwC,EACxC,IAA0B;IAE1B,MAAM,GAAG,GAAG,IAAI,uBAAc,EAAE,CAAC;IACjC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC9C,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,GAAG,CAAC;AACZ,CAAC;AAXD,sDAWC"} -------------------------------------------------------------------------------- /out/axml/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vscode-axml", 3 | "version": "0.0.1", 4 | "description": "axml plugin for vscode", 5 | "scripts": { 6 | "test": "echo \"Error: no test specified\" && exit 1" 7 | }, 8 | "engines": { 9 | "vscode": "^1.5.0" 10 | }, 11 | "keywords": [ 12 | "ant", 13 | "alipay", 14 | "支付宝", 15 | "antapp" 16 | ], 17 | "main": "out/main.js", 18 | "contributes": { 19 | "languages": [ 20 | { 21 | "id": "axml", 22 | "aliases": [ 23 | "axml", 24 | "AXML" 25 | ], 26 | "extensions": [ 27 | ".axml" 28 | ], 29 | "configuration": "./language.configure.json" 30 | } 31 | ], 32 | "grammars": [ 33 | { 34 | "language": "axml", 35 | "scopeName": "text.html.axml", 36 | "path": "./syntaxes/axml.tmLanguage" 37 | } 38 | ] 39 | }, 40 | "author": "munong", 41 | "license": "MIT" 42 | } 43 | -------------------------------------------------------------------------------- /out/ejs/syntaxes/ejs.tmLanguage.json: -------------------------------------------------------------------------------- 1 | { 2 | "fileTypes": [ 3 | "ejs" 4 | ], 5 | "foldingStartMarker": "(?x)\n\t\t(<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\\b.*?>\n\t\t|)\n\t\t|\\{\\s*($|\\?>\\s*$|\/\/|\/\\*(.*\\*\/\\s*$|(?!.*?\\*\/)))\n\t\t)", 6 | "foldingStopMarker": "(?x)\n\t\t(<\/(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)>\n\t\t|^\\s*-->\n\t\t|(^|\\s)\\}\n\t\t)", 7 | "name": "JavaScript Template", 8 | "patterns": [ 9 | { 10 | "begin": "(<%=?)", 11 | "beginCaptures": [ 12 | { 13 | "name": "punctuation.definition.tag.begin.html" 14 | } 15 | ], 16 | "patterns": [ 17 | { 18 | "include": "source.js" 19 | } 20 | ], 21 | "end": "({?)(}?)(\\s)*(%>)", 22 | "endCaptures": [ 23 | { 24 | "name": "punctuation.definition.tag.end.html" 25 | } 26 | ] 27 | }, 28 | { 29 | "include": "text.html.basic" 30 | } 31 | ], 32 | "scopeName": "text.html.js", 33 | "uuid": "C50669E1-1DCE-44E4-BE12-57CEBEAD842A" 34 | } -------------------------------------------------------------------------------- /out/typescript/npm-shrinkwrap.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typescript", 3 | "version": "0.10.1", 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 | "semver": { 11 | "version": "4.3.6", 12 | "from": "semver@4.3.6", 13 | "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz" 14 | }, 15 | "vscode-extension-telemetry": { 16 | "version": "0.0.7", 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-nls": { 21 | "version": "2.0.1", 22 | "from": "vscode-nls@>=2.0.1 <3.0.0", 23 | "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-2.0.1.tgz" 24 | }, 25 | "winreg": { 26 | "version": "1.2.3", 27 | "from": "winreg@1.2.3", 28 | "resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.3.tgz" 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /out/ejs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vscode-ejs", 3 | "displayName": "vscode-ejs", 4 | "description": "Syntax highlighting & snippets for ejs", 5 | "version": "0.0.1", 6 | "publisher": "chenxsan", 7 | "engines": { 8 | "vscode": "^1.16.0" 9 | }, 10 | "categories": [ 11 | "Languages", 12 | "Snippets" 13 | ], 14 | "contributes": { 15 | "languages": [ 16 | { 17 | "id": "ejs", 18 | "aliases": [ 19 | "ejs" 20 | ], 21 | "extensions": [ 22 | ".ejs" 23 | ], 24 | "configuration": "./language-configuration.json" 25 | } 26 | ], 27 | "snippets": [ 28 | { 29 | "language": "ejs", 30 | "path": "./snippets/ejs.json" 31 | } 32 | ], 33 | "grammars": [ 34 | { 35 | "language": "ejs", 36 | "scopeName": "text.html.js", 37 | "path": "./syntaxes/ejs.tmLanguage.json" 38 | } 39 | ] 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /out/typescript/out/utils/codeAction.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"codeAction.js","sourceRoot":"../../src","sources":["utils/codeAction.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;;;;;AAEhG,mCAAkD;AAElD,uCAAgD;AAIhD,yBACC,MAAgC,EAChC,MAAwB,EACxB,IAAY;;QAEZ,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAG,IAAI,sBAAa,EAAE,CAAC;YAC1C,GAAG,CAAC,CAAC,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBACrC,GAAG,CAAC,CAAC,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC7C,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAClD,6BAAmB,CAAC,UAAU,CAAC,EAC/B,UAAU,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;YACF,CAAC;YAED,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,kBAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QAED,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/C,GAAG,CAAC,CAAC,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnF,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjC,MAAM,CAAC,KAAK,CAAC;gBACd,CAAC;YACF,CAAC;QACF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACb,CAAC;CAAA;AA7BD,0CA6BC"} -------------------------------------------------------------------------------- /out/typescript/out/utils/convert.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 | exports.tsTextSpanToVsRange = (span) => new vscode.Range(span.start.line - 1, span.start.offset - 1, span.end.line - 1, span.end.offset - 1); 9 | exports.tsLocationToVsPosition = (tslocation) => new vscode.Position(tslocation.line - 1, tslocation.offset - 1); 10 | exports.vsPositionToTsFileLocation = (file, position) => ({ 11 | file, 12 | line: position.line + 1, 13 | offset: position.character + 1 14 | }); 15 | exports.vsRangeToTsFileRange = (file, range) => ({ 16 | file, 17 | startLine: range.start.line + 1, 18 | startOffset: range.start.character + 1, 19 | endLine: range.end.line + 1, 20 | endOffset: range.end.character + 1 21 | }); 22 | -------------------------------------------------------------------------------- /out/json/server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vscode-json-languageserver", 3 | "description": "JSON language server", 4 | "version": "1.0.0", 5 | "author": "Microsoft Corporation", 6 | "license": "MIT", 7 | "engines": { 8 | "node": "*" 9 | }, 10 | "dependencies": { 11 | "jsonc-parser": "^1.0.0", 12 | "request-light": "^0.2.1", 13 | "vscode-json-languageservice": "^2.0.20", 14 | "vscode-languageserver": "^3.4.2", 15 | "vscode-languageserver-protocol": "^3.4.2", 16 | "vscode-languageserver-types": "^3.4.0", 17 | "vscode-nls": "^2.0.2", 18 | "vscode-uri": "^1.0.1" 19 | }, 20 | "devDependencies": { 21 | "@types/node": "^6.0.51" 22 | }, 23 | "scripts": { 24 | "compile": "gulp compile-extension:json-server", 25 | "watch": "gulp watch-extension:json-server", 26 | "install-service-next": "npm install vscode-json-languageservice@next -f -S", 27 | "install-service-local": "npm install ../../../../vscode-json-languageservice -f -S", 28 | "install-server-next": "npm install vscode-languageserver@next -f -S", 29 | "install-server-local": "npm install ../../../../vscode-languageserver-node/server -f -S" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /out/css/snippets/css.json: -------------------------------------------------------------------------------- 1 | { 2 | "transition property": { 3 | "prefix": "transition", 4 | "body": [ 5 | "-webkit-transition: ${1:property} ${2:duration} ${3:timing-function} ${4:delay};", 6 | "-moz-transition: ${1:property} ${2:duration} ${3:timing-function} ${4:delay};", 7 | "transition: ${1:property} ${2:duration} ${3:timing-function} ${4:delay};" 8 | ], 9 | "description": "The transition property across browsers" 10 | }, 11 | "border": { 12 | "prefix": "border", 13 | "body": [ 14 | "border: ${1:width} ${2:border-style} ${3:color};$0" 15 | ], 16 | "description": "[width] [border-style] [color]" 17 | }, 18 | "gradient": { 19 | "prefix": "gradient", 20 | "body": [ 21 | "background-image: -webkit-gradient(linear, left top, left bottom, from(${1:start-color}), to(${2:end-color}));", 22 | "background-image: -webkit-linear-gradient(top, ${1:start-color}, ${2:end-color});", 23 | "background-image: -moz-linear-gradient(top, ${1:start-color}, ${2:end-color});", 24 | "background-image: linear-gradient(to bottom, ${1:start-color}, ${2:end-color});" 25 | ], 26 | "description": "Set the 'background-image' property to a linear gradient" 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /src/ant/promise.js: -------------------------------------------------------------------------------- 1 | import Promise from 'bluebird'; 2 | 3 | Promise.config({ 4 | cancellation: true, 5 | }); 6 | 7 | export function always (promise, f) { 8 | const bluebird = Promise.resolve(promise); 9 | return new Promise((c, e, p) => { 10 | bluebird.done((result) => { 11 | try { 12 | f(result); 13 | } catch (e1) { 14 | // errors.onUnexpectedError(e1); 15 | console.error(e1); 16 | } 17 | c(result); 18 | }, (err) => { 19 | try { 20 | f(err); 21 | } catch (e1) { 22 | // errors.onUnexpectedError(e1); 23 | console.error(e1); 24 | } 25 | e(err); 26 | }, (progress) => { 27 | p(progress); 28 | }); 29 | }, () => { 30 | bluebird.cancel(); 31 | }); 32 | } 33 | 34 | export function wireCancellationToken(token, promise, resolveAsUndefinedWhenCancelled) { 35 | const subscription = token.onCancellationRequested(() => promise.cancel()); 36 | if (resolveAsUndefinedWhenCancelled) { 37 | promise = promise.then(undefined, err => { 38 | if (!errors.isPromiseCanceledError(err)) { 39 | return TPromise.wrapError(err); 40 | } 41 | return undefined; 42 | }); 43 | } 44 | return always(promise, () => subscription.dispose()); 45 | } -------------------------------------------------------------------------------- /out/typescript/out/features/definitionProviderBase.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"definitionProviderBase.js","sourceRoot":"../../src","sources":["features/definitionProviderBase.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;;;;;AAEhG,mCAA6E;AAI7E,8CAAmF;AAEnF;IACC,YACS,MAAgC;QAAhC,WAAM,GAAN,MAAM,CAA0B;IAAI,CAAC;IAE9B,kBAAkB,CACjC,cAAkE,EAClE,QAAsB,EACtB,QAAkB,EAClB,KAAkC;;YAElC,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,SAAS,CAAC;YAClB,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,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACxE,MAAM,SAAS,GAAqB,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC1C,MAAM,CAAC,EAAE,CAAC;gBACX,CAAC;gBACD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ;oBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAClD,MAAM,CAAC,QAAQ;0BACZ,IAAI,iBAAQ,CAAC,QAAQ,EAAE,6BAAmB,CAAC,QAAQ,CAAC,CAAC;0BACrD,SAAS,CAAC;gBACd,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAe,CAAC;YACjC,CAAC;YAAC,KAAK,CAAC,CAAC,IAAD,CAAC;gBACR,MAAM,CAAC,EAAE,CAAC;YACX,CAAC;QACF,CAAC;KAAA;CACD;AAhCD,mDAgCC"} -------------------------------------------------------------------------------- /out/nunjucks/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nunjucks", 3 | "displayName": "Nunjucks", 4 | "description": "A Nunjucks syntax definition", 5 | "icon": "images/nunjucksIcon.png", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/ronnidc/vscode-nunjucks" 9 | }, 10 | "galleryBanner": { 11 | "color": "#203510", 12 | "theme": "dark" 13 | }, 14 | "bugs": { 15 | "url": "https://github.com/ronnidc/vscode-nunjucks/issues" 16 | }, 17 | "version": "0.2.3", 18 | "publisher": "ronnidc", 19 | "engines": { 20 | "vscode": "^0.10.1" 21 | }, 22 | "categories": [ 23 | "Languages" 24 | ], 25 | "contributes": { 26 | "languages": [ 27 | { 28 | "id": "nunjucks", 29 | "aliases": [ 30 | "Nunjucks", 31 | "nunjucks" 32 | ], 33 | "extensions": [ 34 | ".nunjucks", 35 | ".nunjs", 36 | ".nunj", 37 | ".nj", 38 | ".njk", 39 | ".html", 40 | ".htm", 41 | "template", 42 | ".tmpl", 43 | ".tpl" 44 | ], 45 | "configuration": "./nunjucks.configuration.json" 46 | } 47 | ], 48 | "grammars": [ 49 | { 50 | "language": "nunjucks", 51 | "scopeName": "text.html.nunjucks", 52 | "path": "./syntaxes/nunjucks.tmLanguage" 53 | } 54 | ] 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /out/css/npm-shrinkwrap.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "css", 3 | "version": "0.1.0", 4 | "dependencies": { 5 | 6 | "vscode-jsonrpc": { 7 | "version": "3.4.0", 8 | "from": "vscode-jsonrpc@>=3.4.0 <4.0.0", 9 | "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.4.0.tgz" 10 | }, 11 | "vscode-languageclient": { 12 | "version": "3.4.2", 13 | "from": "vscode-languageclient@next", 14 | "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-3.4.2.tgz" 15 | }, 16 | "vscode-languageserver-protocol": { 17 | "version": "3.4.2", 18 | "from": "vscode-languageserver-protocol@next", 19 | "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.4.2.tgz" 20 | }, 21 | "vscode-languageserver-types": { 22 | "version": "3.4.0", 23 | "from": "vscode-languageserver-types@>=3.4.0 <4.0.0", 24 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.4.0.tgz" 25 | }, 26 | "vscode-nls": { 27 | "version": "2.0.2", 28 | "from": "vscode-nls@2.0.2", 29 | "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-2.0.2.tgz" 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /example/test/test.css: -------------------------------------------------------------------------------- 1 | /*--------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. See License.txt in the project root for license information. 4 | *--------------------------------------------------------------------------------------------*/ 5 | 6 | .monaco-list { 7 | height: 100%; 8 | width: 100%; 9 | white-space: nowrap; 10 | -webkit-user-select: none; 11 | -khtml-user-select: none; 12 | -moz-user-select: -moz-none; 13 | -ms-user-select: none; 14 | -o-user-select: none; 15 | user-select: none; 16 | } 17 | 18 | .monaco-list > .monaco-scrollable-element { 19 | height: 100%; 20 | } 21 | 22 | .monaco-list-rows { 23 | position: relative; 24 | width: 100%; 25 | height: 100%; 26 | } 27 | 28 | .monaco-list-row { 29 | position: absolute; 30 | -moz-box-sizing: border-box; 31 | -o-box-sizing: border-box; 32 | -ms-box-sizing: border-box; 33 | box-sizing: border-box; 34 | cursor: pointer; 35 | overflow: hidden; 36 | width: 100%; 37 | touch-action: none; 38 | } 39 | 40 | /* for OS X ballistic scrolling */ 41 | .monaco-list-row.scrolling { 42 | display: none !important; 43 | } 44 | 45 | /* Focus */ 46 | .monaco-list.element-focused { outline: 0 !important; } -------------------------------------------------------------------------------- /out/typescript/out/utils/plugins.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 | function getContributedTypeScriptServerPlugins() { 9 | const plugins = []; 10 | for (const extension of vscode_1.extensions.all) { 11 | const pack = extension.packageJSON; 12 | if (pack.contributes && pack.contributes.typescriptServerPlugins && Array.isArray(pack.contributes.typescriptServerPlugins)) { 13 | for (const plugin of pack.contributes.typescriptServerPlugins) { 14 | plugins.push({ 15 | name: plugin.name, 16 | path: extension.extensionPath, 17 | languages: Array.isArray(plugin.languages) ? plugin.languages : [], 18 | }); 19 | } 20 | } 21 | } 22 | return plugins; 23 | } 24 | exports.getContributedTypeScriptServerPlugins = getContributedTypeScriptServerPlugins; 25 | -------------------------------------------------------------------------------- /out/html/server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vscode-html-languageserver", 3 | "description": "HTML language server", 4 | "version": "1.0.0", 5 | "author": "Microsoft Corporation", 6 | "license": "MIT", 7 | "engines": { 8 | "node": "*" 9 | }, 10 | "dependencies": { 11 | "vscode-css-languageservice": "^2.1.7", 12 | "vscode-html-languageservice": "^2.0.8", 13 | "vscode-languageserver": "^3.4.2", 14 | "vscode-languageserver-protocol": "^3.4.2", 15 | "vscode-languageserver-types": "^3.3.0", 16 | "vscode-nls": "^2.0.2", 17 | "vscode-uri": "^1.0.1" 18 | }, 19 | "devDependencies": { 20 | "@types/node": "^6.0.51", 21 | "@types/mocha": "^2.2.33" 22 | }, 23 | "scripts": { 24 | "compile": "gulp compile-extension:html-server", 25 | "watch": "gulp watch-extension:html-server", 26 | "install-service-next": "npm install vscode-css-languageservice@next -f -S && npm install vscode-html-languageservice@next -f -S", 27 | "install-service-local": "npm install ../../../../vscode-css-languageservice -f -S && npm install ../../../../vscode-html-languageservice -f -S", 28 | "install-server-next": "npm install vscode-languageserver@next -f -S", 29 | "install-server-local": "npm install ../../../../vscode-languageserver-node/server -f -S", 30 | "test": "../../../node_modules/.bin/mocha" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/editor/uint.js: -------------------------------------------------------------------------------- 1 | export const Constants = { 2 | MAX_SAFE_SMALL_INTEGER: 1 << 30, 3 | MIN_SAFE_SMALL_INTEGER: -(1 << 30), 4 | MAX_UINT_8: 255, // 2^8 - 1 5 | MAX_UINT_16: 65535, // 2^16 - 1 6 | MAX_UINT_32: 4294967295, // 2^32 - 1 7 | } 8 | export function toUint8(v) { 9 | if (v < 0) { 10 | return 0; 11 | } 12 | if (v > Constants.MAX_UINT_8) { 13 | return Constants.MAX_UINT_8; 14 | } 15 | return v | 0; 16 | } 17 | 18 | export function toUint32(v) { 19 | if (v < 0) { 20 | return 0; 21 | } 22 | if (v > Constants.MAX_UINT_32) { 23 | return Constants.MAX_UINT_32; 24 | } 25 | return v | 0; 26 | } 27 | 28 | export function toUint32Array(arr) { 29 | let len = arr.length; 30 | let r = new Uint32Array(len); 31 | for (let i = 0; i < len; i++) { 32 | r[i] = toUint32(arr[i]); 33 | } 34 | return r; 35 | } 36 | 37 | export class Uint8Matrix { 38 | constructor(rows, cols, defaultValue) { 39 | let data = new Uint8Array(rows * cols); 40 | for (let i = 0, len = rows * cols; i < len; i++) { 41 | data[i] = defaultValue; 42 | } 43 | 44 | this._data = data; 45 | this._rows = rows; 46 | this._cols = cols; 47 | } 48 | 49 | get(row, col) { 50 | return this._data[row * this._cols + col]; 51 | } 52 | 53 | set(row, col, value) { 54 | this._data[row * this._cols + col] = value; 55 | } 56 | } -------------------------------------------------------------------------------- /themes/theme-defaults/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "theme-defaults", 3 | "displayName": "Default Themes", 4 | "description": "The default light and dark themes (Plus and Visual Studio)", 5 | "categories": [ "Themes" ], 6 | "version": "0.1.10", 7 | "publisher": "vscode", 8 | "engines": { "vscode": "*" }, 9 | "contributes": { 10 | "themes": [ 11 | { 12 | "id": "Default Dark+", 13 | "label": "Dark+ (default dark)", 14 | "uiTheme": "vs-dark", 15 | "path": "./themes/dark_plus.json" 16 | }, 17 | { 18 | "id": "Default Light+", 19 | "label": "Light+ (default light)", 20 | "uiTheme": "vs", 21 | "path": "./themes/light_plus.json" 22 | }, 23 | { 24 | "id": "Visual Studio Dark", 25 | "label": "Dark (Visual Studio)", 26 | "uiTheme": "vs-dark", 27 | "path": "./themes/dark_vs.json" 28 | }, 29 | { 30 | "id": "Visual Studio Light", 31 | "label": "Light (Visual Studio)", 32 | "uiTheme": "vs", 33 | "path": "./themes/light_vs.json" 34 | }, 35 | { 36 | "id": "Default High Contrast", 37 | "label": "High Contrast", 38 | "uiTheme": "hc-black", 39 | "path": "./themes/hc_black.json" 40 | } 41 | ], 42 | "iconThemes": [ 43 | { 44 | "id": "vs-minimal", 45 | "label": "Minimal (Visual Studio Code)", 46 | "path": "./fileicons/vs_minimal_icons.json" 47 | } 48 | ] 49 | } 50 | } -------------------------------------------------------------------------------- /out/typescript/out/features/hoverProvider.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"hoverProvider.js","sourceRoot":"../../src","sources":["features/hoverProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;;;;;AAEhG,mCAAyF;AAIzF,2CAAkD;AAClD,8CAAmF;AAEnF;IAEC,YACS,MAAgC;QAAhC,WAAM,GAAN,MAAM,CAA0B;IAAI,CAAC;IAEjC,YAAY,CAAC,QAAsB,EAAE,QAAkB,EAAE,KAAwB;;YAC7F,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,SAAS,CAAC;YAClB,CAAC;YACD,MAAM,IAAI,GAAG,oCAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC5D,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACrE,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC3B,MAAM,CAAC,IAAI,cAAK,CACf,uBAAuB,CAAC,WAAW,CAAC,IAAI,CAAC,EACzC,6BAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACF,CAAC;YAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACZ,OAAO;YACR,CAAC;YACD,MAAM,CAAC,SAAS,CAAC;QAClB,CAAC;KAAA;IAEO,MAAM,CAAC,WAAW,CAAC,IAAiC;QAC3D,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,IAAI,GAAG,+BAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC;IACd,CAAC;CACD;AApCD,0CAoCC"} -------------------------------------------------------------------------------- /out/typescript/out/utils/versionStatus.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"versionStatus.js","sourceRoot":"../../src","sources":["utils/versionStatus.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEhG,iCAAiC;AAEjC,qDAAqD;AAErD;IAIC;QACC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5G,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO;QACN,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAEM,4BAA4B,CAAC,OAA0B;QAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,oCAAoC,CAAC;IACrE,CAAC;IAEO,cAAc;QACrB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC;QACR,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC;QACR,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QACpD,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAChG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC;QACR,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;YAChD,wEAAwE;YACxE,2BAA2B;YAC3B,MAAM,CAAC;QACR,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;CACD;AA5CD,gCA4CC"} -------------------------------------------------------------------------------- /out/typescript/out/features/referenceProvider.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"referenceProvider.js","sourceRoot":"../../src","sources":["features/referenceProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEhG,mCAAgG;AAGhG,8CAAmF;AAEnF;IACC,YACS,MAAgC;QAAhC,WAAM,GAAN,MAAM,CAA0B;IAAI,CAAC;IAEvC,iBAAiB,CAAC,QAAsB,EAAE,QAAkB,EAAE,OAAwC,EAAE,KAAwB;QACtI,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,CAAa,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,IAAI,GAAG,oCAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG;YAC9D,MAAM,MAAM,GAAe,EAAE,CAAC;YAC9B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC;YACf,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,IAAI,UAAU,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;oBACpF,QAAQ,CAAC;gBACV,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CAAC,GAAG,EAAE,6BAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;YACD,MAAM,CAAC,MAAM,CAAC;QACf,CAAC,EAAE;YACF,MAAM,CAAC,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AA/BD,6CA+BC"} -------------------------------------------------------------------------------- /out/typescript/out/features/previewer.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 | function plain(parts) { 9 | if (!parts) { 10 | return ''; 11 | } 12 | return parts.map(part => part.text).join(''); 13 | } 14 | exports.plain = plain; 15 | function tagsMarkdownPreview(tags) { 16 | return (tags || []) 17 | .map(tag => { 18 | const label = `*@${tag.name}*`; 19 | if (!tag.text) { 20 | return label; 21 | } 22 | return label + (tag.text.match(/\r\n|\n/g) ? ' \n' + tag.text : ` — ${tag.text}`); 23 | }) 24 | .join(' \n\n'); 25 | } 26 | exports.tagsMarkdownPreview = tagsMarkdownPreview; 27 | function markdownDocumentation(documentation, tags) { 28 | const out = new vscode_1.MarkdownString(); 29 | out.appendMarkdown(plain(documentation)); 30 | const tagsPreview = tagsMarkdownPreview(tags); 31 | if (tagsPreview) { 32 | out.appendMarkdown('\n\n' + tagsPreview); 33 | } 34 | return out; 35 | } 36 | exports.markdownDocumentation = markdownDocumentation; 37 | -------------------------------------------------------------------------------- /out/typescript/out/utils/async.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"async.js","sourceRoot":"../../src","sources":["utils/async.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAMhG;IAQC,YAAY,YAAoB;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAEM,OAAO,CAAC,IAAc,EAAE,QAAgB,IAAI,CAAC,YAAY;QAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO;gBAC/C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YAC1B,CAAC,CAAC,CAAC,IAAI,CAAC;gBACP,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,MAAM,CAAC,MAAM,CAAC;YACf,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;gBACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBACpB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC;YACF,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAEO,aAAa;QACpB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,CAAC;IACF,CAAC;CACD;AApDD,0BAoDC"} -------------------------------------------------------------------------------- /out/typescript/out/utils/telemetry.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"telemetry.js","sourceRoot":"../../src","sources":["utils/telemetry.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEhG,6BAA6B;AAC7B,2EAAiE;AAQjE;IAIC,OAAO;QACN,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,CAAC;IACF,CAAC;IAEM,YAAY,CAAC,SAAiB,EAAE,UAAuC;QAC7E,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC;IACF,CAAC;IAED,IAAY,QAAQ;QACnB,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,GAAG,IAAI,oCAAuB,CAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CAAC,WAAW,CAAC,OAAO,EACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,IAAY,WAAW;QACtB,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACrE,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG;gBACnB,IAAI,EAAE,gBAAgB,CAAC,IAAI;gBAC3B,OAAO,EAAE,gBAAgB,CAAC,OAAO;gBACjC,KAAK,EAAE,gBAAgB,CAAC,KAAK;aAC7B,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;CACD;AAnDD,oCAmDC"} -------------------------------------------------------------------------------- /out/typescript/out/features/renameProvider.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"renameProvider.js","sourceRoot":"../../src","sources":["features/renameProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;;;;;AAEhG,mCAAkG;AAIlG,8CAAmF;AAEnF;IACC,YACS,MAAgC;QAAhC,WAAM,GAAN,MAAM,CAA0B;IAAI,CAAC;IAEjC,kBAAkB,CAC9B,QAAsB,EACtB,QAAkB,EAClB,OAAe,EACf,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,IAAI,CAAC;YACb,CAAC;YAED,MAAM,IAAI,qBACN,oCAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,IACjD,aAAa,EAAE,KAAK,EACpB,cAAc,EAAE,KAAK,GACrB,CAAC;YAEF,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAClE,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACrC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC;gBACb,CAAC;gBACD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;gBAEvC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC3B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAgB,UAAU,CAAC,qBAAqB,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,sBAAa,EAAE,CAAC;gBACnC,GAAG,CAAC,CAAC,MAAM,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACnD,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACf,QAAQ,CAAC;oBACV,CAAC;oBACD,GAAG,CAAC,CAAC,MAAM,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;wBACvC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,6BAAmB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;oBAClE,CAAC;gBACF,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC;YACf,CAAC;YAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACZ,OAAO;YACR,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;KAAA;CACD;AAhDD,2CAgDC"} -------------------------------------------------------------------------------- /out/typescript/out/utils/tsconfig.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"tsconfig.js","sourceRoot":"../../src","sources":["utils/tsconfig.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;;;;;AAEhG,iCAAiC;AACjC,6BAA6B;AAG7B,qCAA4C,cAAsB;IACjE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAFD,kEAEC;AAED,wBACC,mBAA4B,EAC5B,MAAsC;IAEtC,MAAM,eAAe,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC5C,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IACD,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC3D,eAAe,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC;;IAE7B,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;;;;;;EAMjC,CAAC,CAAC;AACJ,CAAC;AAED,gCACC,mBAA4B,EAC5B,QAAgB,EAChB,MAAsC;IAEtC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,GAAG,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC;IACjH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,GAAG,SAAS,CAAC;IACnG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC;SAClD,IAAI,CAAC,GAAG;QACR,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC,EAAE;QACF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9D,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IACf,CAAC,CAAA,CAAC,CAAC;AACL,CAAC;AAlBD,wDAkBC"} -------------------------------------------------------------------------------- /out/typescript/out/protocol.const.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 Kind { 8 | } 9 | Kind.alias = 'alias'; 10 | Kind.callSignature = 'call'; 11 | Kind.class = 'class'; 12 | Kind.const = 'const'; 13 | Kind.constructorImplementation = 'constructor'; 14 | Kind.constructSignature = 'construct'; 15 | Kind.directory = 'directory'; 16 | Kind.enum = 'enum'; 17 | Kind.externalModuleName = 'external module name'; 18 | Kind.file = 'file'; 19 | Kind.function = 'function'; 20 | Kind.indexSignature = 'index'; 21 | Kind.interface = 'interface'; 22 | Kind.keyword = 'keyword'; 23 | Kind.let = 'let'; 24 | Kind.localFunction = 'local function'; 25 | Kind.localVariable = 'local var'; 26 | Kind.memberFunction = 'method'; 27 | Kind.memberGetAccessor = 'getter'; 28 | Kind.memberSetAccessor = 'setter'; 29 | Kind.memberVariable = 'property'; 30 | Kind.module = 'module'; 31 | Kind.primitiveType = 'primitive type'; 32 | Kind.script = 'script'; 33 | Kind.type = 'type'; 34 | Kind.variable = 'var'; 35 | Kind.warning = 'warning'; 36 | exports.Kind = Kind; 37 | class DiagnosticCategory { 38 | } 39 | DiagnosticCategory.error = 'error'; 40 | DiagnosticCategory.warning = 'warning'; 41 | exports.DiagnosticCategory = DiagnosticCategory; 42 | -------------------------------------------------------------------------------- /out/javascript/npm-shrinkwrap.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "javascript", 3 | "version": "0.1.0", 4 | "dependencies": { 5 | "agent-base": { 6 | "version": "1.0.2", 7 | "from": "agent-base@>=1.0.1 <1.1.0", 8 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-1.0.2.tgz" 9 | }, 10 | "debug": { 11 | "version": "2.2.0", 12 | "from": "debug@>=2.0.0 <3.0.0", 13 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" 14 | }, 15 | "extend": { 16 | "version": "3.0.0", 17 | "from": "extend@>=3.0.0 <4.0.0", 18 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" 19 | }, 20 | "http-proxy-agent": { 21 | "version": "0.2.7", 22 | "from": "http-proxy-agent@>=0.2.6 <0.3.0", 23 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-0.2.7.tgz" 24 | }, 25 | "https-proxy-agent": { 26 | "version": "0.3.6", 27 | "from": "https-proxy-agent@>=0.3.5 <0.4.0", 28 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-0.3.6.tgz" 29 | }, 30 | "jsonc-parser": { 31 | "version": "0.3.1", 32 | "from": "jsonc-parser@0.3.1" 33 | }, 34 | "ms": { 35 | "version": "0.7.1", 36 | "from": "ms@0.7.1", 37 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" 38 | }, 39 | "request-light": { 40 | "version": "0.2.0", 41 | "from": "request-light@0.2.0" 42 | }, 43 | "vscode-nls": { 44 | "version": "2.0.2", 45 | "from": "vscode-nls@>=2.0.2 <3.0.0", 46 | "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-2.0.2.tgz" 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /out/typescript/out/utils/logger.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"logger.js","sourceRoot":"../../src","sources":["utils/logger.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAEhG,mCAA+C;AAC/C,2BAA2B;AAE3B,kCAAkC;AAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;AAEzC;IAGC,IAAY,MAAM;QACjB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,eAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAEO,WAAW,CAAC,IAAS;QAC5B,EAAE,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC;YAC3B,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACnB,CAAC;YACD,MAAM,CAAE,IAAc,CAAC,OAAO,CAAC;QAChC,CAAC;QACD,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;QACD,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;QACb,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,IAAU;QACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,IAAU;QACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,IAAU;QACvC,2DAA2D;QAC3D,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,uBAAuB,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,QAAQ,CAAC,KAAa,EAAE,OAAe,EAAE,IAAU;QACzD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QACxF,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;CACD;AAhDD,yBAgDC"} -------------------------------------------------------------------------------- /scripts/lark-sdk.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const request = require('request'); 3 | const fsExtra = require('fs-extra'); 4 | 5 | const endpoint = 'https://lark.alipay.com/api/v2'; 6 | const apiUrl = `${endpoint}/repos/tiny-site/api/docs`; 7 | const compUrl = `${endpoint}/repos/tiny-site/component/docs`; 8 | const tmp = './tmp'; 9 | 10 | fsExtra.removeSync(tmp); 11 | 12 | const convertTableToMarkdown = (str) => { 13 | return str.replace(/
|<\/div>/g, '') 14 | .replace(/|<\/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":"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"} -------------------------------------------------------------------------------- /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 | ![vscode](https://gw.alipayobjects.com/zos/rmsportal/VpgAvXNHoGlAWNtVlnlg.png) 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 | --------------------------------------------------------------------------------