mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 17:25:39 +01:00
formatting options & source formatting
This commit is contained in:
parent
559bc5255a
commit
0dd1066fc4
3 changed files with 15 additions and 16 deletions
|
|
@ -204,8 +204,8 @@ export class DiagnostcsAdapter extends Adapter {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private _tsDiagnosticCategoryToMarkerSeverity(category: ts.DiagnosticCategory): monaco.MarkerSeverity {
|
private _tsDiagnosticCategoryToMarkerSeverity(category: ts.DiagnosticCategory): monaco.MarkerSeverity {
|
||||||
switch(category) {
|
switch (category) {
|
||||||
case ts.DiagnosticCategory.Error: return monaco.MarkerSeverity.Error
|
case ts.DiagnosticCategory.Error: return monaco.MarkerSeverity.Error
|
||||||
case ts.DiagnosticCategory.Message: return monaco.MarkerSeverity.Info
|
case ts.DiagnosticCategory.Message: return monaco.MarkerSeverity.Info
|
||||||
case ts.DiagnosticCategory.Warning: return monaco.MarkerSeverity.Warning
|
case ts.DiagnosticCategory.Warning: return monaco.MarkerSeverity.Warning
|
||||||
|
|
@ -369,7 +369,7 @@ export class SignatureHelpAdapter extends Adapter implements monaco.languages.Si
|
||||||
|
|
||||||
return {
|
return {
|
||||||
value: ret,
|
value: ret,
|
||||||
dispose() {}
|
dispose() { }
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -656,8 +656,7 @@ export class CodeActionAdaptor extends FormatHelper implements monaco.languages.
|
||||||
const start = this._positionToOffset(resource, { lineNumber: range.startLineNumber, column: range.startColumn });
|
const start = this._positionToOffset(resource, { lineNumber: range.startLineNumber, column: range.startColumn });
|
||||||
const end = this._positionToOffset(resource, { lineNumber: range.endLineNumber, column: range.endColumn });
|
const end = this._positionToOffset(resource, { lineNumber: range.endLineNumber, column: range.endColumn });
|
||||||
|
|
||||||
// TODO: where to get the current formatting options from?
|
const formatOptions = FormatHelper._convertOptions(model.getOptions());
|
||||||
const formatOptions = FormatHelper._convertOptions({insertSpaces: true, tabSize: 2});
|
|
||||||
const errorCodes = context.markers.filter(m => m.code).map(m => m.code).map(Number);
|
const errorCodes = context.markers.filter(m => m.code).map(m => m.code).map(Number);
|
||||||
|
|
||||||
return worker.getCodeFixesAtPosition(resource.toString(), start, end, errorCodes, formatOptions);
|
return worker.getCodeFixesAtPosition(resource.toString(), start, end, errorCodes, formatOptions);
|
||||||
|
|
@ -665,15 +664,15 @@ export class CodeActionAdaptor extends FormatHelper implements monaco.languages.
|
||||||
}).then(codeFixes => {
|
}).then(codeFixes => {
|
||||||
|
|
||||||
return codeFixes.filter(fix => {
|
return codeFixes.filter(fix => {
|
||||||
// Removes any 'make a new file'-type code fix
|
// Removes any 'make a new file'-type code fix
|
||||||
return fix.changes.filter(change => change.isNewFile).length === 0;
|
return fix.changes.filter(change => change.isNewFile).length === 0;
|
||||||
}).map(fix => {
|
}).map(fix => {
|
||||||
return this._tsCodeFixActionToMonacoCodeAction(model, context, fix);
|
return this._tsCodeFixActionToMonacoCodeAction(model, context, fix);
|
||||||
})
|
})
|
||||||
}).then(result => {
|
}).then(result => {
|
||||||
return {
|
return {
|
||||||
actions: result,
|
actions: result,
|
||||||
dispose: () => {}
|
dispose: () => { }
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -681,12 +680,12 @@ export class CodeActionAdaptor extends FormatHelper implements monaco.languages.
|
||||||
|
|
||||||
private _tsCodeFixActionToMonacoCodeAction(model: monaco.editor.ITextModel, context: monaco.languages.CodeActionContext, codeFix: ts.CodeFixAction): monaco.languages.CodeAction {
|
private _tsCodeFixActionToMonacoCodeAction(model: monaco.editor.ITextModel, context: monaco.languages.CodeActionContext, codeFix: ts.CodeFixAction): monaco.languages.CodeAction {
|
||||||
const edits: monaco.languages.ResourceTextEdit[] = codeFix.changes.map(edit => ({
|
const edits: monaco.languages.ResourceTextEdit[] = codeFix.changes.map(edit => ({
|
||||||
resource: model.uri,
|
resource: model.uri,
|
||||||
edits: edit.textChanges.map(tc => ({
|
edits: edit.textChanges.map(tc => ({
|
||||||
range: this._textSpanToRange(model.uri, tc.span),
|
range: this._textSpanToRange(model.uri, tc.span),
|
||||||
text: tc.newText
|
text: tc.newText
|
||||||
}))
|
}))
|
||||||
}));
|
}));
|
||||||
|
|
||||||
const action: monaco.languages.CodeAction = {
|
const action: monaco.languages.CodeAction = {
|
||||||
title: codeFix.description,
|
title: codeFix.description,
|
||||||
|
|
|
||||||
2
src/monaco.d.ts
vendored
2
src/monaco.d.ts
vendored
|
|
@ -128,7 +128,7 @@ declare module monaco.languages.typescript {
|
||||||
export interface DiagnosticsOptions {
|
export interface DiagnosticsOptions {
|
||||||
noSemanticValidation?: boolean;
|
noSemanticValidation?: boolean;
|
||||||
noSyntaxValidation?: boolean;
|
noSyntaxValidation?: boolean;
|
||||||
noSuggestionDiagnostics ?: boolean;
|
noSuggestionDiagnostics?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface LanguageServiceDefaults {
|
export interface LanguageServiceDefaults {
|
||||||
|
|
|
||||||
|
|
@ -214,7 +214,7 @@ export class TypeScriptWorker implements ts.LanguageServiceHost {
|
||||||
return Promise.resolve(this._languageService.getEmitOutput(fileName));
|
return Promise.resolve(this._languageService.getEmitOutput(fileName));
|
||||||
}
|
}
|
||||||
|
|
||||||
getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes:number[], formatOptions: ts.FormatCodeOptions): Promise<ReadonlyArray<ts.CodeFixAction>> {
|
getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: ts.FormatCodeOptions): Promise<ReadonlyArray<ts.CodeFixAction>> {
|
||||||
const preferences = {}
|
const preferences = {}
|
||||||
return Promise.resolve(this._languageService.getCodeFixesAtPosition(fileName, start, end, errorCodes, formatOptions, preferences));
|
return Promise.resolve(this._languageService.getCodeFixesAtPosition(fileName, start, end, errorCodes, formatOptions, preferences));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue