From c196027bdc63e0a80cba186a93ad3a98b94b9c7d Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Fri, 18 Sep 2020 20:07:20 +0200 Subject: [PATCH] Increase `printWidth` --- .prettierrc | 3 +- monaco.d.ts | 39 ++------- scripts/bundle.js | 10 +-- scripts/importTypescript.js | 33 +++----- src/languageFeatures.ts | 154 ++++++++++-------------------------- src/monaco.contribution.ts | 44 +++-------- src/tsMode.ts | 33 ++------ src/tsWorker.ts | 58 +++----------- src/tsconfig.esm.json | 8 +- src/tsconfig.json | 8 +- src/workerManager.ts | 4 +- test/custom-worker.html | 18 ++--- test/index.html | 34 +++----- 13 files changed, 109 insertions(+), 337 deletions(-) diff --git a/.prettierrc b/.prettierrc index e1b5c6fc..c12f08c5 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,5 +3,6 @@ "singleQuote": true, "trailingComma": "none", "semi": true, - "useTabs": true + "useTabs": true, + "printWidth": 100 } diff --git a/monaco.d.ts b/monaco.d.ts index de0557b0..3a048fe1 100644 --- a/monaco.d.ts +++ b/monaco.d.ts @@ -285,10 +285,7 @@ declare namespace monaco.languages.typescript { * Get code completions for the given file and position. * @returns `Promise` */ - getCompletionsAtPosition( - fileName: string, - position: number - ): Promise; + getCompletionsAtPosition(fileName: string, position: number): Promise; /** * Get code completion details for the given file, position, and entry. * @returns `Promise` @@ -302,18 +299,12 @@ declare namespace monaco.languages.typescript { * Get signature help items for the item at the given file and position. * @returns `Promise` */ - getSignatureHelpItems( - fileName: string, - position: number - ): Promise; + getSignatureHelpItems(fileName: string, position: number): Promise; /** * Get quick info for the item at the given position in the file. * @returns `Promise` */ - getQuickInfoAtPosition( - fileName: string, - position: number - ): Promise; + getQuickInfoAtPosition(fileName: string, position: number): Promise; /** * Get other ranges which are related to the item at the given position in the file (often used for highlighting). * @returns `Promise | undefined>` @@ -334,10 +325,7 @@ declare namespace monaco.languages.typescript { * Get references to the item at the given position in the file. * @returns `Promise` */ - getReferencesAtPosition( - fileName: string, - position: number - ): Promise; + getReferencesAtPosition(fileName: string, position: number): Promise; /** * Get outline entries for the item at the given position in the file. * @returns `Promise` @@ -348,10 +336,7 @@ declare namespace monaco.languages.typescript { * @param options `typescript.FormatCodeOptions` * @returns `Promise` */ - getFormattingEditsForDocument( - fileName: string, - options: any - ): Promise; + getFormattingEditsForDocument(fileName: string, options: any): Promise; /** * Get changes which should be applied to format the given range in the file. * @param options `typescript.FormatCodeOptions` @@ -390,11 +375,7 @@ declare namespace monaco.languages.typescript { * @param options `typescript.RenameInfoOptions` * @returns `Promise` */ - getRenameInfo( - fileName: string, - positon: number, - options: any - ): Promise; + getRenameInfo(fileName: string, positon: number, options: any): Promise; /** * Get transpiled output for the given file. * @returns `typescript.EmitOutput` @@ -416,10 +397,6 @@ declare namespace monaco.languages.typescript { export const typescriptVersion: string; export const typescriptDefaults: LanguageServiceDefaults; export const javascriptDefaults: LanguageServiceDefaults; - export const getTypeScriptWorker: () => Promise< - (...uris: Uri[]) => Promise - >; - export const getJavaScriptWorker: () => Promise< - (...uris: Uri[]) => Promise - >; + export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise>; + export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise>; } diff --git a/scripts/bundle.js b/scripts/bundle.js index f618521e..9ac27eb7 100644 --- a/scripts/bundle.js +++ b/scripts/bundle.js @@ -44,14 +44,8 @@ function bundleOne(moduleId, exclude) { optimize: 'none' }, async function (buildResponse) { - const devFilePath = path.join( - REPO_ROOT, - 'release/dev/' + moduleId + '.js' - ); - const minFilePath = path.join( - REPO_ROOT, - 'release/min/' + moduleId + '.js' - ); + const devFilePath = path.join(REPO_ROOT, 'release/dev/' + moduleId + '.js'); + const minFilePath = path.join(REPO_ROOT, 'release/min/' + moduleId + '.js'); const fileContents = fs.readFileSync(devFilePath).toString(); console.log(); console.log(`Minifying ${devFilePath}...`); diff --git a/scripts/importTypescript.js b/scripts/importTypescript.js index 707ea278..6fa8dba5 100644 --- a/scripts/importTypescript.js +++ b/scripts/importTypescript.js @@ -12,10 +12,7 @@ const generatedNote = `// // `; -const TYPESCRIPT_LIB_SOURCE = path.join( - __dirname, - '../node_modules/typescript/lib' -); +const TYPESCRIPT_LIB_SOURCE = path.join(__dirname, '../node_modules/typescript/lib'); const TYPESCRIPT_LIB_DESTINATION = path.join(__dirname, '../src/lib'); (function () { @@ -29,8 +26,7 @@ const TYPESCRIPT_LIB_DESTINATION = path.join(__dirname, '../src/lib'); const npmLsOutput = JSON.parse( child_process.execSync('npm ls typescript --depth=0 --json=true').toString() ); - const typeScriptDependencyVersion = - npmLsOutput.dependencies.typescript.version; + const typeScriptDependencyVersion = npmLsOutput.dependencies.typescript.version; fs.writeFileSync( path.join(TYPESCRIPT_LIB_DESTINATION, 'typescriptServicesMetadata.ts'), @@ -73,19 +69,20 @@ export const typescriptVersion = "${typeScriptDependencyVersion}";\n` /(\/[*/]|^\s+\*[^/]).*\brequire\(.*/gm, '' ); - const linesWithRequire = tsServicesNoCommentedRequire.match( - /^.*?\brequire\(.*$/gm - ); + const linesWithRequire = tsServicesNoCommentedRequire.match(/^.*?\brequire\(.*$/gm); // Allow error messages to include references to require() in their strings const runtimeRequires = - linesWithRequire && linesWithRequire.filter((l) => !l.includes(': diag(') && !l.includes("ts.DiagnosticCategory")); + linesWithRequire && + linesWithRequire.filter((l) => !l.includes(': diag(') && !l.includes('ts.DiagnosticCategory')); if (runtimeRequires && runtimeRequires.length && linesWithRequire) { console.error( 'Found new require() calls on the following lines. These should be removed to avoid breaking webpack builds.\n' ); - console.error(runtimeRequires.map(r => `${r} (${tsServicesNoCommentedRequire.indexOf(r)})`).join('\n')); + console.error( + runtimeRequires.map((r) => `${r} (${tsServicesNoCommentedRequire.indexOf(r)})`).join('\n') + ); process.exit(1); } @@ -163,9 +160,7 @@ ${generatedNote} /** Contains all the lib files */ export const libFileSet: Record = {} `; - var dtsFiles = fs - .readdirSync(TYPESCRIPT_LIB_SOURCE) - .filter((f) => f.includes('lib.')); + var dtsFiles = fs.readdirSync(TYPESCRIPT_LIB_SOURCE).filter((f) => f.includes('lib.')); while (dtsFiles.length > 0) { var name = dtsFiles.shift(); var output = readLibFile(name).replace(/\r\n/g, '\n'); @@ -173,14 +168,8 @@ export const libFileSet: Record = {} strIndexResult += `libFileSet['${name}'] = true;\n`; } - fs.writeFileSync( - path.join(TYPESCRIPT_LIB_DESTINATION, 'lib.ts'), - strLibResult - ); - fs.writeFileSync( - path.join(TYPESCRIPT_LIB_DESTINATION, 'lib.index.ts'), - strIndexResult - ); + fs.writeFileSync(path.join(TYPESCRIPT_LIB_DESTINATION, 'lib.ts'), strLibResult); + fs.writeFileSync(path.join(TYPESCRIPT_LIB_DESTINATION, 'lib.index.ts'), strIndexResult); } /** diff --git a/src/languageFeatures.ts b/src/languageFeatures.ts index ae50cd59..cb58f1f5 100644 --- a/src/languageFeatures.ts +++ b/src/languageFeatures.ts @@ -57,9 +57,7 @@ export function flattenDiagnosticMessageText( return result; } -function displayPartsToString( - displayParts: ts.SymbolDisplayPart[] | undefined -): string { +function displayPartsToString(displayParts: ts.SymbolDisplayPart[] | undefined): string { if (displayParts) { return displayParts.map((displayPart) => displayPart.text).join(''); } @@ -69,9 +67,7 @@ function displayPartsToString( //#endregion export abstract class Adapter { - constructor( - protected _worker: (...uris: Uri[]) => Promise - ) {} + constructor(protected _worker: (...uris: Uri[]) => Promise) {} // protected _positionToOffset(model: editor.ITextModel, position: monaco.IPosition): number { // return model.getOffsetAt(position); @@ -81,10 +77,7 @@ export abstract class Adapter { // return model.getPositionAt(offset); // } - protected _textSpanToRange( - model: editor.ITextModel, - span: ts.TextSpan - ): IRange { + protected _textSpanToRange(model: editor.ITextModel, span: ts.TextSpan): IRange { let p1 = model.getPositionAt(span.start); let p2 = model.getPositionAt(span.start + span.length); let { lineNumber: startLineNumber, column: startColumn } = p1; @@ -100,9 +93,7 @@ export class LibFiles { private _hasFetchedLibFiles: boolean; private _fetchLibFilesPromise: Promise | null; - constructor( - private readonly _worker: (...uris: Uri[]) => Promise - ) { + constructor(private readonly _worker: (...uris: Uri[]) => Promise) { this._libFiles = {}; this._hasFetchedLibFiles = false; this._fetchLibFilesPromise = null; @@ -124,11 +115,7 @@ export class LibFiles { return model; } if (this.isLibFile(uri) && this._hasFetchedLibFiles) { - return editor.createModel( - this._libFiles[uri.path.slice(1)], - 'javascript', - uri - ); + return editor.createModel(this._libFiles[uri.path.slice(1)], 'javascript', uri); } return null; } @@ -239,9 +226,7 @@ export class DiagnosticsAdapter extends Adapter { } }; this._disposables.push(this._defaults.onDidChange(recomputeDiagostics)); - this._disposables.push( - this._defaults.onDidExtraLibsChange(recomputeDiagostics) - ); + this._disposables.push(this._defaults.onDidExtraLibsChange(recomputeDiagostics)); editor.getModels().forEach(onModelAdd); } @@ -286,9 +271,8 @@ export class DiagnosticsAdapter extends Adapter { .reduce((p, c) => c.concat(p), []) .filter( (d) => - ( - this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || [] - ).indexOf(d.code) === -1 + (this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || []).indexOf(d.code) === + -1 ); // Fetch lib files if necessary @@ -296,9 +280,7 @@ export class DiagnosticsAdapter extends Adapter { .map((d) => d.relatedInformation || []) .reduce((p, c) => c.concat(p), []) .map((relatedInformation) => - relatedInformation.file - ? Uri.parse(relatedInformation.file.fileName) - : null + relatedInformation.file ? Uri.parse(relatedInformation.file.fileName) : null ); await this._libFiles.fetchLibFilesIfNecessary(relatedUris); @@ -315,20 +297,13 @@ export class DiagnosticsAdapter extends Adapter { ); } - private _convertDiagnostics( - model: editor.ITextModel, - diag: ts.Diagnostic - ): editor.IMarkerData { + private _convertDiagnostics(model: editor.ITextModel, diag: ts.Diagnostic): editor.IMarkerData { const diagStart = diag.start || 0; const diagLength = diag.length || 1; - const { - lineNumber: startLineNumber, - column: startColumn - } = model.getPositionAt(diagStart); - const { - lineNumber: endLineNumber, - column: endColumn - } = model.getPositionAt(diagStart + diagLength); + const { lineNumber: startLineNumber, column: startColumn } = model.getPositionAt(diagStart); + const { lineNumber: endLineNumber, column: endColumn } = model.getPositionAt( + diagStart + diagLength + ); const tags: MarkerTag[] = []; if (diag.reportsUnnecessary) { @@ -347,10 +322,7 @@ export class DiagnosticsAdapter extends Adapter { message: flattenDiagnosticMessageText(diag.messageText, '\n'), code: diag.code.toString(), tags, - relatedInformation: this._convertRelatedInformation( - model, - diag.relatedInformation - ) + relatedInformation: this._convertRelatedInformation(model, diag.relatedInformation) }; } @@ -375,14 +347,12 @@ export class DiagnosticsAdapter extends Adapter { } const infoStart = info.start || 0; const infoLength = info.length || 1; - const { - lineNumber: startLineNumber, - column: startColumn - } = relatedResource.getPositionAt(infoStart); - const { - lineNumber: endLineNumber, - column: endColumn - } = relatedResource.getPositionAt(infoStart + infoLength); + const { lineNumber: startLineNumber, column: startColumn } = relatedResource.getPositionAt( + infoStart + ); + const { lineNumber: endLineNumber, column: endColumn } = relatedResource.getPositionAt( + infoStart + infoLength + ); result.push({ resource: relatedResource.uri, @@ -396,9 +366,7 @@ export class DiagnosticsAdapter extends Adapter { return result; } - private _tsDiagnosticCategoryToMarkerSeverity( - category: ts.DiagnosticCategory - ): MarkerSeverity { + private _tsDiagnosticCategoryToMarkerSeverity(category: ts.DiagnosticCategory): MarkerSeverity { switch (category) { case DiagnosticCategory.Error: return MarkerSeverity.Error; @@ -421,9 +389,7 @@ interface MyCompletionItem extends languages.CompletionItem { position: Position; } -export class SuggestAdapter - extends Adapter - implements languages.CompletionItemProvider { +export class SuggestAdapter extends Adapter implements languages.CompletionItemProvider { public get triggerCharacters(): string[] { return ['.']; } @@ -445,10 +411,7 @@ export class SuggestAdapter const offset = model.getOffsetAt(position); const worker = await this._worker(resource); - const info = await worker.getCompletionsAtPosition( - resource.toString(), - offset - ); + const info = await worker.getCompletionsAtPosition(resource.toString(), offset); if (!info || model.isDisposed()) { return; @@ -458,9 +421,7 @@ export class SuggestAdapter let range = wordRange; if (entry.replacementSpan) { const p1 = model.getPositionAt(entry.replacementSpan.start); - const p2 = model.getPositionAt( - entry.replacementSpan.start + entry.replacementSpan.length - ); + const p2 = model.getPositionAt(entry.replacementSpan.start + entry.replacementSpan.length); range = new Range(p1.lineNumber, p1.column, p2.lineNumber, p2.column); } @@ -551,9 +512,7 @@ export class SuggestAdapter return languages.CompletionItemKind.Property; } - private static createDocumentationString( - details: ts.CompletionEntryDetails - ): string { + private static createDocumentationString(details: ts.CompletionEntryDetails): string { let documentationString = displayPartsToString(details.documentation); if (details.tags) { for (const tag of details.tags) { @@ -576,9 +535,7 @@ function tagToString(tag: ts.JSDocTagInfo): string { return tagLabel; } -export class SignatureHelpAdapter - extends Adapter - implements languages.SignatureHelpProvider { +export class SignatureHelpAdapter extends Adapter implements languages.SignatureHelpProvider { public signatureHelpTriggerCharacters = ['(', ',']; public async provideSignatureHelp( @@ -589,10 +546,7 @@ export class SignatureHelpAdapter const resource = model.uri; const offset = model.getOffsetAt(position); const worker = await this._worker(resource); - const info = await worker.getSignatureHelpItems( - resource.toString(), - offset - ); + const info = await worker.getSignatureHelpItems(resource.toString(), offset); if (!info || model.isDisposed()) { return; @@ -641,9 +595,7 @@ export class SignatureHelpAdapter // --- hover ------ -export class QuickInfoAdapter - extends Adapter - implements languages.HoverProvider { +export class QuickInfoAdapter extends Adapter implements languages.HoverProvider { public async provideHover( model: editor.ITextModel, position: Position, @@ -652,19 +604,14 @@ export class QuickInfoAdapter const resource = model.uri; const offset = model.getOffsetAt(position); const worker = await this._worker(resource); - const info = await worker.getQuickInfoAtPosition( - resource.toString(), - offset - ); + const info = await worker.getQuickInfoAtPosition(resource.toString(), offset); if (!info || model.isDisposed()) { return; } const documentation = displayPartsToString(info.documentation); - const tags = info.tags - ? info.tags.map((tag) => tagToString(tag)).join(' \n\n') - : ''; + const tags = info.tags ? info.tags.map((tag) => tagToString(tag)).join(' \n\n') : ''; const contents = displayPartsToString(info.displayParts); return { range: this._textSpanToRange(model, info.textSpan), @@ -682,9 +629,7 @@ export class QuickInfoAdapter // --- occurrences ------ -export class OccurrencesAdapter - extends Adapter - implements languages.DocumentHighlightProvider { +export class OccurrencesAdapter extends Adapter implements languages.DocumentHighlightProvider { public async provideDocumentHighlights( model: editor.ITextModel, position: Position, @@ -693,10 +638,7 @@ export class OccurrencesAdapter const resource = model.uri; const offset = model.getOffsetAt(position); const worker = await this._worker(resource); - const entries = await worker.getOccurrencesAtPosition( - resource.toString(), - offset - ); + const entries = await worker.getOccurrencesAtPosition(resource.toString(), offset); if (!entries || model.isDisposed()) { return; @@ -731,10 +673,7 @@ export class DefinitionAdapter extends Adapter { const resource = model.uri; const offset = model.getOffsetAt(position); const worker = await this._worker(resource); - const entries = await worker.getDefinitionAtPosition( - resource.toString(), - offset - ); + const entries = await worker.getDefinitionAtPosition(resource.toString(), offset); if (!entries || model.isDisposed()) { return; @@ -766,9 +705,7 @@ export class DefinitionAdapter extends Adapter { // --- references ------ -export class ReferenceAdapter - extends Adapter - implements languages.ReferenceProvider { +export class ReferenceAdapter extends Adapter implements languages.ReferenceProvider { constructor( private readonly _libFiles: LibFiles, worker: (...uris: Uri[]) => Promise @@ -785,10 +722,7 @@ export class ReferenceAdapter const resource = model.uri; const offset = model.getOffsetAt(position); const worker = await this._worker(resource); - const entries = await worker.getReferencesAtPosition( - resource.toString(), - offset - ); + const entries = await worker.getReferencesAtPosition(resource.toString(), offset); if (!entries || model.isDisposed()) { return; @@ -820,9 +754,7 @@ export class ReferenceAdapter // --- outline ------ -export class OutlineAdapter - extends Adapter - implements languages.DocumentSymbolProvider { +export class OutlineAdapter extends Adapter implements languages.DocumentSymbolProvider { public async provideDocumentSymbols( model: editor.ITextModel, token: CancellationToken @@ -843,9 +775,7 @@ export class OutlineAdapter let result: languages.DocumentSymbol = { name: item.text, detail: '', - kind: ( - (outlineTypeTable[item.kind] || languages.SymbolKind.Variable) - ), + kind: (outlineTypeTable[item.kind] || languages.SymbolKind.Variable), range: this._textSpanToRange(model, item.spans[0]), selectionRange: this._textSpanToRange(model, item.spans[0]), tags: [], @@ -919,9 +849,7 @@ outlineTypeTable[Kind.localFunction] = languages.SymbolKind.Function; // --- formatting ---- export abstract class FormatHelper extends Adapter { - protected static _convertOptions( - options: languages.FormattingOptions - ): ts.FormatCodeOptions { + protected static _convertOptions(options: languages.FormattingOptions): ts.FormatCodeOptions { return { ConvertTabsToSpaces: options.insertSpaces, TabSize: options.tabSize, @@ -1020,9 +948,7 @@ export class FormatOnTypeAdapter // --- code actions ------ -export class CodeActionAdaptor - extends FormatHelper - implements languages.CodeActionProvider { +export class CodeActionAdaptor extends FormatHelper implements languages.CodeActionProvider { public async provideCodeActions( model: editor.ITextModel, range: Range, diff --git a/src/monaco.contribution.ts b/src/monaco.contribution.ts index 5c18e1b0..26eedbf4 100644 --- a/src/monaco.contribution.ts +++ b/src/monaco.contribution.ts @@ -6,13 +6,7 @@ import type * as mode from './tsMode'; import { typescriptVersion as tsversion } from './lib/typescriptServicesMetadata'; // do not import the whole typescriptServices here -import { - languages, - Emitter, - IEvent, - IDisposable, - Uri -} from './fillers/monaco-editor-core'; +import { languages, Emitter, IEvent, IDisposable, Uri } from './fillers/monaco-editor-core'; //#region enums copied from typescript to prevent loading the entire typescriptServices --- @@ -323,10 +317,7 @@ export interface TypeScriptWorker { * Get code completions for the given file and position. * @returns `Promise` */ - getCompletionsAtPosition( - fileName: string, - position: number - ): Promise; + getCompletionsAtPosition(fileName: string, position: number): Promise; /** * Get code completion details for the given file, position, and entry. @@ -342,19 +333,13 @@ export interface TypeScriptWorker { * Get signature help items for the item at the given file and position. * @returns `Promise` */ - getSignatureHelpItems( - fileName: string, - position: number - ): Promise; + getSignatureHelpItems(fileName: string, position: number): Promise; /** * Get quick info for the item at the given position in the file. * @returns `Promise` */ - getQuickInfoAtPosition( - fileName: string, - position: number - ): Promise; + getQuickInfoAtPosition(fileName: string, position: number): Promise; /** * Get other ranges which are related to the item at the given position in the file (often used for highlighting). @@ -378,10 +363,7 @@ export interface TypeScriptWorker { * Get references to the item at the given position in the file. * @returns `Promise` */ - getReferencesAtPosition( - fileName: string, - position: number - ): Promise; + getReferencesAtPosition(fileName: string, position: number): Promise; /** * Get outline entries for the item at the given position in the file. @@ -509,10 +491,7 @@ class LanguageServiceDefaultsImpl implements LanguageServiceDefaults { filePath = _filePath; } - if ( - this._extraLibs[filePath] && - this._extraLibs[filePath].content === content - ) { + if (this._extraLibs[filePath] && this._extraLibs[filePath].content === content) { // no-op, there already exists an extra lib with this content return { dispose: () => {} @@ -553,8 +532,7 @@ class LanguageServiceDefaultsImpl implements LanguageServiceDefaults { if (libs && libs.length > 0) { for (const lib of libs) { const filePath = - lib.filePath || - `ts:extralib-${Math.random().toString(36).substring(2, 15)}`; + lib.filePath || `ts:extralib-${Math.random().toString(36).substring(2, 15)}`; const content = lib.content; this._extraLibs[filePath] = { content: content, @@ -627,15 +605,11 @@ export const javascriptDefaults: LanguageServiceDefaults = new LanguageServiceDe {} ); -export const getTypeScriptWorker = (): Promise< - (...uris: Uri[]) => Promise -> => { +export const getTypeScriptWorker = (): Promise<(...uris: Uri[]) => Promise> => { return getMode().then((mode) => mode.getTypeScriptWorker()); }; -export const getJavaScriptWorker = (): Promise< - (...uris: Uri[]) => Promise -> => { +export const getJavaScriptWorker = (): Promise<(...uris: Uri[]) => Promise> => { return getMode().then((mode) => mode.getJavaScriptWorker()); }; diff --git a/src/tsMode.ts b/src/tsMode.ts index 5fa7c6dc..bc8498dd 100644 --- a/src/tsMode.ts +++ b/src/tsMode.ts @@ -21,9 +21,7 @@ export function setupJavaScript(defaults: LanguageServiceDefaults): void { javaScriptWorker = setupMode(defaults, 'javascript'); } -export function getJavaScriptWorker(): Promise< - (...uris: Uri[]) => Promise -> { +export function getJavaScriptWorker(): Promise<(...uris: Uri[]) => Promise> { return new Promise((resolve, reject) => { if (!javaScriptWorker) { return reject('JavaScript not registered!'); @@ -33,9 +31,7 @@ export function getJavaScriptWorker(): Promise< }); } -export function getTypeScriptWorker(): Promise< - (...uris: Uri[]) => Promise -> { +export function getTypeScriptWorker(): Promise<(...uris: Uri[]) => Promise> { return new Promise((resolve, reject) => { if (!typeScriptWorker) { return reject('TypeScript not registered!'); @@ -56,18 +52,12 @@ function setupMode( const libFiles = new languageFeatures.LibFiles(worker); - languages.registerCompletionItemProvider( - modeId, - new languageFeatures.SuggestAdapter(worker) - ); + languages.registerCompletionItemProvider(modeId, new languageFeatures.SuggestAdapter(worker)); languages.registerSignatureHelpProvider( modeId, new languageFeatures.SignatureHelpAdapter(worker) ); - languages.registerHoverProvider( - modeId, - new languageFeatures.QuickInfoAdapter(worker) - ); + languages.registerHoverProvider(modeId, new languageFeatures.QuickInfoAdapter(worker)); languages.registerDocumentHighlightProvider( modeId, new languageFeatures.OccurrencesAdapter(worker) @@ -80,10 +70,7 @@ function setupMode( modeId, new languageFeatures.ReferenceAdapter(libFiles, worker) ); - languages.registerDocumentSymbolProvider( - modeId, - new languageFeatures.OutlineAdapter(worker) - ); + languages.registerDocumentSymbolProvider(modeId, new languageFeatures.OutlineAdapter(worker)); languages.registerDocumentRangeFormattingEditProvider( modeId, new languageFeatures.FormatAdapter(worker) @@ -92,14 +79,8 @@ function setupMode( modeId, new languageFeatures.FormatOnTypeAdapter(worker) ); - languages.registerCodeActionProvider( - modeId, - new languageFeatures.CodeActionAdaptor(worker) - ); - languages.registerRenameProvider( - modeId, - new languageFeatures.RenameAdapter(worker) - ); + languages.registerCodeActionProvider(modeId, new languageFeatures.CodeActionAdaptor(worker)); + languages.registerRenameProvider(modeId, new languageFeatures.RenameAdapter(worker)); new languageFeatures.DiagnosticsAdapter(libFiles, defaults, modeId, worker); return worker; diff --git a/src/tsWorker.ts b/src/tsWorker.ts index 2fb1f953..f2a29fc2 100644 --- a/src/tsWorker.ts +++ b/src/tsWorker.ts @@ -13,8 +13,7 @@ import { } from './monaco.contribution'; import { worker } from './fillers/monaco-editor-core'; -export class TypeScriptWorker - implements ts.LanguageServiceHost, ITypeScriptWorker { +export class TypeScriptWorker implements ts.LanguageServiceHost, ITypeScriptWorker { // --- model sync ----------------------- private _ctx: worker.IWorkerContext; @@ -35,9 +34,7 @@ export class TypeScriptWorker } getScriptFileNames(): string[] { - let models = this._ctx - .getMirrorModels() - .map((model) => model.uri.toString()); + let models = this._ctx.getMirrorModels().map((model) => model.uri.toString()); return models.concat(Object.keys(this._extraLibs)); } @@ -114,9 +111,7 @@ export class TypeScriptWorker case 'jsx': return ts.ScriptKind.JSX; default: - return this.getCompilationSettings().allowJs - ? ts.ScriptKind.JS - : ts.ScriptKind.TS; + return this.getCompilationSettings().allowJs ? ts.ScriptKind.JS : ts.ScriptKind.TS; } } @@ -187,9 +182,7 @@ export class TypeScriptWorker } async getSuggestionDiagnostics(fileName: string): Promise { - const diagnostics = this._languageService.getSuggestionDiagnostics( - fileName - ); + const diagnostics = this._languageService.getSuggestionDiagnostics(fileName); return TypeScriptWorker.clearFiles(diagnostics); } @@ -202,11 +195,7 @@ export class TypeScriptWorker fileName: string, position: number ): Promise { - return this._languageService.getCompletionsAtPosition( - fileName, - position, - undefined - ); + return this._languageService.getCompletionsAtPosition(fileName, position, undefined); } async getCompletionEntryDetails( @@ -228,11 +217,7 @@ export class TypeScriptWorker fileName: string, position: number ): Promise { - return this._languageService.getSignatureHelpItems( - fileName, - position, - undefined - ); + return this._languageService.getSignatureHelpItems(fileName, position, undefined); } async getQuickInfoAtPosition( @@ -263,9 +248,7 @@ export class TypeScriptWorker return this._languageService.getReferencesAtPosition(fileName, position); } - async getNavigationBarItems( - fileName: string - ): Promise { + async getNavigationBarItems(fileName: string): Promise { return this._languageService.getNavigationBarItems(fileName); } @@ -273,10 +256,7 @@ export class TypeScriptWorker fileName: string, options: ts.FormatCodeOptions ): Promise { - return this._languageService.getFormattingEditsForDocument( - fileName, - options - ); + return this._languageService.getFormattingEditsForDocument(fileName, options); } async getFormattingEditsForRange( @@ -285,12 +265,7 @@ export class TypeScriptWorker end: number, options: ts.FormatCodeOptions ): Promise { - return this._languageService.getFormattingEditsForRange( - fileName, - start, - end, - options - ); + return this._languageService.getFormattingEditsForRange(fileName, start, end, options); } async getFormattingEditsAfterKeystroke( @@ -299,12 +274,7 @@ export class TypeScriptWorker ch: string, options: ts.FormatCodeOptions ): Promise { - return this._languageService.getFormattingEditsAfterKeystroke( - fileName, - postion, - ch, - options - ); + return this._languageService.getFormattingEditsAfterKeystroke(fileName, postion, ch, options); } async findRenameLocations( @@ -378,10 +348,7 @@ declare global { var customTSWorkerFactory: CustomTSWebWorkerFactory | undefined; } -export function create( - ctx: worker.IWorkerContext, - createData: ICreateData -): TypeScriptWorker { +export function create(ctx: worker.IWorkerContext, createData: ICreateData): TypeScriptWorker { let TSWorkerClass = TypeScriptWorker; if (createData.customWorkerPath) { if (typeof importScripts === 'undefined') { @@ -391,8 +358,7 @@ export function create( } else { importScripts(createData.customWorkerPath); - const workerFactoryFunc: CustomTSWebWorkerFactory | undefined = - self.customTSWorkerFactory; + const workerFactoryFunc: CustomTSWebWorkerFactory | undefined = self.customTSWorkerFactory; if (!workerFactoryFunc) { throw new Error( `The script at ${createData.customWorkerPath} does not add customTSWorkerFactory to self` diff --git a/src/tsconfig.esm.json b/src/tsconfig.esm.json index 07df4095..b47f127d 100644 --- a/src/tsconfig.esm.json +++ b/src/tsconfig.esm.json @@ -5,13 +5,7 @@ "outDir": "../out/esm", "declaration": true, "target": "es5", - "lib": [ - "dom", - "es5", - "es2015.collection", - "es2015.iterable", - "es2015.promise" - ], + "lib": ["dom", "es5", "es2015.collection", "es2015.iterable", "es2015.promise"], "strict": true } } diff --git a/src/tsconfig.json b/src/tsconfig.json index ec3ce1e5..001f587e 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -5,13 +5,7 @@ "outDir": "../out/amd", "declaration": true, "target": "es5", - "lib": [ - "dom", - "es5", - "es2015.collection", - "es2015.iterable", - "es2015.promise" - ], + "lib": ["dom", "es5", "es2015.collection", "es2015.iterable", "es2015.promise"], "strict": true } } diff --git a/src/workerManager.ts b/src/workerManager.ts index a1ffccb4..202c6577 100644 --- a/src/workerManager.ts +++ b/src/workerManager.ts @@ -23,9 +23,7 @@ export class WorkerManager { this._defaults = defaults; this._worker = null; this._client = null; - this._configChangeListener = this._defaults.onDidChange(() => - this._stopWorker() - ); + this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker()); this._updateExtraLibsToken = 0; this._extraLibsChangeListener = this._defaults.onDidExtraLibsChange(() => this._updateExtraLibs() diff --git a/test/custom-worker.html b/test/custom-worker.html index 35ecb23f..f8e32529 100644 --- a/test/custom-worker.html +++ b/test/custom-worker.html @@ -20,10 +20,7 @@

Monaco Editor TypeScript test page

-
+

Custom webworker

@@ -208,14 +205,11 @@ noLibCheck: true }); - var editor = monaco.editor.create( - document.getElementById('container'), - { - value: localStorage.getItem('code') || getDefaultCode(), - language: 'typescript', - lightbulb: { enabled: true } - } - ); + var editor = monaco.editor.create(document.getElementById('container'), { + value: localStorage.getItem('code') || getDefaultCode(), + language: 'typescript', + lightbulb: { enabled: true } + }); editor.onDidChangeModelContent(() => { const code = editor.getModel().getValue(); diff --git a/test/index.html b/test/index.html index a5ceb35d..4cb3d09c 100644 --- a/test/index.html +++ b/test/index.html @@ -12,18 +12,9 @@

Monaco Editor TypeScript test page

-
+

Compiler settings

-
+