diff options
author | Minteck <contact@minteck.org> | 2022-12-18 22:23:21 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-12-18 22:23:21 +0100 |
commit | 0ea31495ad9f822a9514fa9b89d39e04adece358 (patch) | |
tree | 9f6ddd02ad06ac6b4e5d79e93e8bbe03764e6149 | |
parent | 244b4a88ed9e63dd9b6a8b6eea3ac7d1ad339ea6 (diff) | |
download | wing-creator-0ea31495ad9f822a9514fa9b89d39e04adece358.tar.gz wing-creator-0ea31495ad9f822a9514fa9b89d39e04adece358.tar.bz2 wing-creator-0ea31495ad9f822a9514fa9b89d39e04adece358.zip |
Update - This is an automated commit
-rw-r--r-- | CHANGELOG.md | 4 | ||||
-rw-r--r-- | package.json | 2 | ||||
-rw-r--r-- | server/out/completion.js | 4 | ||||
-rw-r--r-- | server/out/completion.js.map | 2 | ||||
-rw-r--r-- | server/out/diagnostics.js | 5 | ||||
-rw-r--r-- | server/out/diagnostics.js.map | 2 | ||||
-rw-r--r-- | server/out/server.js | 18 | ||||
-rw-r--r-- | server/out/server.js.map | 2 | ||||
-rw-r--r-- | server/src/completion.ts | 4 | ||||
-rw-r--r-- | server/src/diagnostics.ts | 5 | ||||
-rw-r--r-- | server/src/server.ts | 19 |
11 files changed, 43 insertions, 24 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index dbe2e10..325f448 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.2.0 + +- Performance improvements + ## 1.1.2 - Add support for events introduced in build 9.5 diff --git a/package.json b/package.json index f163536..db65e2c 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "name": "wing", "displayName": "Wing Creator", "description": "An all-in-one toolkit to develop with the Wing Programming Language", - "version": "1.1.2", + "version": "1.2.0", "repository": "https://git.equestria.dev/equestria.dev/wing-creator/", "license": "MIT", "icon": "icons/wing.png", diff --git a/server/out/completion.js b/server/out/completion.js index 5892cd3..5bb136f 100644 --- a/server/out/completion.js +++ b/server/out/completion.js @@ -1,13 +1,11 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const node_1 = require("vscode-languageserver/node"); -const node_child_process_1 = require("node:child_process"); class WingCompletion { - static run(_textDocumentPosition, textDocument) { + static run(_textDocumentPosition, textDocument, results) { let position = _textDocumentPosition.position; let currentLine = textDocument.getText().replace(/\r\n/g, "\n").split("\n")[position.line].trim(); console.log(currentLine); - let results = JSON.parse((0, node_child_process_1.execFileSync)("wing", ["--lint", "--base64", Buffer.from(textDocument.getText()).toString("base64")]).toString()); let keywords = ["function", "if", "do", "end"]; let builtin = ["include", "require", "strict", "?!", "??", "?"]; let replacements = [ diff --git a/server/out/completion.js.map b/server/out/completion.js.map index 2de71b9..7a1f4ef 100644 --- a/server/out/completion.js.map +++ b/server/out/completion.js.map @@ -1 +1 @@ -{"version":3,"file":"completion.js","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"completion.js","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"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"}
\ No newline at end of file diff --git a/server/out/diagnostics.js b/server/out/diagnostics.js index 52c4e69..cc8a76f 100644 --- a/server/out/diagnostics.js +++ b/server/out/diagnostics.js @@ -1,10 +1,9 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const node_1 = require("vscode-languageserver/node"); -const node_child_process_1 = require("node:child_process"); const vscode_languageserver_1 = require("vscode-languageserver"); class WingDiagnostics { - static run(textDocument) { + static run(textDocument, version, results) { try { const text = textDocument.getText(); let diagnostics = []; @@ -18,8 +17,6 @@ class WingDiagnostics { end ]; }); - let version = (0, node_child_process_1.execFileSync)("wing", ["--version-creator"]).toString().trim(); - let results = JSON.parse((0, node_child_process_1.execFileSync)("wing", ["--lint", "--base64", Buffer.from(textDocument.getText()).toString("base64")]).toString()); let problems = 0; for (let problem of results.problems) { problems++; diff --git a/server/out/diagnostics.js.map b/server/out/diagnostics.js.map index d924ebd..fbbf7ce 100644 --- a/server/out/diagnostics.js.map +++ b/server/out/diagnostics.js.map @@ -1 +1 @@ -{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
\ No newline at end of file diff --git a/server/out/server.js b/server/out/server.js index c7db522..6adf9f7 100644 --- a/server/out/server.js +++ b/server/out/server.js @@ -8,6 +8,7 @@ const node_1 = require("vscode-languageserver/node"); const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument"); const diagnostics_1 = require("./diagnostics"); const completion_1 = require("./completion"); +const node_child_process_1 = require("node:child_process"); // Create a connection for the server, using Node's IPC as a transport. // Also include all preview / proposed LSP features. const connection = (0, node_1.createConnection)(node_1.ProposedFeatures.all); @@ -91,15 +92,26 @@ documents.onDidClose(e => { // The content of a text document has changed. This event is emitted // when the text document first opened or when its content has changed. documents.onDidChangeContent(change => { + document = change.document; validateTextDocument(change.document); }); let currentDocument; +let results; +let version; +let document; +setInterval(() => { + if (document) { + version = (0, node_child_process_1.execFileSync)("wing", ["--version-creator"]).toString().trim(); + results = JSON.parse((0, node_child_process_1.execFileSync)("wing", ["--lint", "--base64", Buffer.from(document.getText()).toString("base64")]).toString()); + validateTextDocument(document); + } +}, 1000); async function validateTextDocument(textDocument) { - currentDocument = textDocument; + currentDocument = document = textDocument; // In this simple example we get the settings for every validate run. const settings = await getDocumentSettings(textDocument.uri); // The validator creates diagnostics for all uppercase words length 2 and more - const diagnostics = diagnostics_1.default.run(textDocument); + const diagnostics = diagnostics_1.default.run(textDocument, version, results); // Send the computed diagnostics to VSCode. connection.sendDiagnostics({ uri: textDocument.uri, diagnostics }); } @@ -109,7 +121,7 @@ connection.onDidChangeWatchedFiles(_change => { }); // This handler provides the initial list of the completion items. connection.onCompletion((_textDocumentPosition) => { - return completion_1.default.run(_textDocumentPosition, currentDocument); + return completion_1.default.run(_textDocumentPosition, currentDocument, results); }); // This handler resolves additional information for the item selected in // the completion list. diff --git a/server/out/server.js.map b/server/out/server.js.map index 650eb7f..458be7f 100644 --- a/server/out/server.js.map +++ b/server/out/server.js.map @@ -1 +1 @@ -{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AAAA;;;gGAGgG;AAChG,qDAaoC;AAEpC,2FAE4C;AAC5C,+CAA4C;AAC5C,6CAA0C;AAC1C,2DAAgD;AAEhD,uEAAuE;AACvE,oDAAoD;AACpD,MAAM,UAAU,GAAG,IAAA,uBAAgB,EAAC,uBAAgB,CAAC,GAAG,CAAC,CAAC;AAE1D,yCAAyC;AACzC,MAAM,SAAS,GAAgC,IAAI,oBAAa,CAAC,iDAAY,CAAC,CAAC;AAE/E,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,IAAI,4BAA4B,GAAG,KAAK,CAAC;AACzC,IAAI,yCAAyC,GAAG,KAAK,CAAC;AAEtD,UAAU,CAAC,YAAY,CAAC,CAAC,MAAwB,EAAE,EAAE;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAEzC,iEAAiE;IACjE,8CAA8C;IAC9C,0BAA0B,GAAG,CAAC,CAAC,CAC9B,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,CAChE,CAAC;IACF,4BAA4B,GAAG,CAAC,CAAC,CAChC,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CACnE,CAAC;IACF,yCAAyC,GAAG,CAAC,CAAC,CAC7C,YAAY,CAAC,YAAY,CACzB,CAAC;IAEF,MAAM,MAAM,GAAqB;QAChC,YAAY,EAAE;YACb,gBAAgB,EAAE,2BAAoB,CAAC,WAAW;YAClD,6DAA6D;YAC7D,kBAAkB,EAAE;gBACnB,eAAe,EAAE,IAAI;aACrB;SACD;KACD,CAAC;IACF,IAAI,4BAA4B,EAAE;QACjC,MAAM,CAAC,YAAY,CAAC,SAAS,GAAG;YAC/B,gBAAgB,EAAE;gBACjB,SAAS,EAAE,IAAI;aACf;SACD,CAAC;KACF;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;IAC7B,IAAI,0BAA0B,EAAE;QAC/B,0CAA0C;QAC1C,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,yCAAkC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KAC/E;IACD,IAAI,4BAA4B,EAAE;QACjC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE;YACzD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;KACH;AACF,CAAC,CAAC,CAAC;AAOH,uGAAuG;AACvG,wGAAwG;AACxG,uCAAuC;AACvC,MAAM,eAAe,GAAoB,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;AACvE,IAAI,cAAc,GAAoB,eAAe,CAAC;AAEtD,2CAA2C;AAC3C,MAAM,gBAAgB,GAA2C,IAAI,GAAG,EAAE,CAAC;AAE3E,UAAU,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE;IAC5C,IAAI,0BAA0B,EAAE;QAC/B,qCAAqC;QACrC,gBAAgB,CAAC,KAAK,EAAE,CAAC;KACzB;SAAM;QACN,cAAc,GAAoB,CACjC,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,IAAI,eAAe,CAAC,CAC1D,CAAC;KACF;IAED,qCAAqC;IACrC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,QAAgB;IAC5C,IAAI,CAAC,0BAA0B,EAAE;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;KACvC;IACD,IAAI,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE;QACZ,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAC9C,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,YAAY;SACrB,CAAC,CAAC;QACH,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KACvC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,wCAAwC;AACxC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;IACxB,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,oEAAoE;AACpE,uEAAuE;AACvE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;IACrC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3B,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,eAA6B,CAAC;AAClC,IAAI,OAAY,CAAC;AACjB,IAAI,OAAe,CAAC;AACpB,IAAI,QAAsB,CAAC;AAE3B,WAAW,CAAC,GAAG,EAAE;IAChB,IAAI,QAAQ,EAAE;QACb,OAAO,GAAG,IAAA,iCAAY,EAAC,MAAM,EAAE,CAAE,mBAAmB,CAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1E,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iCAAY,EAAC,MAAM,EAAE,CAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpI,oBAAoB,CAAC,QAAQ,CAAC,CAAC;KAC/B;AACF,CAAC,EAAE,IAAI,CAAC,CAAC;AAET,KAAK,UAAU,oBAAoB,CAAC,YAA0B;IAC7D,eAAe,GAAG,QAAQ,GAAG,YAAY,CAAC;IAE1C,qEAAqE;IACrE,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAE7D,8EAA8E;IAC9E,MAAM,WAAW,GAAiB,qBAAe,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEtF,2CAA2C;IAC3C,UAAU,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,UAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE;IAC5C,wCAAwC;IACxC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,kEAAkE;AAClE,UAAU,CAAC,YAAY,CAAC,CAAC,qBAAiD,EAAoB,EAAE;IAC/F,OAAO,oBAAc,CAAC,GAAG,CAAC,qBAAqB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,wEAAwE;AACxE,uBAAuB;AACvB,UAAU,CAAC,mBAAmB,CAAC,oBAAc,CAAC,MAAM,CAAC,CAAC;AAEtD,0DAA0D;AAC1D,kDAAkD;AAClD,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAE7B,2BAA2B;AAC3B,UAAU,CAAC,MAAM,EAAE,CAAC"}
\ No newline at end of file diff --git a/server/src/completion.ts b/server/src/completion.ts index bb8c35e..3e14b1e 100644 --- a/server/src/completion.ts +++ b/server/src/completion.ts @@ -8,15 +8,13 @@ import {execFileSync} from "node:child_process"; import {TextDocument} from "vscode-languageserver-textdocument"; export default class WingCompletion { - public static run(_textDocumentPosition: TextDocumentPositionParams, textDocument: TextDocument): CompletionItem[] { + public static run(_textDocumentPosition: TextDocumentPositionParams, textDocument: TextDocument, results: any): CompletionItem[] { let position = _textDocumentPosition.position; let currentLine = textDocument.getText().replace(/\r\n/g, "\n").split("\n")[position.line].trim(); console.log(currentLine); - let results = JSON.parse(execFileSync("wing", [ "--lint", "--base64", Buffer.from(textDocument.getText()).toString("base64") ]).toString()); - let keywords = ["function", "if", "do", "end"]; let builtin = ["include", "require", "strict", "?!", "??", "?"]; let replacements = [ diff --git a/server/src/diagnostics.ts b/server/src/diagnostics.ts index 2f161bc..607ed01 100644 --- a/server/src/diagnostics.ts +++ b/server/src/diagnostics.ts @@ -4,7 +4,7 @@ import {execFileSync} from "node:child_process"; import {CodeDescription, DiagnosticRelatedInformation, DiagnosticTag} from "vscode-languageserver"; export default class WingDiagnostics { - public static run(textDocument: TextDocument) { + public static run(textDocument: TextDocument, version: string, results: any) { try { const text = textDocument.getText(); let diagnostics: Diagnostic[] = []; @@ -22,9 +22,6 @@ export default class WingDiagnostics { ]; }); - let version = execFileSync("wing", [ "--version-creator" ]).toString().trim(); - let results = JSON.parse(execFileSync("wing", [ "--lint", "--base64", Buffer.from(textDocument.getText()).toString("base64") ]).toString()); - let problems = 0; for (let problem of results.problems) { diff --git a/server/src/server.ts b/server/src/server.ts index 93562d1..2b9e5bb 100644 --- a/server/src/server.ts +++ b/server/src/server.ts @@ -22,6 +22,7 @@ import { } from 'vscode-languageserver-textdocument'; import WingDiagnostics from "./diagnostics"; import WingCompletion from "./completion"; +import {execFileSync} from "node:child_process"; // Create a connection for the server, using Node's IPC as a transport. // Also include all preview / proposed LSP features. @@ -131,19 +132,31 @@ documents.onDidClose(e => { // The content of a text document has changed. This event is emitted // when the text document first opened or when its content has changed. documents.onDidChangeContent(change => { + document = change.document; validateTextDocument(change.document); }); let currentDocument: TextDocument; +let results: any; +let version: string; +let document: TextDocument; + +setInterval(() => { + if (document) { + version = execFileSync("wing", [ "--version-creator" ]).toString().trim(); + results = JSON.parse(execFileSync("wing", [ "--lint", "--base64", Buffer.from(document.getText()).toString("base64") ]).toString()); + validateTextDocument(document); + } +}, 1000); async function validateTextDocument(textDocument: TextDocument): Promise<void> { - currentDocument = textDocument; + currentDocument = document = textDocument; // In this simple example we get the settings for every validate run. const settings = await getDocumentSettings(textDocument.uri); // The validator creates diagnostics for all uppercase words length 2 and more - const diagnostics: Diagnostic[] = WingDiagnostics.run(textDocument); + const diagnostics: Diagnostic[] = WingDiagnostics.run(textDocument, version, results); // Send the computed diagnostics to VSCode. connection.sendDiagnostics({ uri: textDocument.uri, diagnostics }); @@ -156,7 +169,7 @@ connection.onDidChangeWatchedFiles(_change => { // This handler provides the initial list of the completion items. connection.onCompletion((_textDocumentPosition: TextDocumentPositionParams): CompletionItem[] => { - return WingCompletion.run(_textDocumentPosition, currentDocument); + return WingCompletion.run(_textDocumentPosition, currentDocument, results); }); // This handler resolves additional information for the item selected in |