diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ebfb6cd6a7..c0188f0e65 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -6,6 +6,9 @@ trigger: - master +pr: +- master + strategy: matrix: linux: @@ -41,7 +44,13 @@ steps: fi displayName: Start xvfb -- bash: yarn test - displayName: Run Tests +- bash: yarn test:server + displayName: Run Server Tests + continueOnError: true + env: + DISPLAY: :10 + +- bash: yarn test:e2e + displayName: Run E2E Tests env: DISPLAY: :10 \ No newline at end of file diff --git a/server/src/embeddedSupport/languageModelCache.ts b/server/src/embeddedSupport/languageModelCache.ts index 236e8afb8c..99b4d032f1 100644 --- a/server/src/embeddedSupport/languageModelCache.ts +++ b/server/src/embeddedSupport/languageModelCache.ts @@ -1,7 +1,12 @@ import { TextDocument } from 'vscode-languageserver'; export interface LanguageModelCache { - get(document: TextDocument): T; + /** + * - Feed updated document + * - Use `parse` function to re-compute model + * - Return re-computed model + */ + refreshAndGet(document: TextDocument): T; onDocumentRemoved(document: TextDocument): void; dispose(): void; } @@ -30,7 +35,7 @@ export function getLanguageModelCache( } return { - get(document: TextDocument): T { + refreshAndGet(document: TextDocument): T { const version = document.version; const languageId = document.languageId; const languageModelInfo = languageModels[document.uri]; diff --git a/server/src/embeddedSupport/languageModes.ts b/server/src/embeddedSupport/languageModes.ts index 0a1ceabc2f..58b8a3e10f 100644 --- a/server/src/embeddedSupport/languageModes.ts +++ b/server/src/embeddedSupport/languageModes.ts @@ -111,11 +111,14 @@ export class LanguageModes { } } - const jsDocuments = getLanguageModelCache(10, 60, document => { - const vueDocument = this.documentRegions.get(document); + /** + * Documents where everything outside `