From afb05e867dd4a9c43cbdac3da2b8baa1ddad577c Mon Sep 17 00:00:00 2001 From: Pine Wu Date: Tue, 7 May 2019 11:28:52 -0700 Subject: [PATCH 01/12] Clarify naming --- .../src/embeddedSupport/languageModelCache.ts | 9 ++++- server/src/embeddedSupport/languageModes.ts | 13 ++++--- server/src/modes/script/javascript.ts | 8 ++-- server/src/modes/style/index.ts | 38 +++++++++---------- server/src/modes/style/stylus/index.ts | 8 ++-- server/src/modes/template/htmlMode.ts | 27 ++++++++----- .../services/typescriptService/serviceHost.ts | 36 ++++++++++-------- 7 files changed, 80 insertions(+), 59 deletions(-) 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 `