aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-12-18 22:23:21 +0100
committerMinteck <contact@minteck.org>2022-12-18 22:23:21 +0100
commit0ea31495ad9f822a9514fa9b89d39e04adece358 (patch)
tree9f6ddd02ad06ac6b4e5d79e93e8bbe03764e6149
parent244b4a88ed9e63dd9b6a8b6eea3ac7d1ad339ea6 (diff)
downloadwing-creator-0ea31495ad9f822a9514fa9b89d39e04adece358.tar.gz
wing-creator-0ea31495ad9f822a9514fa9b89d39e04adece358.tar.bz2
wing-creator-0ea31495ad9f822a9514fa9b89d39e04adece358.zip
Update - This is an automated commit
-rw-r--r--CHANGELOG.md4
-rw-r--r--package.json2
-rw-r--r--server/out/completion.js4
-rw-r--r--server/out/completion.js.map2
-rw-r--r--server/out/diagnostics.js5
-rw-r--r--server/out/diagnostics.js.map2
-rw-r--r--server/out/server.js18
-rw-r--r--server/out/server.js.map2
-rw-r--r--server/src/completion.ts4
-rw-r--r--server/src/diagnostics.ts5
-rw-r--r--server/src/server.ts19
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":"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"} \ 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