From 2578d1755c3d228d12c8b98f8df5d2bc2e03986e Mon Sep 17 00:00:00 2001 From: Shunsuke Shibayama Date: Sat, 24 Sep 2022 03:38:16 +0900 Subject: [PATCH] Update version (v0.1.0) --- .gitignore | 1 + README.md | 4 +-- TODO.md | 4 +-- extension.js | 32 ++++++++++++++++++ package-lock.json | 85 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 48 +++++++++++++++++--------- 6 files changed, 153 insertions(+), 21 deletions(-) create mode 100644 extension.js create mode 100644 package-lock.json diff --git a/.gitignore b/.gitignore index 27a1f10..3d44f07 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.vsix +node_modules \ No newline at end of file diff --git a/README.md b/README.md index e1b3e9f..1aa3543 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ # Erg language support for Visual Studio Code -__Warning__: The plugin is in a very early stage. Very few functions are available. - -The initial version is a small part fork of https://github.com/julia-vscode/julia-vscode (has started to rewritten) +This extension provides syntax highlighting and basic supports (diagnostics & code completion) for the [Erg](https://github.com/erg-lang/erg) programming language. diff --git a/TODO.md b/TODO.md index 7026a4d..3d3fb23 100644 --- a/TODO.md +++ b/TODO.md @@ -3,8 +3,8 @@ - [x] Highlighting basic syntax - [x] Highlighting build functions & types - [ ] Highlighting builtin procedures -- [ ] Display compiler checks -- [ ] Code completion +- [x] Display compiler checks +- [x] Code completion (basic) - [ ] Hovering - [ ] Jump to definition - [ ] Find references diff --git a/extension.js b/extension.js new file mode 100644 index 0000000..22a74a7 --- /dev/null +++ b/extension.js @@ -0,0 +1,32 @@ +"use strict"; +const vscode = require("vscode"); +const languageclient = require("vscode-languageclient"); + +let client; + +function activate(context) { + try { + const serverOptions = { + command: "els", + args: [] + }; + const clientOptions = { + documentSelector: [ + { + scheme: "file", + language: "erg", + } + ], + }; + client = new languageclient.LanguageClient("els", serverOptions, clientOptions); + context.subscriptions.push(client.start()); + } catch (e) { + vscode.window.showErrorMessage("failed to start els."); + } +} + +function deactivate() { + if (client) return client.stop(); +} + +module.exports = { activate, deactivate } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..59ce743 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,85 @@ +{ + "name": "vscode-erg", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "vscode-jsonrpc": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", + "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==" + }, + "vscode-languageclient": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz", + "integrity": "sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==", + "requires": { + "minimatch": "^3.0.4", + "semver": "^7.3.4", + "vscode-languageserver-protocol": "3.16.0" + } + }, + "vscode-languageserver-protocol": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", + "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", + "requires": { + "vscode-jsonrpc": "6.0.0", + "vscode-languageserver-types": "3.16.0" + } + }, + "vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } +} diff --git a/package.json b/package.json index 5d0f32c..28664ca 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "displayName": "vscode-erg", "description": "Erg language support for Visual Studio Code", "publisher": "erg-lang", - "version": "0.0.3", + "version": "0.1.0", "engines": { "vscode": "^1.70.0" }, @@ -11,21 +11,37 @@ "Programming Languages" ], "icon": "images/icon.jpg", - "repository": { - "type": "git", - "url": "https://github.com/erg-lang/vscode-erg.git" - }, + "repository": { + "type": "git", + "url": "https://github.com/erg-lang/vscode-erg.git" + }, + "main": "./extension.js", + "activationEvents": [ + "onLanguage:erg" + ], "contributes": { - "languages": [{ - "id": "erg", - "aliases": ["Erg", "erg"], - "extensions": [".er"], - "configuration": "./language-configuration.json" - }], - "grammars": [{ - "language": "erg", - "scopeName": "source.erg", - "path": "./syntaxes/erg.tmLanguage.json" - }] + "languages": [ + { + "id": "erg", + "aliases": [ + "Erg", + "erg" + ], + "extensions": [ + ".er" + ], + "configuration": "./language-configuration.json" + } + ], + "grammars": [ + { + "language": "erg", + "scopeName": "source.erg", + "path": "./syntaxes/erg.tmLanguage.json" + } + ] + }, + "dependencies": { + "vscode-languageclient": "^7.0.0" } }