diff --git a/client/src/browserClient.ts b/client/src/browserClient.ts index 7269a86..012c824 100644 --- a/client/src/browserClient.ts +++ b/client/src/browserClient.ts @@ -133,14 +133,16 @@ export async function activate(context: vscode.ExtensionContext) { e.uri.toString(), JSON.stringify(filesToCompile[i].entrypoints) ); - const contents: Uint8Array = new Uint8Array(Buffer.from( - format( - result - ? JSON.stringify(result, null, 2) - : "failed to compile!", - { parser: "json", plugins: [ babelParser ] } - ) - )); + const contents = Uint8Array.from( + Array.from( + result + ? format( + JSON.stringify(result, null, 2), + { parser: "json", plugins: [ babelParser ] } + ) + : "\"failed to compile!\"" + ).map(v => v.charCodeAt(0)) + ); workspaceEdit.createFile( filesToCompile[i].json, { overwrite: true, contents } diff --git a/client/src/nodeClient.ts b/client/src/nodeClient.ts index ac66a32..453fe6e 100644 --- a/client/src/nodeClient.ts +++ b/client/src/nodeClient.ts @@ -123,13 +123,15 @@ export async function activate(context: vscode.ExtensionContext) { e.uri.toString(), filesToCompile[i].entrypoints ); - const contents: Uint8Array = Buffer.from( - format( - result - ? JSON.stringify(result, null, 2) - : "failed to compile!", - { parser: "json" } - ) + const contents = Uint8Array.from( + Array.from( + result + ? format( + JSON.stringify(result, null, 2), + { parser: "json" } + ) + : "\"failed to compile!\"" + ).map(v => v.charCodeAt(0)) ); workspaceEdit.createFile( filesToCompile[i].json, diff --git a/rain-language-configuration.json b/rain-language-configuration.json index 4eb277c..f563330 100644 --- a/rain-language-configuration.json +++ b/rain-language-configuration.json @@ -27,6 +27,7 @@ ["[", "]"], ["/**", "*/"] ], + "wordPattern": "[a-zA-Z0-9-_]+", "onEnterRules": [ { // e.g. /** | */ diff --git a/server/package-lock.json b/server/package-lock.json index f664259..8c56132 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "license": "CAL-1.0", "dependencies": { - "@rainprotocol/rainlang": "github:rainprotocol/rainlang#9a020abd3db12e4da6618768ffca70099cc9548d", + "@rainprotocol/rainlang": "github:rainprotocol/rainlang#08876839b07baa3ddf36343fe50066fe8c18631d", "vscode-languageserver": "^8.1.0" }, "engines": { @@ -723,8 +723,8 @@ }, "node_modules/@rainprotocol/rainlang": { "version": "3.0.2", - "resolved": "git+ssh://git@github.com/rainprotocol/rainlang.git#9a020abd3db12e4da6618768ffca70099cc9548d", - "integrity": "sha512-YxnjfIgpbT8So8uP45fNpg5Dn01VhiX4jnh4dhqypuADMbJI04fb0NvokCZCqT839sB+cKBOAM8HKwPQz2BTIA==", + "resolved": "git+ssh://git@github.com/rainprotocol/rainlang.git#08876839b07baa3ddf36343fe50066fe8c18631d", + "integrity": "sha512-plYaAWznhQ+h9Zt1wPocYiUOYsAKeL/NpIUPWlmdKlIcSgzCI25DyHaq4/3zDkuJsP+wr/vgA0pNn7wp1SeQAQ==", "license": "CAL-1.0", "dependencies": { "@nohns/algebra.js": "^0.2.9", @@ -1641,9 +1641,9 @@ } }, "@rainprotocol/rainlang": { - "version": "git+ssh://git@github.com/rainprotocol/rainlang.git#9a020abd3db12e4da6618768ffca70099cc9548d", - "integrity": "sha512-YxnjfIgpbT8So8uP45fNpg5Dn01VhiX4jnh4dhqypuADMbJI04fb0NvokCZCqT839sB+cKBOAM8HKwPQz2BTIA==", - "from": "@rainprotocol/rainlang@github:rainprotocol/rainlang#9a020abd3db12e4da6618768ffca70099cc9548d", + "version": "git+ssh://git@github.com/rainprotocol/rainlang.git#08876839b07baa3ddf36343fe50066fe8c18631d", + "integrity": "sha512-plYaAWznhQ+h9Zt1wPocYiUOYsAKeL/NpIUPWlmdKlIcSgzCI25DyHaq4/3zDkuJsP+wr/vgA0pNn7wp1SeQAQ==", + "from": "@rainprotocol/rainlang@github:rainprotocol/rainlang#08876839b07baa3ddf36343fe50066fe8c18631d", "requires": { "@nohns/algebra.js": "^0.2.9", "@rainprotocol/meta": "^2.1.5", diff --git a/server/package.json b/server/package.json index 67223c2..9e7d160 100644 --- a/server/package.json +++ b/server/package.json @@ -15,7 +15,7 @@ "url": "https://github.com/rainprotocol/rainlang-vscode/issues" }, "dependencies": { - "@rainprotocol/rainlang": "github:rainprotocol/rainlang#9a020abd3db12e4da6618768ffca70099cc9548d", + "@rainprotocol/rainlang": "github:rainprotocol/rainlang#08876839b07baa3ddf36343fe50066fe8c18631d", "vscode-languageserver": "^8.1.0" } } diff --git a/server/src/browserServer.ts b/server/src/browserServer.ts index ac4d296..ba6dd0c 100644 --- a/server/src/browserServer.ts +++ b/server/src/browserServer.ts @@ -47,9 +47,9 @@ connection.onInitialize(async(params: InitializeParams) => { if (params.initializationOptions) { const settings = JSON.parse(params.initializationOptions); if (settings.localMetas) for (const hash of Object.keys(settings.localMetas)) { - metaStore.updateStore(hash, settings.localMetas[hash]); + await metaStore.updateStore(hash, settings.localMetas[hash]); } - if (settings.subgraphs) metaStore.addSubgraphs(settings.subgraphs); + if (settings.subgraphs) await metaStore.addSubgraphs(settings.subgraphs); } langServices = getRainLanguageServices({ diff --git a/server/src/nodeServer.ts b/server/src/nodeServer.ts index 6f3cbc5..f8df380 100644 --- a/server/src/nodeServer.ts +++ b/server/src/nodeServer.ts @@ -42,10 +42,10 @@ connection.onInitialize(async(params) => { if (params.initializationOptions) { if (params.initializationOptions.localMetas) { for (const hash of Object.keys(params.initializationOptions.localMetas)) { - metaStore.updateStore(hash, params.initializationOptions.localMetas[hash]); + await metaStore.updateStore(hash, params.initializationOptions.localMetas[hash]); } } - if (params.initializationOptions.subgraphs) metaStore.addSubgraphs( + if (params.initializationOptions.subgraphs) await metaStore.addSubgraphs( params.initializationOptions.subgraphs ); } diff --git a/syntaxes/rainlang-syntax.json b/syntaxes/rainlang-syntax.json index dddab9d..f213342 100644 --- a/syntaxes/rainlang-syntax.json +++ b/syntaxes/rainlang-syntax.json @@ -62,7 +62,7 @@ "name": "keyword.reserved.rainlang" }, "import": { - "match": "(@)\\s*([a-zA-Z0-9-_.]*\\s+)?(0x[a-fA-F0-9]+)\\b", + "match": "(@)\\s*([a-zA-Z][a-zA-Z0-9-_]*\\s+)?(0(x[a-fA-F0-9]*)?\\b)?", "captures": { "1": { "name": "storage.import.rainlang"