{
    "name": "coc-svelte",
    "version": "0.5.0",
    "description": "Svelte language support for coc.nim",
    "main": "lib/src/extension.js",
    "scripts": {
        "clean": "rimraf lib",
        "build": "tsc -p ./",
        "watch": "tsc -w -p ./",
        "prepare": "npm-run-all clean build"
    },
    "repository": {
        "type": "git",
        "url": "https://github.com/coc-extensions/coc-svelte.git"
    },
    "keywords": [
        "svelte",
        "coc.nvim"
    ],
    "author": "iamcco <ooiss@qq.com>",
    "license": "MIT",
    "bugs": {
        "url": "https://github.com/coc-extensions/coc-svelte/issues"
    },
    "homepage": "https://github.com/coc-extensions/coc-svelte#readme",
    "engines": {
        "coc": "^0.0.77"
    },
    "activationEvents": [
        "onLanguage:svelte",
        "onCommand:svelte.restartLanguageServer",
        "onLanguage:javascript",
        "onLanguage:typescript"
    ],
    "contributes": {
        "typescriptServerPlugins": [
            {
                "name": "typescript-svelte-plugin",
                "enableForWorkspaceTypeScriptVersions": true
            }
        ],
        "configuration": {
            "type": "object",
            "title": "Svelte",
            "properties": {
                "svelte.enable-ts-plugin": {
                    "type": "boolean",
                    "default": false,
                    "title": "Enable TypeScript Svelte plugin",
                    "description": "Enable semantic tokens (semantic highlight) for TypeScript."
                },
                "svelte.ask-to-enable-ts-plugin": {
                    "type": "boolean",
                    "default": true,
                    "title": "Ask to enable TypeScript Svelte plugin",
                    "description": "Ask on startup to enable the TypeScript plugin."
                },
                "svelte.language-server.runtime": {
                    "scope": "application",
                    "type": "string",
                    "title": "Language Server Runtime",
                    "description": "- You normally don't need this - Path to the node executable to use to spawn the language server. This is useful when you depend on native modules such as node-sass as without this they will run in the context of vscode, meaning node version mismatch is likely. Minimum required node version is 12.17. This setting can only be changed in user settings for security reasons."
                },
                "svelte.language-server.ls-path": {
                    "scope": "application",
                    "type": "string",
                    "title": "Language Server Path",
                    "description": "- You normally don't set this - Path to the language server executable. If you installed the \"svelte-language-server\" npm package, it's within there at \"bin/server.js\". Path can be either relative to your workspace root or absolute. Set this only if you want to use a custom version of the language server. This will then also use the workspace version of TypeScript. This setting can only be changed in user settings for security reasons."
                },
                "svelte.language-server.port": {
                    "type": "number",
                    "title": "Language Server Port",
                    "description": "- You normally don't set this - At which port to spawn the language server. Can be used for attaching to the process for debugging / profiling. If you experience crashes due to \"port already in use\", try setting the port. -1 = default port is used.",
                    "default": -1
                },
                "svelte.language-server.debug": {
                    "type": "boolean",
                    "title": "Language Server Debug Mode",
                    "description": "- You normally don't set this - Enable more verbose logging for the language server useful for debugging language server execution."
                },
                "svelte.ui.svelteKitFilesContextMenu.enable": {
                    "type": "string",
                    "default": "auto",
                    "enum": [
                        "auto",
                        "never",
                        "always"
                    ],
                    "description": "Show a context menu to generate SvelteKit files. \"always\" to always show it. \"never\" to always disable it. \"auto\" to show it when in a SvelteKit project. "
                },
                "svelte.plugin.typescript.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "TypeScript",
                    "description": "Enable the TypeScript plugin"
                },
                "svelte.plugin.typescript.diagnostics.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "TypeScript: Diagnostics",
                    "description": "Enable diagnostic messages for TypeScript"
                },
                "svelte.plugin.typescript.hover.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "TypeScript: Hover Info",
                    "description": "Enable hover info for TypeScript"
                },
                "svelte.plugin.typescript.documentSymbols.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "TypeScript: Symbols in Outline",
                    "description": "Enable document symbols for TypeScript"
                },
                "svelte.plugin.typescript.completions.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "TypeScript: Completions",
                    "description": "Enable completions for TypeScript"
                },
                "svelte.plugin.typescript.definitions.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "TypeScript: Go to Definition",
                    "description": "Enable go to definition for TypeScript"
                },
                "svelte.plugin.typescript.selectionRange.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "TypeScript: Selection Range",
                    "description": "Enable selection range for TypeScript"
                },
                "svelte.plugin.typescript.signatureHelp.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "TypeScript: Signature Help",
                    "description": "Enable signature help (parameter hints) for TypeScript"
                },
                "svelte.plugin.typescript.codeActions.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "TypeScript: Code Actions",
                    "description": "Enable code actions for TypeScript"
                },
                "svelte.plugin.css.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "CSS",
                    "description": "Enable the CSS plugin"
                },
                "svelte.plugin.css.globals": {
                    "type": "string",
                    "default": "",
                    "title": "CSS: Global Files",
                    "description": "Which css files should be checked for global variables (`--global-var: value;`). These variables are added to the css completions. String of comma-separated file paths or globs relative to workspace root."
                },
                "svelte.plugin.css.diagnostics.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "CSS: Diagnostics",
                    "description": "Enable diagnostic messages for CSS"
                },
                "svelte.plugin.css.hover.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "CSS: Hover Info",
                    "description": "Enable hover info for CSS"
                },
                "svelte.plugin.css.completions.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "CSS: Auto Complete",
                    "description": "Enable auto completions for CSS"
                },
                "svelte.plugin.css.documentColors.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "CSS: Document Colors",
                    "description": "Enable document colors for CSS"
                },
                "svelte.plugin.css.colorPresentations.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "CSS: Color Picker",
                    "description": "Enable color picker for CSS"
                },
                "svelte.plugin.css.documentSymbols.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "CSS: Symbols in Outline",
                    "description": "Enable document symbols for CSS"
                },
                "svelte.plugin.css.selectionRange.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "CSS: SelectionRange",
                    "description": "Enable selection range for CSS"
                },
                "svelte.plugin.html.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "HTML",
                    "description": "Enable the HTML plugin"
                },
                "svelte.plugin.html.hover.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "HTML: Hover Info",
                    "description": "Enable hover info for HTML"
                },
                "svelte.plugin.html.completions.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "HTML: Auto Complete",
                    "description": "Enable auto completions for HTML"
                },
                "svelte.plugin.html.tagComplete.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "HTML: Tag Auto Closing",
                    "description": "Enable HTML tag auto closing"
                },
                "svelte.plugin.html.documentSymbols.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "HTML: Symbols in Outline",
                    "description": "Enable document symbols for HTML"
                },
                "svelte.plugin.svelte.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "Svelte",
                    "description": "Enable the Svelte plugin"
                },
                "svelte.plugin.svelte.diagnostics.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "Svelte: Diagnostics",
                    "description": "Enable diagnostic messages for Svelte"
                },
                "svelte.plugin.svelte.compilerWarnings": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string",
                        "enum": [
                            "ignore",
                            "error"
                        ]
                    },
                    "default": {},
                    "title": "Svelte: Compiler Warnings Settings",
                    "description": "Svelte compiler warning codes to ignore or to treat as errors. Example: { 'css-unused-selector': 'ignore', 'unused-export-let': 'error'}"
                },
                "svelte.plugin.svelte.format.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "Svelte: Format",
                    "description": "Enable formatting for Svelte (includes css & js). You can set some formatting options through this extension. They will be ignored if there's any kind of configuration file, for example a `.prettierrc` file."
                },
                "svelte.plugin.svelte.format.config.svelteSortOrder": {
                    "type": "string",
                    "default": "options-scripts-markup-styles",
                    "title": "Svelte Format: Sort Order",
                    "description": "Format: join the keys `options`, `scripts`, `markup`, `styles` with a - in the order you want. This option is ignored if there's any kind of configuration file, for example a `.prettierrc` file."
                },
                "svelte.plugin.svelte.format.config.svelteStrictMode": {
                    "type": "boolean",
                    "default": false,
                    "title": "Svelte Format: Strict Mode",
                    "description": "More strict HTML syntax. This option is ignored if there's any kind of configuration file, for example a `.prettierrc` file."
                },
                "svelte.plugin.svelte.format.config.svelteAllowShorthand": {
                    "type": "boolean",
                    "default": true,
                    "title": "Svelte Format: Allow Shorthand",
                    "description": "Option to enable/disable component attribute shorthand if attribute name and expression are the same. This option is ignored if there's any kind of configuration file, for example a `.prettierrc` file."
                },
                "svelte.plugin.svelte.format.config.svelteBracketNewLine": {
                    "type": "boolean",
                    "default": true,
                    "title": "Svelte Format: Bracket New Line",
                    "description": "Put the `>` of a multiline element on a new line. This option is ignored if there's any kind of configuration file, for example a `.prettierrc` file."
                },
                "svelte.plugin.svelte.format.config.svelteIndentScriptAndStyle": {
                    "type": "boolean",
                    "default": true,
                    "title": "Svelte Format: Indent Script And Style",
                    "description": "Whether or not to indent code inside `<script>` and `<style>` tags. This option is ignored if there's any kind of configuration file, for example a `.prettierrc` file."
                },
                "svelte.plugin.svelte.format.config.printWidth": {
                    "type": "number",
                    "default": 80,
                    "title": "Svelte Format: Print Width",
                    "description": "Maximum line width after which code is tried to be broken up. This is a Prettier core option. If you have the Prettier extension installed, this option is ignored and the corresponding option of that extension is used instead. This option is also ignored if there's any kind of configuration file, for example a `.prettierrc` file."
                },
                "svelte.plugin.svelte.format.config.singleQuote": {
                    "type": "boolean",
                    "default": false,
                    "title": "Svelte Format: Quotes",
                    "description": "Use single quotes instead of double quotes, where possible. This is a Prettier core option. If you have the Prettier extension installed, this option is ignored and the corresponding option of that extension is used instead. This option is also ignored if there's any kind of configuration file, for example a `.prettierrc` file."
                },
                "svelte.plugin.svelte.completions.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "Svelte: Completions",
                    "description": "Enable auto completions for Svelte"
                },
                "svelte.plugin.svelte.hover.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "Svelte: Hover",
                    "description": "Enable hover information for Svelte"
                },
                "svelte.plugin.svelte.codeActions.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "Svelte: Code Actions",
                    "description": "Enable Code Actions for Svelte"
                },
                "svelte.plugin.svelte.selectionRange.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "Svelte: Selection Range",
                    "description": "Enable selection range for Svelte"
                },
                "svelte.plugin.svelte.rename.enable": {
                    "type": "boolean",
                    "default": true,
                    "title": "Svelte: Rename",
                    "description": "Enable rename/move Svelte files functionality"
                },
                "svelte.plugin.svelte.defaultScriptLanguage": {
                    "type": "string",
                    "default": "none",
                    "title": "Svelte: Default Script Language",
                    "description": "The default language to use when generating new script tags",
                    "enum": [
                        "none",
                        "ts"
                    ]
                }
            }
        },
        "jsonValidation": [
            {
                "fileMatch": ".prettierrc",
                "url": "./prettier-options-schema.json"
            },
            {
                "fileMatch": ".prettierrc.json",
                "url": "./prettier-options-schema.json"
            }
        ],
        "commands": [
            {
                "command": "svelte.restartLanguageServer",
                "title": "Svelte: Restart Language Server"
            },
            {
                "command": "svelte.typescript.findAllFileReferences",
                "title": "Svelte: Find File References"
            },
            {
                "command": "svelte.typescript.findComponentReferences",
                "title": "Svelte: Find Component References"
            },
            {
                "command": "svelte.kit.generateMultipleFiles",
                "title": "SvelteKit: Create route"
            },
            {
                "command": "svelte.kit.generatePage",
                "title": "SvelteKit: Create +page.svelte"
            },
            {
                "command": "svelte.kit.generatePageLoad",
                "title": "SvelteKit: Create +page.js/ts"
            },
            {
                "command": "svelte.kit.generatePageServerLoad",
                "title": "SvelteKit: Create +page.server.js/ts"
            },
            {
                "command": "svelte.kit.generateLayout",
                "title": "SvelteKit: Create +layout.svelte"
            },
            {
                "command": "svelte.kit.generateLayoutLoad",
                "title": "SvelteKit: Create +layout.js/ts"
            },
            {
                "command": "svelte.kit.generateLayoutServerLoad",
                "title": "SvelteKit: Create +layout.server.js/ts"
            },
            {
                "command": "svelte.kit.generateServer",
                "title": "SvelteKit: Create +server.js/ts"
            },
            {
                "command": "svelte.kit.generateError",
                "title": "SvelteKit: Create +error.svelte"
            }
        ],
        "submenus": [
            {
                "id": "sveltekit2files",
                "label": "SvelteKit Files"
            }
        ],
        "breakpoints": [
            {
                "language": "svelte"
            }
        ]
    },
    "dependencies": {
        "lodash": "^4.17.21",
        "svelte-language-server": "*",
        "typescript": "*",
        "typescript-svelte-plugin": "*",
        "vscode-languageserver-protocol": "^3.17.3"
    },
    "devDependencies": {
        "@tsconfig/node14": "^1.0.0",
        "@types/lodash": "^4.14.172",
        "@types/node": "^14.0.0",
        "coc.nvim": "^0.0.83-next.17",
        "js-yaml": "^3.14.0",
        "npm-run-all": "^4.1.5",
        "rimraf": "^3.0.2"
    }
}
