From ad121e9db1e26a4953af7fee63083694f569f3aa Mon Sep 17 00:00:00 2001 From: Spiros Grigoratos Date: Tue, 7 Feb 2023 16:40:54 +0200 Subject: [PATCH 01/10] init semantic errors --- server/src/parser/index.ts | 91 ++++++++++++++++++++++++++++++------- vsc-extension-quickstart.md | 2 +- 2 files changed, 75 insertions(+), 18 deletions(-) diff --git a/server/src/parser/index.ts b/server/src/parser/index.ts index 370ac0d..2388006 100644 --- a/server/src/parser/index.ts +++ b/server/src/parser/index.ts @@ -2,7 +2,10 @@ import { OriginalParserError, TParserInputData, isParserErrors, + isIntermediateASTValidationErrors, + IntermediateAST, transpiler, + OriginalValidatorError, } from '@bitloops/bl-transpiler'; import { Diagnostic } from 'vscode-languageserver/node.js'; import { TextDocument } from 'vscode-languageserver-textdocument'; @@ -19,6 +22,16 @@ export class BitloopsAnalyzer implements IAnalyzer { const diagnostics = this.mapParserErrorsToLSPDiagnostics(intermediateModel, document); return diagnostics; } + const validatedIntermediateModel = transpiler.validateIntermediateModel( + intermediateModel as IntermediateAST, + ); + if (isIntermediateASTValidationErrors(validatedIntermediateModel)) { + const diagnostics = this.mapValidatorErrorsToLSPDiagnostics( + validatedIntermediateModel, + document, + ); + return diagnostics; + } return []; } catch (e) { console.log('error', e); @@ -26,29 +39,51 @@ export class BitloopsAnalyzer implements IAnalyzer { } } + // private documentToParserInputData(document: TextDocument): TParserInputData { + // const res: Partial = {}; + // const setup = []; + // const core = []; + + // if (document.uri.endsWith('setup.bl')) + // setup.push({ + // fileId: document.uri.split('/').slice(-1)[0], + // fileContents: document.getText(), + // }); + // // Handle possibly unknown bounded context and module + // const boundedContext = document.uri.split('/')?.slice(-3)?.[0] ?? 'unknown'; + // const module = document.uri.split('/')?.slice(-2)?.[0] ?? 'unknown'; + // core.push({ + // boundedContext, + // module, + // fileId: document.uri.split('/').slice(-1)[0], + // fileContents: document.getText(), + // }); + // res.setup = setup; + // res.core = core; + // return res as TParserInputData; + // } + private documentToParserInputData(document: TextDocument): TParserInputData { const res: Partial = {}; + const setup = []; + const core = []; - if (document.uri.endsWith('setup.bl')) { - res.setup = [ - { - fileId: document.uri.split('/').slice(-1)[0], - fileContents: document.getText(), - }, - ]; - return res as TParserInputData; - } + if (document.uri.endsWith('setup.bl')) + setup.push({ + fileId: document.uri.split('/').slice(-1)[0], + fileContents: document.getText(), + }); // Handle possibly unknown bounded context and module const boundedContext = document.uri.split('/')?.slice(-3)?.[0] ?? 'unknown'; const module = document.uri.split('/')?.slice(-2)?.[0] ?? 'unknown'; - res.core = [ - { - boundedContext, - module, - fileId: document.uri.split('/').slice(-1)[0], - fileContents: document.getText(), - }, - ]; + core.push({ + boundedContext, + module, + fileId: document.uri.split('/').slice(-1)[0], + fileContents: document.getText(), + }); + res.setup = setup; + res.core = core; return res as TParserInputData; } @@ -67,4 +102,26 @@ export class BitloopsAnalyzer implements IAnalyzer { ), ); } + + mapValidatorErrorsToLSPDiagnostics( + validatorErrors: OriginalValidatorError, + document: TextDocument, + ): Diagnostic[] { + return validatorErrors.map((e) => + DiagnosticFactory.create( + 1, + { + start: { + line: e.metadata.start.line - 1, + character: e.metadata.start.column - 1, + }, + end: { + line: e.metadata.end.line - 1, + character: e.metadata.end.column - 1, + }, + }, + `line: ${e.metadata.start.line}:${e.metadata.start.column} , msg: ${e.message}`, + ), + ); + } } diff --git a/vsc-extension-quickstart.md b/vsc-extension-quickstart.md index 26f9463..0620419 100644 --- a/vsc-extension-quickstart.md +++ b/vsc-extension-quickstart.md @@ -9,7 +9,7 @@ ## Get up and running straight away -- `npm install` +- `yarn` - `npm run compile` - Make sure the language configuration settings in `language-configuration.json` are accurate. - Press `F5` to open a new window with your extension loaded. From 042b0016ec9bd52a54eac337bc3d53beee10664d Mon Sep 17 00:00:00 2001 From: Spiros Grigoratos Date: Wed, 8 Feb 2023 18:28:32 +0200 Subject: [PATCH 02/10] semantic errors --- server/src/analyzer.ts | 13 +-- server/src/diagnostic.ts | 3 +- server/src/parser/index.ts | 170 +++++++++++++++++++------------------ server/src/server.ts | 31 ++++--- server/src/types.ts | 20 ++++- 5 files changed, 137 insertions(+), 100 deletions(-) diff --git a/server/src/analyzer.ts b/server/src/analyzer.ts index 1ff8ab3..6bab110 100644 --- a/server/src/analyzer.ts +++ b/server/src/analyzer.ts @@ -9,17 +9,20 @@ export interface IAnalyzer { /** * It analyzes the document and returns a list of diagnostics. */ - analyze(document: TextDocument): Diagnostic[]; + analyze(document: TextDocument): Record; } let problems = 0; export class RegexAnalyzer implements IAnalyzer { - public analyze(textDocument: TextDocument): Diagnostic[] { - let diagnostics: Diagnostic[] = []; - diagnostics = diagnostics.concat(this.validateComponents(textDocument)); + public analyze(textDocument: TextDocument): Record { + let diagnostics: Record = {}; + diagnostics[textDocument.uri] = []; + diagnostics[textDocument.uri] = diagnostics[textDocument.uri].concat( + this.validateComponents(textDocument), + ); // connection.console.log(`[validate] ${textDocument.uri} has ${diagnostics.length} for ${text}`); - problems = diagnostics.length; + problems = diagnostics[textDocument.uri].length; return diagnostics; } diff --git a/server/src/diagnostic.ts b/server/src/diagnostic.ts index ff527b9..1cfdbc3 100644 --- a/server/src/diagnostic.ts +++ b/server/src/diagnostic.ts @@ -12,6 +12,7 @@ export class DiagnosticFactory { severity: LogLevel, range: Range, message: string, + uri?: string, addRelatedInformation?: string[], ): Diagnostic { message = this.prefixMessage(message, severity); @@ -27,7 +28,7 @@ export class DiagnosticFactory { diagnostic.relatedInformation.push({ location: { // TODO? add TextDocument uri? - uri: '', + uri: uri, range: range, }, message: related, diff --git a/server/src/parser/index.ts b/server/src/parser/index.ts index 2388006..4f95f50 100644 --- a/server/src/parser/index.ts +++ b/server/src/parser/index.ts @@ -11,94 +11,91 @@ import { Diagnostic } from 'vscode-languageserver/node.js'; import { TextDocument } from 'vscode-languageserver-textdocument'; import { IAnalyzer } from '../analyzer.js'; import { DiagnosticFactory } from '../diagnostic.js'; +import { TParserCoreInputData, TParserSetupInputData } from '../types.js'; export class BitloopsAnalyzer implements IAnalyzer { - static diagnostics: Diagnostic[] = []; - analyze(document: TextDocument): Diagnostic[] { + private diagnostics: Record = {}; + private res: Partial = {}; + private setup: Record = {}; + private core: Record = {}; + analyze(document: TextDocument): Record { try { const transpileInputData = this.documentToParserInputData(document); const intermediateModel = transpiler.bitloopsCodeToIntermediateModel(transpileInputData); if (isParserErrors(intermediateModel)) { - const diagnostics = this.mapParserErrorsToLSPDiagnostics(intermediateModel, document); - return diagnostics; + this.mapParserErrorsToLSPDiagnostics(intermediateModel, document); + return this.diagnostics; } const validatedIntermediateModel = transpiler.validateIntermediateModel( intermediateModel as IntermediateAST, ); if (isIntermediateASTValidationErrors(validatedIntermediateModel)) { - const diagnostics = this.mapValidatorErrorsToLSPDiagnostics( - validatedIntermediateModel, - document, - ); - return diagnostics; + this.mapValidatorErrorsToLSPDiagnostics(validatedIntermediateModel, document); + return this.diagnostics; } - return []; + return this.diagnostics; } catch (e) { console.log('error', e); - return []; + return {}; } } - // private documentToParserInputData(document: TextDocument): TParserInputData { - // const res: Partial = {}; - // const setup = []; - // const core = []; - - // if (document.uri.endsWith('setup.bl')) - // setup.push({ - // fileId: document.uri.split('/').slice(-1)[0], - // fileContents: document.getText(), - // }); - // // Handle possibly unknown bounded context and module - // const boundedContext = document.uri.split('/')?.slice(-3)?.[0] ?? 'unknown'; - // const module = document.uri.split('/')?.slice(-2)?.[0] ?? 'unknown'; - // core.push({ - // boundedContext, - // module, - // fileId: document.uri.split('/').slice(-1)[0], - // fileContents: document.getText(), - // }); - // res.setup = setup; - // res.core = core; - // return res as TParserInputData; - // } - private documentToParserInputData(document: TextDocument): TParserInputData { - const res: Partial = {}; - const setup = []; - const core = []; - + if (!(document.uri in this.diagnostics)) this.diagnostics[document.uri] = []; if (document.uri.endsWith('setup.bl')) - setup.push({ - fileId: document.uri.split('/').slice(-1)[0], - fileContents: document.getText(), - }); + this.setup[document.uri] = [ + { + // fileId: document.uri.split('/').slice(-1)[0], + fileId: document.uri, + fileContents: document.getText(), + }, + ]; // Handle possibly unknown bounded context and module - const boundedContext = document.uri.split('/')?.slice(-3)?.[0] ?? 'unknown'; - const module = document.uri.split('/')?.slice(-2)?.[0] ?? 'unknown'; - core.push({ - boundedContext, - module, - fileId: document.uri.split('/').slice(-1)[0], - fileContents: document.getText(), - }); - res.setup = setup; - res.core = core; - return res as TParserInputData; - } - - mapParserErrorsToLSPDiagnostics( - parserErrors: OriginalParserError, - document: TextDocument, - ): Diagnostic[] { - return parserErrors.map((e) => - DiagnosticFactory.create( - 1, + else { + //better handle for bc and module - maybe workspace + const boundedContext = document.uri.split('/')?.slice(-3)?.[0] ?? 'unknown'; + const module = document.uri.split('/')?.slice(-2)?.[0] ?? 'unknown'; + this.core[document.uri] = [ { - start: document.positionAt(e.start), - end: document.positionAt(e.stop), + boundedContext, + module, + // fileId: document.uri.split('/').slice(-1)[0], + fileId: document.uri, + fileContents: document.getText(), }, - `line: ${e.line}:${e.column}, offendingSymbol: ${e.offendingToken.text}, msg: ${e.message}`, + ]; + } + this.res.core = []; + this.res.setup = []; + for (const core of Object.values(this.core)) { + this.res.core.push(...core); + } + for (const setup of Object.values(this.setup)) { + this.res.setup.push(...setup); + } + for (const key in this.diagnostics) { + this.diagnostics[key] = []; + } + return this.res as TParserInputData; + } + mapParserErrorsToLSPDiagnostics(parserErrors: OriginalParserError, document: TextDocument): void { + parserErrors.forEach((e) => { + this.diagnostics[e.fileId] = []; + }); + for (const key in this.diagnostics) { + this.diagnostics[key] = []; + } + parserErrors.map((e) => + this.diagnostics[e.fileId].push( + DiagnosticFactory.create( + 1, + { + start: document.positionAt(e.start), + end: document.positionAt(e.stop), + }, + `line: ${e.line}:${e.column}, offendingSymbol: ${e.offendingToken.text}, msg: ${e.message}`, + document.uri, + ), ), ); } @@ -106,22 +103,31 @@ export class BitloopsAnalyzer implements IAnalyzer { mapValidatorErrorsToLSPDiagnostics( validatorErrors: OriginalValidatorError, document: TextDocument, - ): Diagnostic[] { - return validatorErrors.map((e) => - DiagnosticFactory.create( - 1, - { - start: { - line: e.metadata.start.line - 1, - character: e.metadata.start.column - 1, - }, - end: { - line: e.metadata.end.line - 1, - character: e.metadata.end.column - 1, + ): void { + validatorErrors.forEach((e) => { + this.diagnostics[e.metadata.fileId] = []; + }); + for (const key in this.diagnostics) { + this.diagnostics[key] = []; + } + validatorErrors.map((e) => { + this.diagnostics[e.metadata.fileId].push( + DiagnosticFactory.create( + 1, + { + start: { + line: e.metadata.start.line - 1, + character: e.metadata.start.column - 1, + }, + end: { + line: e.metadata.end.line - 1, + character: e.metadata.end.column - 1, + }, }, - }, - `line: ${e.metadata.start.line}:${e.metadata.start.column} , msg: ${e.message}`, - ), - ); + `line: ${e.metadata.start.line}:${e.metadata.start.column} , msg: ${e.message}`, + e.metadata.fileId, + ), + ); + }); } } diff --git a/server/src/server.ts b/server/src/server.ts index 86464d3..5e73056 100644 --- a/server/src/server.ts +++ b/server/src/server.ts @@ -6,6 +6,7 @@ import { InitializeResult, TextDocumentSyncKind, DidChangeConfigurationNotification, + Diagnostic, } from 'vscode-languageserver/node.js'; import { TextDocument } from 'vscode-languageserver-textdocument'; @@ -24,7 +25,7 @@ import { BitloopsAnalyzer } from './parser/index.js'; export class BitloopsServer { private connection: _Connection; private settingsManger: WorkspaceSettingsManager; - private analyzer: IAnalyzer; + private analyzer: BitloopsAnalyzer; private lspClient: ILspClient; // Default Global Settings @@ -41,17 +42,13 @@ export class BitloopsServer { } public async onDidChangeContent(change: TextDocumentChangeEvent): Promise { - const settings = await this.settingsManger.getDocumentSettings( - change.document.uri, - this.hasConfigurationCapability, - this.connection, - ); - // We could use retrieved settings here to change the way we parse the document - - const diagnostics = this.analyzer.analyze(change.document); - this.lspClient.publishDiagnostics({ uri: change.document.uri, diagnostics }); + this.createDiagnostics(change.document); } + // public async onDidOpen(change: TextDocumentChangeEvent): Promise { + // this.createDiagnostics(change.document); + // } + public onInitialize(params: InitializeParams): InitializeResult { const capabilities = params.capabilities; this.hasConfigurationCapability = !!( @@ -98,4 +95,18 @@ export class BitloopsServer { public completion = CompletionItemProvider.onCompletion; public completionResolve = CompletionItemProvider.onCompletionResolve; + + private async createDiagnostics(document: TextDocument): Promise { + const settings = await this.settingsManger.getDocumentSettings( + document.uri, + this.hasConfigurationCapability, + this.connection, + ); + // We could use retrieved settings here to change the way we parse the document + + const diagnostics = this.analyzer.analyze(document); + for (const [uri, diagnostic] of Object.entries(diagnostics)) { + this.lspClient.publishDiagnostics({ uri: uri, diagnostics: diagnostic }); + } + } } diff --git a/server/src/types.ts b/server/src/types.ts index 71f3be5..e55d954 100644 --- a/server/src/types.ts +++ b/server/src/types.ts @@ -87,6 +87,11 @@ export type TParserCoreInputData = { fileContents: TFileContents; }[]; +export type TParserSetupInputData = { + fileId: TFileId; + fileContents: TFileContents; +}[]; + export type TASTCoreInputData = { boundedContext: string; classes: Record>; @@ -126,7 +131,14 @@ export type TBitloopsTargetGeneratorParams = { sourceDirPath?: string; // TODO remove this after making the package files injectable in the setup }; -export type TBitloopsClasses = TProps | TValueObjects | TRESTController | TUseCase | TDomainErrors | TDTO | TStructs; +export type TBitloopsClasses = + | TProps + | TValueObjects + | TRESTController + | TUseCase + | TDomainErrors + | TDTO + | TStructs; export type TModuleName = string; export type TBoundedContext = Record; @@ -932,7 +944,11 @@ export type TIdentifierExpression = { }; export type TLogicalSingleExpression = { - logicalExpression: TNotSingleExpression | TAndSingleExpression | TOrSingleExpression | TXorSingleExpression; + logicalExpression: + | TNotSingleExpression + | TAndSingleExpression + | TOrSingleExpression + | TXorSingleExpression; }; export type TNotSingleExpression = { From af5ed302b84d221e37fb0a2427118b952b23d16e Mon Sep 17 00:00:00 2001 From: Spiros Grigoratos Date: Thu, 9 Feb 2023 11:22:53 +0200 Subject: [PATCH 03/10] show multiple syntax errors --- server/src/parser/index.ts | 4 ++-- server/src/server.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/src/parser/index.ts b/server/src/parser/index.ts index 4f95f50..ffa5ad9 100644 --- a/server/src/parser/index.ts +++ b/server/src/parser/index.ts @@ -41,6 +41,7 @@ export class BitloopsAnalyzer implements IAnalyzer { } private documentToParserInputData(document: TextDocument): TParserInputData { + //giving file id as uri for now if (!(document.uri in this.diagnostics)) this.diagnostics[document.uri] = []; if (document.uri.endsWith('setup.bl')) this.setup[document.uri] = [ @@ -52,7 +53,6 @@ export class BitloopsAnalyzer implements IAnalyzer { ]; // Handle possibly unknown bounded context and module else { - //better handle for bc and module - maybe workspace const boundedContext = document.uri.split('/')?.slice(-3)?.[0] ?? 'unknown'; const module = document.uri.split('/')?.slice(-2)?.[0] ?? 'unknown'; this.core[document.uri] = [ @@ -94,7 +94,7 @@ export class BitloopsAnalyzer implements IAnalyzer { end: document.positionAt(e.stop), }, `line: ${e.line}:${e.column}, offendingSymbol: ${e.offendingToken.text}, msg: ${e.message}`, - document.uri, + e.fileId, ), ), ); diff --git a/server/src/server.ts b/server/src/server.ts index 5e73056..3819a59 100644 --- a/server/src/server.ts +++ b/server/src/server.ts @@ -25,7 +25,7 @@ import { BitloopsAnalyzer } from './parser/index.js'; export class BitloopsServer { private connection: _Connection; private settingsManger: WorkspaceSettingsManager; - private analyzer: BitloopsAnalyzer; + private analyzer: IAnalyzer; private lspClient: ILspClient; // Default Global Settings From 89048db588b945cf1d9b5211fd6225ceb4b7c90b Mon Sep 17 00:00:00 2001 From: Spiros Grigoratos Date: Thu, 9 Feb 2023 15:42:26 +0200 Subject: [PATCH 04/10] lsp semantic errors --- server/src/parser/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/parser/index.ts b/server/src/parser/index.ts index ffa5ad9..d89e8e1 100644 --- a/server/src/parser/index.ts +++ b/server/src/parser/index.ts @@ -52,7 +52,7 @@ export class BitloopsAnalyzer implements IAnalyzer { }, ]; // Handle possibly unknown bounded context and module - else { + else if (document.uri.endsWith('.bl')) { const boundedContext = document.uri.split('/')?.slice(-3)?.[0] ?? 'unknown'; const module = document.uri.split('/')?.slice(-2)?.[0] ?? 'unknown'; this.core[document.uri] = [ From 9d7af651f2175adfaf9b821c203880149331b8f3 Mon Sep 17 00:00:00 2001 From: Spiros Grigoratos Date: Thu, 9 Feb 2023 17:03:02 +0200 Subject: [PATCH 05/10] changed function called for validation --- server/src/parser/index.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/server/src/parser/index.ts b/server/src/parser/index.ts index d89e8e1..ffa2d24 100644 --- a/server/src/parser/index.ts +++ b/server/src/parser/index.ts @@ -3,7 +3,6 @@ import { TParserInputData, isParserErrors, isIntermediateASTValidationErrors, - IntermediateAST, transpiler, OriginalValidatorError, } from '@bitloops/bl-transpiler'; @@ -26,11 +25,8 @@ export class BitloopsAnalyzer implements IAnalyzer { this.mapParserErrorsToLSPDiagnostics(intermediateModel, document); return this.diagnostics; } - const validatedIntermediateModel = transpiler.validateIntermediateModel( - intermediateModel as IntermediateAST, - ); - if (isIntermediateASTValidationErrors(validatedIntermediateModel)) { - this.mapValidatorErrorsToLSPDiagnostics(validatedIntermediateModel, document); + if (isIntermediateASTValidationErrors(intermediateModel)) { + this.mapValidatorErrorsToLSPDiagnostics(intermediateModel, document); return this.diagnostics; } return this.diagnostics; From f3ce727713f20e83b6e0ca92f9883cae3ff53130 Mon Sep 17 00:00:00 2001 From: Spiros Grigoratos Date: Thu, 9 Feb 2023 17:19:52 +0200 Subject: [PATCH 06/10] added package --- server/package.json | 2 +- server/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/server/package.json b/server/package.json index a613b0f..ae86678 100644 --- a/server/package.json +++ b/server/package.json @@ -10,7 +10,7 @@ "type": "module", "scripts": {}, "dependencies": { - "@bitloops/bl-transpiler": "^0.1.0", + "@bitloops/bl-transpiler": "^0.2.0", "vscode-languageserver": "^7.0.0", "vscode-languageserver-textdocument": "^1.0.4" }, diff --git a/server/yarn.lock b/server/yarn.lock index 4d9a7af..39d5104 100644 --- a/server/yarn.lock +++ b/server/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@bitloops/bl-transpiler@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@bitloops/bl-transpiler/-/bl-transpiler-0.1.0.tgz#babf5f8ab4c02b23c75c1dca53ebb94d02f33d57" - integrity sha512-HMsU+6ggV/+sRQRbDbzpgZhm7fE06YORfW207ayJYlotVuGhvefyWRqtWjE2da5W37Ora+a+kQwdGW9ArP05ow== +"@bitloops/bl-transpiler@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@bitloops/bl-transpiler/-/bl-transpiler-0.2.0.tgz#0829384701af3086737e9c30ac724c19dd624e74" + integrity sha512-PYcg08m0YCwWzLkufgB3ULgFncSW1BE50qdp5DiMFyRT/5mioDT9hiFcl0cRZJDY8s5hMeWkDRogSI17SOSCtw== dependencies: antlr4 "^4.11.0" lodash "^4.17.21" From 36587fd0eb4c62f04df5cc69ac421e9512d8e4a5 Mon Sep 17 00:00:00 2001 From: Spiros Grigoratos Date: Thu, 9 Feb 2023 17:22:51 +0200 Subject: [PATCH 07/10] changed versions --- CHANGELOG.md | 4 ++++ package.json | 2 +- server/package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a605d8..f71ee4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to the "bitloops-language" extension will be documented in t Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. +### 0.1.2 + +Added validator for semantic and syntactic errors + ### 0.1.1 Added transpiler package dependency diff --git a/package.json b/package.json index 6eaf030..7a261fa 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "icon": "assets/images/bitloops-language-logo-256x256.png", "license": "MIT", - "version": "0.1.1", + "version": "0.1.2", "scripts": { "vs:package": "vsce package", "vs:publish": "vsce publish", diff --git a/server/package.json b/server/package.json index ae86678..3df786a 100644 --- a/server/package.json +++ b/server/package.json @@ -1,7 +1,7 @@ { "name": "bitloops-lsp-server", "description": "BitLoops Language Server", - "version": "1.0.1", + "version": "1.0.2", "publisher": "Bitloops", "license": "MIT", "engines": { From 59ad8745228cf18a512daad8c9882177a13c3ebd Mon Sep 17 00:00:00 2001 From: Spiros Grigoratos Date: Thu, 9 Feb 2023 17:31:27 +0200 Subject: [PATCH 08/10] changed version --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f71ee4d..290f9da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to the "bitloops-language" extension will be documented in t Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. -### 0.1.2 +### 0.2.0 Added validator for semantic and syntactic errors diff --git a/package.json b/package.json index 7a261fa..07c6d4a 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "icon": "assets/images/bitloops-language-logo-256x256.png", "license": "MIT", - "version": "0.1.2", + "version": "0.2.0", "scripts": { "vs:package": "vsce package", "vs:publish": "vsce publish", From d8bdfc7981d0d35b7801c5c5a790f91f016978d3 Mon Sep 17 00:00:00 2001 From: Spiros Grigoratos Date: Thu, 9 Feb 2023 17:33:01 +0200 Subject: [PATCH 09/10] changed server version --- server/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/package.json b/server/package.json index 3df786a..f8d5f91 100644 --- a/server/package.json +++ b/server/package.json @@ -1,7 +1,7 @@ { "name": "bitloops-lsp-server", "description": "BitLoops Language Server", - "version": "1.0.2", + "version": "1.1.0", "publisher": "Bitloops", "license": "MIT", "engines": { From 2f4b28738eb923fd9ae81b8955ceaf51556b88aa Mon Sep 17 00:00:00 2001 From: Spiros Grigoratos Date: Thu, 9 Feb 2023 17:33:09 +0200 Subject: [PATCH 10/10] changes server version --- server/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/package.json b/server/package.json index f8d5f91..541c903 100644 --- a/server/package.json +++ b/server/package.json @@ -1,7 +1,7 @@ { "name": "bitloops-lsp-server", "description": "BitLoops Language Server", - "version": "1.1.0", + "version": "0.2.0", "publisher": "Bitloops", "license": "MIT", "engines": {