提交 9116ec29 编写于 作者: M Matt Bierner

Use shared config for html server

上级 ef5bd481
......@@ -136,7 +136,7 @@ connection.onInitialize((params: InitializeParams): InitializeResult => {
return { capabilities };
});
connection.onInitialized((p) => {
connection.onInitialized(() => {
if (workspaceFoldersSupport) {
connection.client.register(DidChangeWorkspaceFoldersNotification.type);
......
......@@ -24,7 +24,7 @@ export function getCSSMode(documentRegions: LanguageModelCache<HTMLDocumentRegio
let embedded = embeddedCSSDocuments.get(document);
return cssLanguageService.doValidation(embedded, cssStylesheets.get(embedded), settings && settings.css);
},
doComplete(document: TextDocument, position: Position, settings = workspace.settings) {
doComplete(document: TextDocument, position: Position, _settings = workspace.settings) {
let embedded = embeddedCSSDocuments.get(document);
const stylesheet = cssStylesheets.get(embedded);
return cssLanguageService.doComplete(embedded, position, stylesheet) || CompletionList.create();
......
......@@ -132,7 +132,7 @@ function getLanguageRanges(document: TextDocument, regions: EmbeddedRegion[], ra
return result;
}
function getLanguagesInDocument(document: TextDocument, regions: EmbeddedRegion[]): string[] {
function getLanguagesInDocument(_document: TextDocument, regions: EmbeddedRegion[]): string[] {
let result = [];
for (let region of regions) {
if (region.languageId && result.indexOf(region.languageId) === -1) {
......
......@@ -7,7 +7,7 @@ import { TextDocument, CancellationToken, Position, Range } from 'vscode-languag
import { FoldingRange } from 'vscode-languageserver-types';
import { LanguageModes, LanguageMode } from './languageModes';
export function getFoldingRanges(languageModes: LanguageModes, document: TextDocument, maxRanges: number | undefined, cancellationToken: CancellationToken | null): FoldingRange[] {
export function getFoldingRanges(languageModes: LanguageModes, document: TextDocument, maxRanges: number | undefined, _cancellationToken: CancellationToken | null): FoldingRange[] {
let htmlMode = languageModes.getMode('html');
let range = Range.create(Position.create(0, 0), Position.create(document.lineCount, 0));
let result: FoldingRange[] = [];
......
......@@ -10,7 +10,7 @@ import {
Definition, TextEdit, TextDocument, Diagnostic, DiagnosticSeverity, Range, CompletionItemKind, Hover, MarkedString,
DocumentHighlight, DocumentHighlightKind, CompletionList, Position, FormattingOptions, FoldingRange, FoldingRangeKind
} from 'vscode-languageserver-types';
import { LanguageMode, Settings, Workspace } from './languageModes';
import { LanguageMode, Settings } from './languageModes';
import { getWordAtText, startsWith, isWhitespaceOnly, repeat } from '../utils/strings';
import { HTMLDocumentRegions } from './embeddedSupport';
......@@ -25,7 +25,7 @@ if (!ts.sys.fileExists(jquery_d_ts)) {
jquery_d_ts = join(__dirname, '../../lib/jquery.d.ts'); // from source
}
export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocumentRegions>, workspace: Workspace): LanguageMode {
export function getJavaScriptMode(documentRegions: LanguageModelCache<HTMLDocumentRegions>): LanguageMode {
let jsDocuments = getLanguageModelCache<TextDocument>(10, 60, document => documentRegions.get(document).getEmbeddedDocument('javascript'));
let compilerOptions: ts.CompilerOptions = { allowNonTsExtensions: true, allowJs: true, lib: ['lib.es6.d.ts'], target: ts.ScriptTarget.Latest, moduleResolution: ts.ModuleResolutionKind.Classic };
......
......@@ -80,7 +80,7 @@ export function getLanguageModes(supportedLanguages: { [languageId: string]: boo
modes['css'] = getCSSMode(documentRegions, workspace);
}
if (supportedLanguages['javascript']) {
modes['javascript'] = getJavaScriptMode(documentRegions, workspace);
modes['javascript'] = getJavaScriptMode(documentRegions);
}
return {
getModeAtPosition(document: TextDocument, position: Position): LanguageMode | undefined {
......
......@@ -19,7 +19,7 @@ export function getPathCompletionParticipant(
result: CompletionItem[]
): ICompletionParticipant {
return {
onHtmlAttributeValue: ({ tag, position, attribute, value: valueBeforeCursor, range }) => {
onHtmlAttributeValue: ({ tag, attribute, value: valueBeforeCursor, range }) => {
const fullValue = stripQuotes(document.getText(range));
if (shouldDoPathCompletion(tag, attribute, fullValue)) {
......@@ -145,6 +145,7 @@ function resolveWorkspaceRoot(activeDoc: TextDocument, workspaceFolders: Workspa
return path.resolve(URI.parse(workspaceFolders[i].uri).fsPath);
}
}
return undefined;
}
function shiftPosition(pos: Position, offset: number): Position {
......
......@@ -21,7 +21,7 @@ export interface ItemDescription {
notAvailable?: boolean;
}
export function assertCompletion(completions: CompletionList, expected: ItemDescription, document: TextDocument, offset: number) {
export function assertCompletion(completions: CompletionList, expected: ItemDescription, document: TextDocument) {
let matches = completions.items.filter(completion => {
return completion.label === expected.label;
});
......@@ -70,7 +70,7 @@ export function testCompletionFor(value: string, expected: { count?: number, ite
}
if (expected.items) {
for (let item of expected.items) {
assertCompletion(list, item, document, offset);
assertCompletion(list, item, document);
}
}
}
......@@ -296,7 +296,7 @@ suite('HTML Path Completion', () => {
]
}, indexHtmlUri, [fixtureWorkspace]);
});
test('Completion should ignore files/folders starting with dot', () => {
testCompletionFor('<script src="./|"', {
count: 3
......
......@@ -19,7 +19,7 @@ export function formatError(message: string, err: any): string {
}
export function runSafeAsync<T>(func: () => Thenable<T>, errorVal: T, errorMessage: string, token: CancellationToken): Thenable<T | ResponseError<any>> {
return new Promise<T | ResponseError<any>>((resolve, reject) => {
return new Promise<T | ResponseError<any>>((resolve) => {
setImmediate(() => {
if (token.isCancellationRequested) {
resolve(cancelValue());
......@@ -40,7 +40,7 @@ export function runSafeAsync<T>(func: () => Thenable<T>, errorVal: T, errorMessa
}
export function runSafe<T, E>(func: () => T, errorVal: T, errorMessage: string, token: CancellationToken): Thenable<T | ResponseError<E>> {
return new Promise<T | ResponseError<E>>((resolve, reject) => {
return new Promise<T | ResponseError<E>>((resolve) => {
setImmediate(() => {
if (token.isCancellationRequested) {
resolve(cancelValue());
......
{
"extends": "../../shared.tsconfig.json",
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"outDir": "./out",
"noUnusedLocals": true,
"sourceMap": true,
"lib": [
"es5", "es2015.promise"
],
"strict": true
"outDir": "./out"
},
"include": [
"src"
"src/**/*"
]
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册