1 Commits

Author SHA1 Message Date
Kolja Lampe
c00cc0c450 Add test commands 2019-12-04 19:55:48 +01:00
9 changed files with 106 additions and 69 deletions

View File

@@ -1,14 +1,5 @@
# Change Log
## 0.7.4
- Improve type alias and type highlighting for some cases
- Update the language server
- Fix type annotations not showing for local parameters
- Fix files without module declaration not getting added to our index
- Fix rename devouring Module prefixes
## 0.7.3
- Fix a case of wrong highlighting

View File

@@ -11,15 +11,15 @@
"dev": true
},
"@types/node": {
"version": "13.1.4",
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.4.tgz",
"integrity": "sha512-Lue/mlp2egZJoHXZr4LndxDAd7i/7SQYhV0EjWfb/a4/OZ6tuVwMCVPiwkU5nsEipxEf7hmkSU7Em5VQ8P5NGA==",
"version": "12.7.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.8.tgz",
"integrity": "sha512-FMdVn84tJJdV+xe+53sYiZS4R5yn1mAIxfj+DVoNiQjTYz1+OYmjwEZr1ev9nU0axXwda0QDbYl06QHanRVH3A==",
"dev": true
},
"@types/request": {
"version": "2.48.4",
"resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.4.tgz",
"integrity": "sha512-W1t1MTKYR8PxICH+A4HgEIPuAC3sbljoEVfyZbeFJJDbr30guDspJri2XOaM2E+Un7ZjrihaDi7cf6fPa2tbgw==",
"version": "2.48.3",
"resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.3.tgz",
"integrity": "sha512-3Wo2jNYwqgXcIz/rrq18AdOZUQB8cQ34CXZo+LUwPJNpvRAL86+Kc2wwI8mqpz9Cr1V+enIox5v+WZhy/p3h8w==",
"dev": true,
"requires": {
"@types/caseless": "*",
@@ -29,15 +29,15 @@
}
},
"@types/tough-cookie": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.6.tgz",
"integrity": "sha512-wHNBMnkoEBiRAd3s8KTKwIuO9biFtTf0LehITzBhSco+HQI0xkXZbLOD55SW3Aqw3oUkHstkm5SPv58yaAdFPQ==",
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz",
"integrity": "sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==",
"dev": true
},
"@types/vscode": {
"version": "1.41.0",
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.41.0.tgz",
"integrity": "sha512-7SfeY5u9jgiELwxyLB3z7l6l/GbN9CqpCQGkcRlB7tKRFBxzbz2PoBfGrLxI1vRfUCIq5+hg5vtDHExwq5j3+A==",
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.40.0.tgz",
"integrity": "sha512-5kEIxL3qVRkwhlMerxO7XuMffa+0LBl+iG2TcRa0NsdoeSFLkt/9hJ02jsi/Kvc6y8OVF2N2P2IHP5S4lWf/5w==",
"dev": true
},
"agent-base": {
@@ -184,18 +184,18 @@
"dev": true
},
"mime-db": {
"version": "1.42.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz",
"integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==",
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
"integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
"dev": true
},
"mime-types": {
"version": "2.1.25",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz",
"integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==",
"version": "2.1.24",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
"integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
"dev": true,
"requires": {
"mime-db": "1.42.0"
"mime-db": "1.40.0"
}
},
"minimatch": {
@@ -243,9 +243,9 @@
"integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
},
"typescript": {
"version": "3.7.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz",
"integrity": "sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==",
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz",
"integrity": "sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ==",
"dev": true
},
"vscode-jsonrpc": {
@@ -277,9 +277,9 @@
"integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A=="
},
"vscode-test": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-1.3.0.tgz",
"integrity": "sha512-LddukcBiSU2FVTDr3c1D8lwkiOvwlJdDL2hqVbn6gIz+rpTqUCkMZSKYm94Y1v0WXlHSDQBsXyY+tchWQgGVsw==",
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-1.2.3.tgz",
"integrity": "sha512-mKRTNso33NaUULiPBFg6zRjyntjcCpIgkrogyPQuKlvoQREQR8jLKN5UD4L5rkTSD+oBhcKtaLR2/g34FexURw==",
"dev": true,
"requires": {
"http-proxy-agent": "^2.1.0",

View File

@@ -19,9 +19,9 @@
"vscode-languageclient": "^5.2.1"
},
"devDependencies": {
"@types/request": "^2.48.4",
"@types/vscode": "^1.41.0",
"vscode-test": "^1.3.0",
"typescript": "3.7.4"
"@types/request": "^2.48.3",
"@types/vscode": "^1.40.0",
"vscode-test": "^1.2.3",
"typescript": "3.7.2"
}
}

View File

@@ -57,7 +57,7 @@ function getInstallPackageCommand(packageToInstall: string): string {
"elmLS",
);
let t: string = config.get("elmPath") as string;
t = t ?? "elm";
t = t || "elm";
return t + " install " + packageToInstall;
}

View File

@@ -2,6 +2,7 @@ import * as path from "path";
import {
CancellationToken,
CodeLens,
commands,
ExtensionContext,
Location,
OutputChannel,
@@ -37,6 +38,7 @@ export interface IClientSettings {
}
const clients: Map<string, LanguageClient> = new Map();
let elmCommandsRegistered: boolean = false;
let sortedWorkspaceFolders: string[] | undefined;
@@ -148,8 +150,12 @@ export async function activate(context: ExtensionContext) {
client.start();
clients.set(folder.uri.toString(), client);
}
if (elmCommandsRegistered) {
registerElmCommand("elmLS.runTests", context);
registerElmCommand("elmLS.runTestsCurrentFile", context);
elmCommandsRegistered = true;
}
}
Workspace.onDidOpenTextDocument(didOpenTextDocument);
Workspace.textDocuments.forEach(didOpenTextDocument);
Workspace.onDidChangeWorkspaceFolders(event => {
@@ -166,6 +172,36 @@ export async function activate(context: ExtensionContext) {
packageDisposables.forEach(d => context.subscriptions.push(d));
}
async function registerElmCommand(command: string, context: ExtensionContext) {
const editorCmd = commands.registerTextEditorCommand(
command,
(editor, edit) => {
const cmd = {
arguments: [
{
file: editor.document.uri.toString(),
pos: editor.selections[0].active,
},
],
command,
};
// Get the current file and workspace folder.
const uri = editor.document.uri;
const folder = Workspace.getWorkspaceFolder(uri);
// If there is a client registered for this workspace, use that client.
if (folder !== undefined && clients.has(folder.uri.toString())) {
const client = clients.get(folder.uri.toString());
if (client !== undefined) {
client.sendRequest("workspace/executeCommand", cmd).then(_ => {
return true;
});
}
}
},
);
context.subscriptions.push(editorCmd);
}
export function deactivate(): Thenable<void> | undefined {
const promises: Array<Thenable<void>> = [];
for (const client of clients.values()) {

32
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "elm-ls-vscode",
"version": "0.7.4",
"version": "0.7.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -61,24 +61,24 @@
}
},
"@types/jest": {
"version": "24.0.25",
"resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.25.tgz",
"integrity": "sha512-hnP1WpjN4KbGEK4dLayul6lgtys6FPz0UfxMeMQCv0M+sTnzN3ConfiO72jHgLxl119guHgI8gLqDOrRLsyp2g==",
"version": "24.0.23",
"resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.23.tgz",
"integrity": "sha512-L7MBvwfNpe7yVPTXLn32df/EK+AMBFAFvZrRuArGs7npEWnlziUXK+5GMIUTI4NIuwok3XibsjXCs5HxviYXjg==",
"dev": true,
"requires": {
"jest-diff": "^24.3.0"
}
},
"@types/node": {
"version": "13.1.4",
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.4.tgz",
"integrity": "sha512-Lue/mlp2egZJoHXZr4LndxDAd7i/7SQYhV0EjWfb/a4/OZ6tuVwMCVPiwkU5nsEipxEf7hmkSU7Em5VQ8P5NGA==",
"version": "12.12.12",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.12.tgz",
"integrity": "sha512-MGuvYJrPU0HUwqF7LqvIj50RZUX23Z+m583KBygKYUZLlZ88n6w28XRNJRJgsHukLEnLz6w6SvxZoLgbr5wLqQ==",
"dev": true
},
"@types/yargs": {
"version": "13.0.4",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.4.tgz",
"integrity": "sha512-Ke1WmBbIkVM8bpvsNEcGgQM70XcEh/nbpxQhW7FhrsbCsXSY9BmLB1+LHtD7r9zrsOcFlLiF+a/UeJsdfw3C5A==",
"version": "13.0.3",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz",
"integrity": "sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==",
"dev": true,
"requires": {
"@types/yargs-parser": "*"
@@ -749,9 +749,9 @@
"dev": true
},
"tslint-plugin-prettier": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/tslint-plugin-prettier/-/tslint-plugin-prettier-2.1.0.tgz",
"integrity": "sha512-nMCpU+QSpXtydcWXeZF+3ljIbG/K8SHVZwB7K/MtuoQQFXxXN6watqTSBpVXCInuPFvmjiWkhxeMoUW4N0zgSg==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/tslint-plugin-prettier/-/tslint-plugin-prettier-2.0.1.tgz",
"integrity": "sha512-4FX9JIx/1rKHIPJNfMb+ooX1gPk5Vg3vNi7+dyFYpLO+O57F4g+b/fo1+W/G0SUOkBLHB/YKScxjX/P+7ZT/Tw==",
"dev": true,
"requires": {
"eslint-plugin-prettier": "^2.2.0",
@@ -791,9 +791,9 @@
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"typescript": {
"version": "3.7.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz",
"integrity": "sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==",
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz",
"integrity": "sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ==",
"dev": true
},
"uri-js": {

View File

@@ -6,7 +6,7 @@
"icon": "images/elm.png",
"author": "Kolja Lampe",
"license": "MIT",
"version": "0.7.4",
"version": "0.7.3",
"repository": {
"type": "git",
"url": "https://github.com/elm-tooling/elm-language-client-vscode"
@@ -78,6 +78,16 @@
"command": "elm.browsePackage",
"title": "Browse Package",
"category": "Elm"
},
{
"command": "elmLS.runTestsCurrentFile",
"title": "Run tests for this file",
"category": "Elm"
},
{
"command": "elmLS.runTests",
"title": "Run all tests",
"category": "Elm"
}
],
"configuration": {
@@ -141,13 +151,13 @@
"request": "2.88.0"
},
"devDependencies": {
"@types/jest": "^24.0.25",
"@types/node": "^13.1.4",
"@types/jest": "^24.0.23",
"@types/node": "^12.12.12",
"prettier": "^1.19.1",
"tslint": "^5.20.1",
"tslint-config-prettier": "^1.18.0",
"tslint-plugin-prettier": "^2.1.0",
"tslint-plugin-prettier": "^2.0.1",
"tslint-sonarts": "^1.9.0",
"typescript": "3.7.4"
"typescript": "3.7.2"
}
}

2
server

Submodule server updated: da6c098d15...6ce009b897

View File

@@ -29,14 +29,14 @@
"include": "#type-alias-declaration"
},
{
"include": "#string-triple"
},
{
"include": "#string-quote"
"include": "#string-double"
},
{
"include": "#char"
},
{
"include": "#string-triple"
},
{
"comment": "Floats are always decimal",
"match": "\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b",
@@ -311,7 +311,7 @@
}
]
},
"string-quote": {
"string-double": {
"name": "string.quoted.double.elm",
"begin": "\"",
"beginCaptures": {
@@ -498,7 +498,7 @@
"name": "storage.type.elm"
}
},
"end": "^(?=\\S)",
"end": "^\\n$",
"name": "meta.function.type-declaration.elm",
"patterns": [
{
@@ -557,7 +557,7 @@
"name": "storage.type.elm"
}
},
"end": "^(?=\\S)",
"end": "^\\n$",
"name": "meta.function.type-declaration.elm",
"patterns": [
{