--- /dev/null
+{
+ "name": "coc-tsserver",
+ "version": "1.5.2",
+ "description": "tsserver extension for coc.nvim",
+ "main": "lib/index.js",
+ "publisher": "chemzqm",
+ "engines": {
+ "coc": "^0.0.78"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/neoclide/coc-tsserver.git"
+ },
+ "keywords": [
+ "coc.nvim",
+ "tsserver",
+ "typescript"
+ ],
+ "scripts": {
+ "clean": "rimraf lib",
+ "build": "webpack",
+ "prepare": "npx npm-run-all clean build"
+ },
+ "activationEvents": [
+ "onLanguage:javascript",
+ "onLanguage:javascriptreact",
+ "onLanguage:javascript.jsx",
+ "onLanguage:typescript",
+ "onLanguage:typescript.tsx",
+ "onLanguage:typescript.jsx",
+ "onLanguage:typescriptreact",
+ "onLanguage:jsx-tags",
+ "onCommand:typescript.reloadProjects",
+ "onCommand:javascript.reloadProjects",
+ "onCommand:javascript.goToProjectConfig",
+ "onCommand:typescript.goToProjectConfig",
+ "onCommand:typescript.openTsServerLog",
+ "onCommand:tsserver.watchBuild"
+ ],
+ "contributes": {
+ "rootPatterns": [
+ {
+ "filetype": "javascript",
+ "patterns": [
+ "package.json",
+ "jsconfig.json"
+ ]
+ },
+ {
+ "filetype": "javascriptreact",
+ "patterns": [
+ "package.json",
+ "jsconfig.json"
+ ]
+ },
+ {
+ "filetype": "typescript",
+ "patterns": [
+ "package.json",
+ "tsconfig.json"
+ ]
+ },
+ {
+ "filetype": "typescriptreact",
+ "patterns": [
+ "package.json",
+ "tsconfig.json"
+ ]
+ }
+ ],
+ "commands": [
+ {
+ "title": "Reload current project",
+ "category": "TSServer",
+ "command": "tsserver.reloadProjects"
+ },
+ {
+ "title": "Open log file of tsserver.",
+ "category": "TSServer",
+ "command": "tsserver.openTsServerLog"
+ },
+ {
+ "title": "Open project config file.",
+ "category": "TSServer",
+ "command": "tsserver.goToProjectConfig"
+ },
+ {
+ "title": "Restart tsserver",
+ "category": "TSServer",
+ "command": "tsserver.restart"
+ },
+ {
+ "title": "Run `tsc --watch` for current project by use vim's job feature.",
+ "category": "TSServer",
+ "command": "tsserver.watchBuild"
+ },
+ {
+ "title": "Fix autofixable problems of current document.",
+ "category": "TSServer",
+ "command": "tsserver.executeAutofix"
+ }
+ ],
+ "configuration": {
+ "type": "object",
+ "title": "Tsserver",
+ "properties": {
+ "tsserver.enable": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable tsserver extension"
+ },
+ "tsserver.locale": {
+ "type": "string",
+ "default": "",
+ "description": "Locale of tsserver"
+ },
+ "tsserver.typingsCacheLocation": {
+ "type": "string",
+ "default": "",
+ "description": "Folder path for cache typings"
+ },
+ "tsserver.formatOnType": {
+ "type": "boolean",
+ "default": true,
+ "description": "Run format on type special characters."
+ },
+ "tsserver.enableJavascript": {
+ "type": "boolean",
+ "default": true,
+ "description": "Use tsserver for javascript files"
+ },
+ "tsserver.ignoreLocalTsserver": {
+ "type": "boolean",
+ "default": false,
+ "description": "Always use tsserver module from tsserver.tsdk or tsserver extension."
+ },
+ "tsserver.maxTsServerMemory": {
+ "type": "number",
+ "default": 0,
+ "description": "Set the maximum amount of memory to allocate to the TypeScript server process"
+ },
+ "tsserver.watchOptions": {
+ "type": "object",
+ "description": "Configure which watching strategies should be used to keep track of files and directories. Requires using TypeScript 3.8+ in the workspace.",
+ "properties": {
+ "watchFile": {
+ "type": "string",
+ "description": "Strategy for how individual files are watched.",
+ "enum": [
+ "fixedPollingInterval",
+ "priorityPollingInterval",
+ "dynamicPriorityPolling",
+ "useFsEvents",
+ "useFsEventsOnParentDirectory"
+ ],
+ "default": "useFsEvents"
+ },
+ "watchDirectory": {
+ "type": "string",
+ "description": "Strategy for how entire directory trees are watched under systems that lack recursive file-watching functionality.",
+ "enum": [
+ "fixedPollingInterval",
+ "dynamicPriorityPolling",
+ "useFsEvents"
+ ],
+ "default": "useFsEvents"
+ },
+ "fallbackPolling": {
+ "type": "string",
+ "description": "When using file system events, this option specifies the polling strategy that gets used when the system runs out of native file watchers and/or doesn’t support native file watchers.",
+ "enum": [
+ "fixedPollingInterval",
+ "priorityPollingInterval",
+ "dynamicPriorityPolling"
+ ]
+ },
+ "synchronousWatchDirectory": {
+ "type": "boolean",
+ "description": "Disable deferred watching on directories. Deferred watching is useful when lots of file changes might occur at once (e.g. a change in node_modules from running npm install), but you might want to disable it with this flag for some less-common setups."
+ }
+ }
+ },
+ "tsserver.tsdk": {
+ "type": "string",
+ "default": "",
+ "description": "Directory contains tsserver.js,"
+ },
+ "tsserver.npm": {
+ "type": "string",
+ "default": "",
+ "description": "Executable path of npm for download typings"
+ },
+ "tsserver.log": {
+ "type": "string",
+ "default": "off",
+ "enum": [
+ "normal",
+ "terse",
+ "verbose",
+ "off"
+ ],
+ "description": "Log level of tsserver"
+ },
+ "tsserver.trace.server": {
+ "type": "string",
+ "default": "off",
+ "enum": [
+ "off",
+ "messages",
+ "verbose"
+ ],
+ "description": "Trace level of tsserver"
+ },
+ "tsserver.pluginRoot": {
+ "type": "string",
+ "default": [],
+ "items": {
+ "type": "string"
+ },
+ "description": "Folder contains tsserver plugins"
+ },
+ "tsserver.debugPort": {
+ "type": "number",
+ "description": "Debug port number of tsserver"
+ },
+ "tsserver.reportStyleChecksAsWarnings": {
+ "type": "boolean",
+ "default": true
+ },
+ "tsserver.implicitProjectConfig.checkJs": {
+ "type": "boolean",
+ "default": false,
+ "description": "Enable checkJs for implicit project"
+ },
+ "tsserver.implicitProjectConfig.experimentalDecorators": {
+ "type": "boolean",
+ "default": false,
+ "description": "Enable experimentalDecorators for implicit project"
+ },
+ "tsserver.disableAutomaticTypeAcquisition": {
+ "type": "boolean",
+ "default": false,
+ "description": "Disable download of typings"
+ },
+ "tsserver.useBatchedBufferSync": {
+ "type": "boolean",
+ "default": true,
+ "description": "Use batched buffer sync support."
+ },
+ "typescript.showUnused": {
+ "type": "boolean",
+ "default": true,
+ "description": "Show unused variable hint."
+ },
+ "typescript.updateImportsOnFileMove.enable": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable update imports on file move."
+ },
+ "typescript.implementationsCodeLens.enable": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable codeLens for implementations"
+ },
+ "typescript.referencesCodeLens.enable": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable codeLens for references"
+ },
+ "typescript.preferences.importModuleSpecifier": {
+ "type": "string",
+ "default": "auto",
+ "description": "Preferred path style for auto imports.",
+ "enum": [
+ "non-relative",
+ "relative",
+ "auto"
+ ]
+ },
+ "typescript.preferences.importModuleSpecifierEnding": {
+ "type": "string",
+ "enum": [
+ "auto",
+ "minimal",
+ "index",
+ "js"
+ ],
+ "default": "auto",
+ "description": "Preferred path ending for auto imports.",
+ "scope": "resource"
+ },
+ "typescript.preferences.quoteStyle": {
+ "type": "string",
+ "default": "auto",
+ "enum": [
+ "auto",
+ "single",
+ "double"
+ ]
+ },
+ "typescript.suggestionActions.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable/disable suggestion diagnostics for TypeScript files in the editor. Requires using TypeScript 2.8 or newer in the workspace."
+ },
+ "typescript.validate.enable": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable/disable TypeScript validation."
+ },
+ "typescript.suggest.enabled": {
+ "type": "boolean",
+ "default": true
+ },
+ "typescript.suggest.paths": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable/disable suggest paths in import statement and require calls"
+ },
+ "typescript.suggest.autoImports": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable/disable auto import suggests."
+ },
+ "typescript.suggest.completeFunctionCalls": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable snippet for method suggestion"
+ },
+ "typescript.format.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable format for typescript."
+ },
+ "typescript.format.insertSpaceAfterCommaDelimiter": {
+ "type": "boolean",
+ "default": true
+ },
+ "typescript.format.insertSpaceAfterConstructor": {
+ "type": "boolean",
+ "default": false
+ },
+ "typescript.format.insertSpaceAfterSemicolonInForStatements": {
+ "type": "boolean",
+ "default": true
+ },
+ "typescript.format.insertSpaceBeforeAndAfterBinaryOperators": {
+ "type": "boolean",
+ "default": true
+ },
+ "typescript.format.insertSpaceAfterKeywordsInControlFlowStatements": {
+ "type": "boolean",
+ "default": true
+ },
+ "typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": {
+ "type": "boolean",
+ "default": true
+ },
+ "typescript.format.insertSpaceBeforeFunctionParenthesis": {
+ "type": "boolean",
+ "default": false
+ },
+ "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": {
+ "type": "boolean",
+ "default": false
+ },
+ "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": {
+ "type": "boolean",
+ "default": false
+ },
+ "typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": {
+ "type": "boolean",
+ "default": false
+ },
+ "typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": {
+ "type": "boolean",
+ "default": false
+ },
+ "typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": {
+ "type": "boolean",
+ "default": false
+ },
+ "typescript.format.insertSpaceAfterTypeAssertion": {
+ "type": "boolean",
+ "default": false
+ },
+ "typescript.format.placeOpenBraceOnNewLineForFunctions": {
+ "type": "boolean",
+ "default": false
+ },
+ "typescript.format.placeOpenBraceOnNewLineForControlBlocks": {
+ "type": "boolean",
+ "default": false
+ },
+ "typescript.format.semicolons": {
+ "type": "string",
+ "default": "ignore",
+ "description": "Defines handling of optional semicolons. Requires using TypeScript 3.7 or newer in the workspace.",
+ "scope": "resource",
+ "enum": [
+ "ignore",
+ "insert",
+ "remove"
+ ]
+ },
+ "typescript.suggest.includeAutomaticOptionalChainCompletions": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable/disable showing completions on potentially undefined values that insert an optional chain call. Requires TS 3.7+ and strict null checks to be enabled.",
+ "scope": "resource"
+ },
+ "typescript.workspaceSymbols.scope": {
+ "type": "string",
+ "enum": [
+ "allOpenProjects",
+ "currentProject"
+ ],
+ "default": "allOpenProjects",
+ "scope": "window"
+ },
+ "javascript.showUnused": {
+ "type": "boolean",
+ "default": true,
+ "description": "Show unused variable hint."
+ },
+ "javascript.updateImportsOnFileMove.enable": {
+ "type": "boolean",
+ "default": true
+ },
+ "javascript.implementationsCodeLens.enable": {
+ "type": "boolean",
+ "default": true
+ },
+ "javascript.referencesCodeLens.enable": {
+ "type": "boolean",
+ "default": true
+ },
+ "javascript.preferences.importModuleSpecifier": {
+ "type": "string",
+ "default": "auto",
+ "description": "Preferred path style for auto imports.",
+ "enum": [
+ "auto",
+ "non-relative",
+ "relative"
+ ]
+ },
+ "javascript.preferences.importModuleSpecifierEnding": {
+ "type": "string",
+ "enum": [
+ "auto",
+ "minimal",
+ "index",
+ "js"
+ ],
+ "default": "auto",
+ "description": "Preferred path ending for auto imports.",
+ "scope": "resource"
+ },
+ "javascript.preferences.quoteStyle": {
+ "type": "string",
+ "default": "auto",
+ "enum": [
+ "auto",
+ "single",
+ "double"
+ ]
+ },
+ "javascript.validate.enable": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable/disable JavaScript validation."
+ },
+ "javascript.suggestionActions.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable/disable suggestion diagnostics for JavaScript files in the editor. Requires using TypeScript 2.8 or newer in the workspace."
+ },
+ "javascript.suggest.names": {
+ "type": "boolean",
+ "default": true
+ },
+ "javascript.suggest.enabled": {
+ "type": "boolean",
+ "default": true
+ },
+ "javascript.suggest.paths": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable/disable suggest paths in import statement and require calls"
+ },
+ "javascript.suggest.autoImports": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable/disable auto import suggests."
+ },
+ "javascript.suggest.completeFunctionCalls": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable snippet for method suggestion"
+ },
+ "javascript.format.enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Enable format for javascript."
+ },
+ "javascript.format.insertSpaceAfterCommaDelimiter": {
+ "type": "boolean",
+ "default": true
+ },
+ "javascript.format.insertSpaceAfterConstructor": {
+ "type": "boolean",
+ "default": false
+ },
+ "javascript.format.insertSpaceAfterSemicolonInForStatements": {
+ "type": "boolean",
+ "default": true
+ },
+ "javascript.format.insertSpaceBeforeAndAfterBinaryOperators": {
+ "type": "boolean",
+ "default": true
+ },
+ "javascript.format.insertSpaceAfterKeywordsInControlFlowStatements": {
+ "type": "boolean",
+ "default": true
+ },
+ "javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": {
+ "type": "boolean",
+ "default": true
+ },
+ "javascript.format.insertSpaceBeforeFunctionParenthesis": {
+ "type": "boolean",
+ "default": false
+ },
+ "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": {
+ "type": "boolean",
+ "default": false
+ },
+ "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": {
+ "type": "boolean",
+ "default": false
+ },
+ "javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": {
+ "type": "boolean",
+ "default": false
+ },
+ "javascript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": {
+ "type": "boolean",
+ "default": false
+ },
+ "javascript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": {
+ "type": "boolean",
+ "default": false
+ },
+ "javascript.format.insertSpaceAfterTypeAssertion": {
+ "type": "boolean",
+ "default": false
+ },
+ "javascript.format.placeOpenBraceOnNewLineForFunctions": {
+ "type": "boolean",
+ "default": false
+ },
+ "javascript.format.placeOpenBraceOnNewLineForControlBlocks": {
+ "type": "boolean",
+ "default": false
+ },
+ "javascript.suggest.includeAutomaticOptionalChainCompletions": {
+ "type": "boolean",
+ "default": true,
+ "description": "%configuration.suggest.includeAutomaticOptionalChainCompletions%",
+ "scope": "resource"
+ },
+ "javascript.format.semicolons": {
+ "type": "string",
+ "default": "ignore",
+ "description": "Defines handling of optional semicolons. Requires using TypeScript 3.7 or newer in the workspace.",
+ "scope": "resource",
+ "enum": [
+ "ignore",
+ "insert",
+ "remove"
+ ]
+ }
+ }
+ },
+ "snippets": [
+ {
+ "language": "typescript",
+ "path": "./snippets/typescript.json"
+ },
+ {
+ "language": "typescriptreact",
+ "path": "./snippets/typescript.json"
+ }
+ ]
+ },
+ "author": "chemzqm@gmail.com",
+ "license": "MIT",
+ "devDependencies": {
+ "@chemzqm/tsconfig": "^0.0.3",
+ "@chemzqm/tslint-config": "^1.0.18",
+ "@types/fast-diff": "^1.2.0",
+ "@types/node": "^14.0.4",
+ "coc.nvim": "^0.0.77",
+ "fast-diff": "^1.2.0",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.2",
+ "ts-loader": "^7.0.4",
+ "tslint": "^6.1.2",
+ "vscode-languageserver-protocol": "^3.15.3",
+ "webpack": "^4.43.0",
+ "webpack-cli": "^3.3.11",
+ "vscode-languageserver-textdocument": "^1.0.1",
+ "which": "^2.0.2"
+ },
+ "dependencies": {
+ "typescript": "3.9.5"
+ }
+}