diff --git a/extensions/html-language-features/server/src/htmlServerMain.ts b/extensions/html-language-features/server/src/htmlServerMain.ts index cbbd4c4b5a90b9678f463c83666b9a401aecdc39..2289c38c950665d33a78ec482a6c9ac1bd6bcc38 100644 --- a/extensions/html-language-features/server/src/htmlServerMain.ts +++ b/extensions/html-language-features/server/src/htmlServerMain.ts @@ -6,11 +6,13 @@ import { createConnection, IConnection, TextDocuments, InitializeParams, InitializeResult, RequestType, DocumentRangeFormattingRequest, Disposable, DocumentSelector, TextDocumentPositionParams, ServerCapabilities, - Position, ConfigurationRequest, ConfigurationParams, DidChangeWorkspaceFoldersNotification, Range, - WorkspaceFolder, DocumentColorRequest, ColorInformation, ColorPresentationRequest, TextDocumentSyncKind + ConfigurationRequest, ConfigurationParams, DidChangeWorkspaceFoldersNotification, + DocumentColorRequest, ColorPresentationRequest, TextDocumentSyncKind } from 'vscode-languageserver'; -import { TextDocument, Diagnostic, DocumentLink, SymbolInformation, TextDocumentIdentifier } from 'vscode-html-languageservice'; -import { getLanguageModes, LanguageModes, Settings } from './modes/languageModes'; +import { + getLanguageModes, LanguageModes, Settings, TextDocument, Position, Diagnostic, WorkspaceFolder, ColorInformation, + Range, DocumentLink, SymbolInformation, TextDocumentIdentifier +} from './modes/languageModes'; import { format } from './modes/formatting'; import { pushAll } from './utils/arrays'; diff --git a/extensions/html-language-features/server/src/languageModelCache.ts b/extensions/html-language-features/server/src/languageModelCache.ts index c022b8047a90231a17854a3bee8ac347552d35e1..06d331bca8a22e05e40f7ea4b0a9ccc2f9b5400d 100644 --- a/extensions/html-language-features/server/src/languageModelCache.ts +++ b/extensions/html-language-features/server/src/languageModelCache.ts @@ -18,10 +18,10 @@ export function getLanguageModelCache(maxEntries: number, cleanupIntervalTime let cleanupInterval: NodeJS.Timer | undefined = undefined; if (cleanupIntervalTimeInSec > 0) { cleanupInterval = setInterval(() => { - let cutoffTime = Date.now() - cleanupIntervalTimeInSec * 1000; - let uris = Object.keys(languageModels); - for (let uri of uris) { - let languageModelInfo = languageModels[uri]; + const cutoffTime = Date.now() - cleanupIntervalTimeInSec * 1000; + const uris = Object.keys(languageModels); + for (const uri of uris) { + const languageModelInfo = languageModels[uri]; if (languageModelInfo.cTime < cutoffTime) { delete languageModels[uri]; nModels--; @@ -32,14 +32,14 @@ export function getLanguageModelCache(maxEntries: number, cleanupIntervalTime return { get(document: TextDocument): T { - let version = document.version; - let languageId = document.languageId; - let languageModelInfo = languageModels[document.uri]; + const version = document.version; + const languageId = document.languageId; + const languageModelInfo = languageModels[document.uri]; if (languageModelInfo && languageModelInfo.version === version && languageModelInfo.languageId === languageId) { languageModelInfo.cTime = Date.now(); return languageModelInfo.languageModel; } - let languageModel = parse(document); + const languageModel = parse(document); languageModels[document.uri] = { languageModel, version, languageId, cTime: Date.now() }; if (!languageModelInfo) { nModels++; @@ -48,8 +48,8 @@ export function getLanguageModelCache(maxEntries: number, cleanupIntervalTime if (nModels === maxEntries) { let oldestTime = Number.MAX_VALUE; let oldestUri = null; - for (let uri in languageModels) { - let languageModelInfo = languageModels[uri]; + for (const uri in languageModels) { + const languageModelInfo = languageModels[uri]; if (languageModelInfo.cTime < oldestTime) { oldestUri = uri; oldestTime = languageModelInfo.cTime; @@ -64,7 +64,7 @@ export function getLanguageModelCache(maxEntries: number, cleanupIntervalTime }, onDocumentRemoved(document: TextDocument) { - let uri = document.uri; + const uri = document.uri; if (languageModels[uri]) { delete languageModels[uri]; nModels--; diff --git a/extensions/html-language-features/server/src/modes/cssMode.ts b/extensions/html-language-features/server/src/modes/cssMode.ts index 490f7ea2fa44dc62b4e597b12b2e0878acf67340..e705f44bbabc1088b0de93af7db8a1e148267fb9 100644 --- a/extensions/html-language-features/server/src/modes/cssMode.ts +++ b/extensions/html-language-features/server/src/modes/cssMode.ts @@ -4,11 +4,9 @@ *--------------------------------------------------------------------------------------------*/ import { LanguageModelCache, getLanguageModelCache } from '../languageModelCache'; -import { TextDocument, Position, Range, CompletionList } from 'vscode-html-languageservice'; -import { Stylesheet, FoldingRange, LanguageService as CSSLanguageService } from 'vscode-css-languageservice'; -import { LanguageMode, Workspace } from './languageModes'; +import { Stylesheet, LanguageService as CSSLanguageService } from 'vscode-css-languageservice'; +import { FoldingRange, LanguageMode, Workspace, Color, TextDocument, Position, Range, CompletionList } from './languageModes'; import { HTMLDocumentRegions, CSS_STYLE_RULE } from './embeddedSupport'; -import { Color } from 'vscode-languageserver'; export function getCSSMode(cssLanguageService: CSSLanguageService, documentRegions: LanguageModelCache, workspace: Workspace): LanguageMode { let embeddedCSSDocuments = getLanguageModelCache(10, 60, document => documentRegions.get(document).getEmbeddedDocument('css')); diff --git a/extensions/html-language-features/server/src/modes/embeddedSupport.ts b/extensions/html-language-features/server/src/modes/embeddedSupport.ts index df47be3ed97d39f5e4886c3cc55014f2b03fd22e..837842c64059ed263f7575e177691bce65ebad3d 100644 --- a/extensions/html-language-features/server/src/modes/embeddedSupport.ts +++ b/extensions/html-language-features/server/src/modes/embeddedSupport.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { TextDocument, Position, LanguageService, TokenType, Range } from 'vscode-html-languageservice'; +import { TextDocument, Position, LanguageService, TokenType, Range } from './languageModes'; export interface LanguageRange extends Range { languageId: string | undefined; diff --git a/extensions/html-language-features/server/src/modes/formatting.ts b/extensions/html-language-features/server/src/modes/formatting.ts index a9df4b4a30ba770560e489e584afeaf3f942a196..4acb60a9b9ad39c4b1b012b82f0469328d4d85dd 100644 --- a/extensions/html-language-features/server/src/modes/formatting.ts +++ b/extensions/html-language-features/server/src/modes/formatting.ts @@ -3,8 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { TextDocument, Range, TextEdit, FormattingOptions, Position } from 'vscode-html-languageservice'; -import { LanguageModes, Settings, LanguageModeRange } from './languageModes'; +import { LanguageModes, Settings, LanguageModeRange, TextDocument, Range, TextEdit, FormattingOptions, Position } from './languageModes'; import { pushAll } from '../utils/arrays'; import { isEOL } from '../utils/strings'; diff --git a/extensions/html-language-features/server/src/modes/htmlFolding.ts b/extensions/html-language-features/server/src/modes/htmlFolding.ts index aacdcc604fc413f3d99c94ac4f20c1e6dde22a60..5eccc0ef876a24b153211dd1a00af8ad5d195ec2 100644 --- a/extensions/html-language-features/server/src/modes/htmlFolding.ts +++ b/extensions/html-language-features/server/src/modes/htmlFolding.ts @@ -3,9 +3,8 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { TextDocument, CancellationToken, Position, Range } from 'vscode-languageserver'; -import { FoldingRange } from 'vscode-html-languageservice'; -import { LanguageModes, LanguageMode } from './languageModes'; +import { TextDocument, FoldingRange, Position, Range, LanguageModes, LanguageMode } from './languageModes'; +import { CancellationToken } from 'vscode-languageserver'; export function getFoldingRanges(languageModes: LanguageModes, document: TextDocument, maxRanges: number | undefined, _cancellationToken: CancellationToken | null): FoldingRange[] { let htmlMode = languageModes.getMode('html'); diff --git a/extensions/html-language-features/server/src/modes/htmlMode.ts b/extensions/html-language-features/server/src/modes/htmlMode.ts index 6f2461d6c2056c69e60a5237b6a953273b4e2d8f..251821d1272b602694fa2998483eb3b72cf0acfc 100644 --- a/extensions/html-language-features/server/src/modes/htmlMode.ts +++ b/extensions/html-language-features/server/src/modes/htmlMode.ts @@ -7,9 +7,9 @@ import { getLanguageModelCache } from '../languageModelCache'; import { LanguageService as HTMLLanguageService, HTMLDocument, DocumentContext, FormattingOptions, HTMLFormatConfiguration, SelectionRange, - TextDocument, Position, Range, CompletionItem, FoldingRange -} from 'vscode-html-languageservice'; -import { LanguageMode, Workspace } from './languageModes'; + TextDocument, Position, Range, CompletionItem, FoldingRange, + LanguageMode, Workspace +} from './languageModes'; import { getPathCompletionParticipant } from './pathCompletion'; export function getHTMLMode(htmlLanguageService: HTMLLanguageService, workspace: Workspace): LanguageMode { diff --git a/extensions/html-language-features/server/src/modes/pathCompletion.ts b/extensions/html-language-features/server/src/modes/pathCompletion.ts index 278d967bd954f1c605407db7d1eff68bd9dd38ad..d522efdc0df023185797c8f7c22a5f733621a1d7 100644 --- a/extensions/html-language-features/server/src/modes/pathCompletion.ts +++ b/extensions/html-language-features/server/src/modes/pathCompletion.ts @@ -3,11 +3,10 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { WorkspaceFolder } from 'vscode-languageserver'; import * as path from 'path'; import * as fs from 'fs'; import { URI } from 'vscode-uri'; -import { ICompletionParticipant, TextDocument, CompletionItemKind, CompletionItem, TextEdit, Range, Position } from 'vscode-html-languageservice'; +import { ICompletionParticipant, TextDocument, CompletionItemKind, CompletionItem, TextEdit, Range, Position, WorkspaceFolder } from './languageModes'; import { startsWith } from '../utils/strings'; import { contains } from '../utils/arrays'; diff --git a/extensions/html-language-features/server/src/modes/selectionRanges.ts b/extensions/html-language-features/server/src/modes/selectionRanges.ts index ab6cbdc0f3618361cb4d65b61d9e2452a3fd3595..6c0627f6356a055339d184870306e10f8ae3c6e3 100644 --- a/extensions/html-language-features/server/src/modes/selectionRanges.ts +++ b/extensions/html-language-features/server/src/modes/selectionRanges.ts @@ -3,8 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { LanguageModes } from './languageModes'; -import { TextDocument, Position, Range, SelectionRange } from 'vscode-html-languageservice'; +import { LanguageModes, TextDocument, Position, Range, SelectionRange } from './languageModes'; export function getSelectionRanges(languageModes: LanguageModes, document: TextDocument, positions: Position[]) { const htmlMode = languageModes.getMode('html'); diff --git a/extensions/html-language-features/server/src/test/completions.test.ts b/extensions/html-language-features/server/src/test/completions.test.ts index e0e3a7e22cae34a45a4a0d8cbfd001bca0ec1f53..9c3b8f0831b14ee0e9555c2151fe1c3dd67040b2 100644 --- a/extensions/html-language-features/server/src/test/completions.test.ts +++ b/extensions/html-language-features/server/src/test/completions.test.ts @@ -6,10 +6,7 @@ import 'mocha'; import * as assert from 'assert'; import * as path from 'path'; import { URI } from 'vscode-uri'; -import { getLanguageModes } from '../modes/languageModes'; -import { WorkspaceFolder } from 'vscode-languageserver'; -import { TextDocument, CompletionList, CompletionItemKind, ClientCapabilities } from 'vscode-html-languageservice'; - +import { getLanguageModes, WorkspaceFolder, TextDocument, CompletionList, CompletionItemKind, ClientCapabilities} from '../modes/languageModes'; export interface ItemDescription { label: string; documentation?: string; diff --git a/extensions/html-language-features/server/src/test/embedded.test.ts b/extensions/html-language-features/server/src/test/embedded.test.ts index 4191cfcb9b5f0c5c6bc8fcf98e06669b6f80be0c..525d5a59c112942cd157ba60dea30ef8543ea0ab 100644 --- a/extensions/html-language-features/server/src/test/embedded.test.ts +++ b/extensions/html-language-features/server/src/test/embedded.test.ts @@ -5,31 +5,32 @@ import 'mocha'; import * as assert from 'assert'; import * as embeddedSupport from '../modes/embeddedSupport'; -import { getLanguageService, TextDocument } from 'vscode-html-languageservice'; +import { getLanguageService } from 'vscode-html-languageservice'; +import { TextDocument } from '../modes/languageModes'; suite('HTML Embedded Support', () => { - var htmlLanguageService = getLanguageService(); + const htmlLanguageService = getLanguageService(); function assertLanguageId(value: string, expectedLanguageId: string | undefined): void { - let offset = value.indexOf('|'); + const offset = value.indexOf('|'); value = value.substr(0, offset) + value.substr(offset + 1); - let document = TextDocument.create('test://test/test.html', 'html', 0, value); + const document = TextDocument.create('test://test/test.html', 'html', 0, value); - let position = document.positionAt(offset); + const position = document.positionAt(offset); - let docRegions = embeddedSupport.getDocumentRegions(htmlLanguageService, document); - let languageId = docRegions.getLanguageAtPosition(position); + const docRegions = embeddedSupport.getDocumentRegions(htmlLanguageService, document); + const languageId = docRegions.getLanguageAtPosition(position); assert.equal(languageId, expectedLanguageId); } function assertEmbeddedLanguageContent(value: string, languageId: string, expectedContent: string): void { - let document = TextDocument.create('test://test/test.html', 'html', 0, value); + const document = TextDocument.create('test://test/test.html', 'html', 0, value); - let docRegions = embeddedSupport.getDocumentRegions(htmlLanguageService, document); - let content = docRegions.getEmbeddedDocument(languageId); + const docRegions = embeddedSupport.getDocumentRegions(htmlLanguageService, document); + const content = docRegions.getEmbeddedDocument(languageId); assert.equal(content.getText(), expectedContent); } diff --git a/extensions/html-language-features/server/src/test/folding.test.ts b/extensions/html-language-features/server/src/test/folding.test.ts index f732a6cd72c9a05885ffa1b5cb0735271d048a95..5384e48c6abd049095ca66a8634164e717ef25f6 100644 --- a/extensions/html-language-features/server/src/test/folding.test.ts +++ b/extensions/html-language-features/server/src/test/folding.test.ts @@ -17,13 +17,13 @@ interface ExpectedIndentRange { } function assertRanges(lines: string[], expected: ExpectedIndentRange[], message?: string, nRanges?: number): void { - let document = TextDocument.create('test://foo/bar.json', 'json', 1, lines.join('\n')); - let workspace = { + const document = TextDocument.create('test://foo/bar.json', 'json', 1, lines.join('\n')); + const workspace = { settings: {}, folders: [{ name: 'foo', uri: 'test://foo' }] }; - let languageModes = getLanguageModes({ css: true, javascript: true }, workspace, ClientCapabilities.LATEST); - let actual = getFoldingRanges(languageModes, document, nRanges, null); + const languageModes = getLanguageModes({ css: true, javascript: true }, workspace, ClientCapabilities.LATEST); + const actual = getFoldingRanges(languageModes, document, nRanges, null); let actualRanges = []; for (let i = 0; i < actual.length; i++) { @@ -40,7 +40,7 @@ function r(startLine: number, endLine: number, kind?: string): ExpectedIndentRan suite('HTML Folding', () => { test('Embedded JavaScript', () => { - let input = [ + const input = [ /*0*/'', /*1*/'', /*2*/'