Files
carbon-lang/utils/vscode/package.json
T
DavidLoftusandjonmeow 2eddfbd7bf Add restart LSP command to VSCode extension (#4916)
This PR adds a new command to the Carbon VSCode extension "carbon:
Restart language server" which acts similar to clangd / bazel
extensions. While not useful during regular working of the extension
this helps when LSP either crashes or the toolchain is updated.

In order to support graceful restart, I needed to add a Call handler for
"shutdown" which is noop for now. Lsp clients always call shutdown
before sending exit.

---------

Co-authored-by: jonmeow <jperkins@google.com>
2025-02-10 23:39:49 +00:00

83 lines
2.1 KiB
JSON

{
"name": "carbon-vscode",
"displayName": "Carbon Language",
"version": "0.0.5",
"publisher": "carbon-lang",
"description": "Carbon language support for Visual Studio Code.",
"repository": {
"url": "https://github.com/carbon-language/carbon-lang"
},
"engines": {
"vscode": "^1.90.0"
},
"categories": [
"Programming Languages"
],
"icon": "images/icon.png",
"activationEvents": [],
"main": "./dist/extension.js",
"contributes": {
"languages": [
{
"id": "carbon",
"aliases": [
"Carbon"
],
"extensions": [
".carbon"
],
"configuration": "./language-configuration.json"
}
],
"grammars": [
{
"language": "carbon",
"scopeName": "source.carbon",
"path": "./carbon.tmLanguage.json"
}
],
"configuration": {
"type": "object",
"title": "Carbon Language",
"properties": {
"carbon.carbonPath": {
"type": "string",
"description": "The path to the 'carbon' binary.",
"default": "./bazel-bin/toolchain/carbon"
}
}
},
"commands": [
{
"command": "carbon.lsp.restart",
"title": "carbon: Restart language server"
}
]
},
"scripts": {
"vscode:prepublish": "npm run package",
"compile": "npm run check-types && npm run lint && node esbuild.js",
"watch": "npm-run-all -p watch:*",
"watch:esbuild": "node esbuild.js --watch",
"watch:tsc": "tsc --noEmit --watch --project tsconfig.json",
"package": "npm run check-types && npm run lint && node esbuild.js --production",
"compile-tests": "tsc -p . --outDir out",
"check-types": "tsc --noEmit",
"lint": "eslint"
},
"devDependencies": {
"@eslint/js": "^9.13.0",
"@stylistic/eslint-plugin": "^2.9.0",
"@types/node": "^20",
"@types/vscode": "^1.73.0",
"@vscode/vsce": "^2.27.0",
"esbuild": "^0.24.0",
"eslint": "^9.13.0",
"typescript": "^5.7.2",
"typescript-eslint": "^8.16.0"
},
"dependencies": {
"vscode-languageclient": "^9.0.1"
}
}