{
  "name": "typescript",
  "description": "Extension to add Typescript capabilities to VSCode.",
  "displayName": "TypeScript support for VSCode",
  "version": "0.10.1",
  "author": "Microsoft Corporation",
  "license": "MIT",
  "publisher": "vscode",
  "aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217",
  "engines": {
    "vscode": "*"
  },
  "dependencies": {
    "semver": "4.3.6",
    "vscode-extension-telemetry": "^0.0.7",
    "vscode-nls": "^2.0.1"
  },
  "devDependencies": {
    "@types/node": "^7.0.4",
    "@types/semver": "^5.3.30"
  },
  "scripts": {
    "vscode:prepublish": "node ../../node_modules/gulp/bin/gulp.js --gulpfile ../../build/gulpfile.extensions.js compile-extension:typescript ./tsconfig.json",
    "update-grammars": "node ./build/update-grammars.js"
  },
  "activationEvents": [
    "onLanguage:javascript",
    "onLanguage:javascriptreact",
    "onLanguage:typescript",
    "onLanguage:typescriptreact",
    "onLanguage:jsx-tags",
    "onCommand:typescript.reloadProjects",
    "onCommand:javascript.reloadProjects",
    "onCommand:typescript.selectTypeScriptVersion",
    "onCommand:javascript.goToProjectConfig",
    "onCommand:typescript.goToProjectConfig",
    "onCommand:typescript.openTsServerLog"
  ],
  "main": "./out/typescriptMain",
  "contributes": {
    "languages": [
      {
        "id": "typescript",
        "aliases": [
          "TypeScript",
          "ts",
          "typescript"
        ],
        "extensions": [
          ".ts"
        ],
        "configuration": "./language-configuration.json"
      },
      {
        "id": "typescriptreact",
        "aliases": [
          "TypeScript React",
          "tsx"
        ],
        "extensions": [
          ".tsx"
        ],
        "configuration": "./language-configuration.json"
      }
    ],
    "grammars": [
      {
        "language": "typescript",
        "scopeName": "source.ts",
        "path": "./syntaxes/TypeScript.tmLanguage.json"
      },
      {
        "language": "typescriptreact",
        "scopeName": "source.tsx",
        "path": "./syntaxes/TypeScriptReact.tmLanguage.json",
        "embeddedLanguages": {
          "meta.tag.tsx": "jsx-tags",
          "meta.tag.without-attributes.tsx": "jsx-tags"
        }
      }
    ],
    "configuration": {
      "type": "object",
      "title": "%configuration.typescript%",
      "order": 20,
      "properties": {
        "typescript.tsdk": {
          "type": [
            "string",
            "null"
          ],
          "default": null,
          "description": "%typescript.tsdk.desc%"
        },
        "typescript.disableAutomaticTypeAcquisition": {
          "type": "boolean",
          "default": false,
          "description": "%typescript.disableAutomaticTypeAcquisition%"
        },
        "typescript.check.tscVersion": {
          "type": "boolean",
          "default": true,
          "description": "%typescript.check.tscVersion%"
        },
        "typescript.check.npmIsInstalled": {
          "type": "boolean",
          "default": true,
          "description": "%typescript.check.npmIsInstalled%"
        },
        "typescript.referencesCodeLens.enabled": {
          "type": "boolean",
          "default": false,
          "description": "%typescript.referencesCodeLens.enabled%"
        },
        "typescript.implementationsCodeLens.enabled": {
          "type": "boolean",
          "default": false,
          "description": "%typescript.implementationsCodeLens.enabled%"
        },
        "typescript.tsserver.log": {
          "type": "string",
          "enum": [
            "off",
            "terse",
            "normal",
            "verbose"
          ],
          "default": "off",
          "description": "%typescript.tsserver.log%"
        },
        "typescript.tsserver.trace": {
          "type": "string",
          "enum": [
            "off",
            "messages",
            "verbose"
          ],
          "default": "off",
          "description": "%typescript.tsserver.trace%"
        },
        "typescript.useCodeSnippetsOnMethodSuggest": {
          "type": "boolean",
          "default": false,
          "description": "%typescript.useCodeSnippetsOnMethodSuggest.dec%"
        },
        "typescript.validate.enable": {
          "type": "boolean",
          "default": true,
          "description": "%typescript.validate.enable%"
        },
        "typescript.format.enable": {
          "type": "boolean",
          "default": true,
          "description": "%typescript.format.enable%"
        },
        "typescript.format.insertSpaceAfterCommaDelimiter": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceAfterCommaDelimiter%"
        },
        "typescript.format.insertSpaceAfterSemicolonInForStatements": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceAfterSemicolonInForStatements%"
        },
        "typescript.format.insertSpaceBeforeAndAfterBinaryOperators": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceBeforeAndAfterBinaryOperators%"
        },
        "typescript.format.insertSpaceAfterKeywordsInControlFlowStatements": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceAfterKeywordsInControlFlowStatements%"
        },
        "typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceAfterFunctionKeywordForAnonymousFunctions%"
        },
        "typescript.format.insertSpaceBeforeFunctionParenthesis": {
          "type": "boolean",
          "default": false,
          "description": "%format.insertSpaceBeforeFunctionParenthesis%"
        },
        "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": {
          "type": "boolean",
          "default": false,
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis%"
        },
        "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": {
          "type": "boolean",
          "default": false,
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets%"
        },
        "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces%"
        },
        "typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": {
          "type": "boolean",
          "default": false,
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces%"
        },
        "typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": {
          "type": "boolean",
          "default": false,
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces%"
        },
        "typescript.format.placeOpenBraceOnNewLineForFunctions": {
          "type": "boolean",
          "default": false,
          "description": "%format.placeOpenBraceOnNewLineForFunctions%"
        },
        "typescript.format.placeOpenBraceOnNewLineForControlBlocks": {
          "type": "boolean",
          "default": false,
          "description": "%format.placeOpenBraceOnNewLineForControlBlocks%"
        },
        "javascript.validate.enable": {
          "type": "boolean",
          "default": true,
          "description": "%javascript.validate.enable%"
        },
        "javascript.format.enable": {
          "type": "boolean",
          "default": true,
          "description": "%javascript.format.enable%"
        },
        "javascript.format.insertSpaceAfterCommaDelimiter": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceAfterCommaDelimiter%"
        },
        "javascript.format.insertSpaceAfterSemicolonInForStatements": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceAfterSemicolonInForStatements%"
        },
        "javascript.format.insertSpaceBeforeAndAfterBinaryOperators": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceBeforeAndAfterBinaryOperators%"
        },
        "javascript.format.insertSpaceAfterKeywordsInControlFlowStatements": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceAfterKeywordsInControlFlowStatements%"
        },
        "javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceAfterFunctionKeywordForAnonymousFunctions%"
        },
        "javascript.format.insertSpaceBeforeFunctionParenthesis": {
          "type": "boolean",
          "default": false,
          "description": "%format.insertSpaceBeforeFunctionParenthesis%"
        },
        "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": {
          "type": "boolean",
          "default": false,
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis%"
        },
        "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": {
          "type": "boolean",
          "default": false,
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets%"
        },
        "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": {
          "type": "boolean",
          "default": true,
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces%"
        },
        "javascript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": {
          "type": "boolean",
          "default": false,
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces%"
        },
        "javascript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": {
          "type": "boolean",
          "default": false,
          "description": "%format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces%"
        },
        "javascript.format.placeOpenBraceOnNewLineForFunctions": {
          "type": "boolean",
          "default": false,
          "description": "%format.placeOpenBraceOnNewLineForFunctions%"
        },
        "javascript.format.placeOpenBraceOnNewLineForControlBlocks": {
          "type": "boolean",
          "default": false,
          "description": "%format.placeOpenBraceOnNewLineForControlBlocks%"
        },
        "jsDocCompletion.enabled": {
          "type": "boolean",
          "default": true,
          "description": "%jsDocCompletion.enabled%"
        },
        "javascript.implicitProjectConfig.checkJs": {
          "type": "boolean",
          "default": false,
          "description": "%javascript.implicitProjectConfig.checkJs%"
        }
      }
    },
    "commands": [
      {
        "command": "typescript.reloadProjects",
        "title": "%typescript.reloadProjects.title%",
        "category": "TypeScript"
      },
      {
        "command": "javascript.reloadProjects",
        "title": "%javascript.reloadProjects.title%",
        "category": "JavaScript"
      },
      {
        "command": "typescript.selectTypeScriptVersion",
        "title": "%typescript.selectTypeScriptVersion.title%",
        "category": "TypeScript"
      },
      {
        "command": "typescript.goToProjectConfig",
        "title": "%typescript.goToProjectConfig.title%",
        "category": "TypeScript"
      },
      {
        "command": "javascript.goToProjectConfig",
        "title": "%javascript.goToProjectConfig.title%",
        "category": "JavaScript"
      },
      {
        "command": "typescript.openTsServerLog",
        "title": "%typescript.openTsServerLog.title%",
        "category": "TypeScript"
      }
    ],
    "menus": {
      "commandPalette": [
        {
          "command": "typescript.reloadProjects",
          "when": "editorLangId == 'typescript'"
        },
        {
          "command": "typescript.reloadProjects",
          "when": "editorLangId == typescriptreact"
        },
        {
          "command": "javascript.reloadProjects",
          "when": "editorLangId == 'javascript'"
        },
        {
          "command": "javascript.reloadProjects",
          "when": "editorLangId == javascriptreact"
        },
        {
          "command": "typescript.goToProjectConfig",
          "when": "editorLangId == 'typescript'"
        },
        {
          "command": "typescript.goToProjectConfig",
          "when": "editorLangId == typescriptreact"
        },
        {
          "command": "javascript.goToProjectConfig",
          "when": "editorLangId == 'javascript'"
        },
        {
          "command": "javascript.goToProjectConfig",
          "when": "editorLangId == javascriptreact"
        }
      ]
    },
    "breakpoints": [
      {
        "language": "typescript"
      },
      {
        "language": "typescriptreact"
      }
    ],
    "snippets": [
      {
        "language": "typescript",
        "path": "./snippets/typescript.json"
      },
      {
        "language": "typescriptreact",
        "path": "./snippets/typescriptreact.json"
      }
    ],
    "jsonValidation": [
      {
        "fileMatch": "tsconfig.json",
        "url": "http://json.schemastore.org/tsconfig"
      },
      {
        "fileMatch": "tsconfig.json",
        "url": "./schemas/tsconfig.schema.json"
      },
      {
        "fileMatch": "tsconfig.*.json",
        "url": "http://json.schemastore.org/tsconfig"
      },
      {
        "fileMatch": "tsconfig.*.json",
        "url": "./schemas/tsconfig.schema.json"
      },
      {
        "fileMatch": "typings.json",
        "url": "http://json.schemastore.org/typings"
      }
    ],
    "problemPatterns": [
      {
        "name": "tsc",
        "regexp": "^([^\\s].*)\\((\\d+|\\d+,\\d+|\\d+,\\d+,\\d+,\\d+)\\):\\s+(error|warning|info)\\s+(TS\\d+)\\s*:\\s*(.*)$",
        "file": 1,
        "location": 2,
        "severity": 3,
        "code": 4,
        "message": 5
      }
    ],
    "problemMatchers": [
      {
        "name": "tsc",
        "owner": "typescript",
        "applyTo": "closedDocuments",
        "fileLocation": [
          "relative",
          "${cwd}"
        ],
        "pattern": "$tsc"
      },
      {
        "name": "tsc-watch",
        "owner": "typescript",
        "applyTo": "closedDocuments",
        "fileLocation": [
          "relative",
          "${cwd}"
        ],
        "pattern": "$tsc",
        "watching": {
          "activeOnStart": true,
          "beginsPattern": {
            "regexp": "^\\s*(?:message TS6032:|\\d{1,2}:\\d{1,2}:\\d{1,2}(?: AM| PM)? -) File change detected\\. Starting incremental compilation\\.\\.\\."
          },
          "endsPattern": {
            "regexp": "^\\s*(?:message TS6042:|\\d{1,2}:\\d{1,2}:\\d{1,2}(?: AM| PM)? -) Compilation complete\\. Watching for file changes\\."
          }
        }
      }
    ]
  }
}
