Remove duplicate code for creating FormattingRequestArgs

This commit is contained in:
Matt Bierner
2018-07-10 15:59:58 -07:00
parent 585c650411
commit bc627a5a83
3 changed files with 14 additions and 15 deletions

View File

@@ -11,6 +11,7 @@ import API from '../utils/api';
import { Delayer } from '../utils/async';
import { disposeAll } from '../utils/dispose';
import * as languageModeIds from '../utils/languageModeIds';
import * as typeConverters from '../utils/typeConverters';
import { ResourceMap } from './resourceMap';
enum BufferKind {
@@ -96,12 +97,8 @@ class SyncedBuffer {
public onContentChanged(events: TextDocumentContentChangeEvent[]): void {
for (const { range, text } of events) {
const args: Proto.ChangeRequestArgs = {
file: this.filepath,
line: range.start.line + 1,
offset: range.start.character + 1,
endLine: range.end.line + 1,
endOffset: range.end.character + 1,
insertString: text
insertString: text,
...typeConverters.Range.toFormattingRequestArgs(this.filepath, range)
};
this.client.execute('change', args, false);
}

View File

@@ -51,17 +51,11 @@ class TypeScriptFormattingProvider implements vscode.DocumentRangeFormattingEdit
options: vscode.FormattingOptions,
token: vscode.CancellationToken
): Promise<vscode.TextEdit[]> {
const absPath = this.client.toPath(document.uri);
if (!absPath) {
const file = this.client.toPath(document.uri);
if (!file) {
return [];
}
const args: Proto.FormatRequestArgs = {
file: absPath,
line: range.start.line + 1,
offset: range.start.character + 1,
endLine: range.end.line + 1,
endOffset: range.end.character + 1
};
const args = typeConverters.Range.toFormattingRequestArgs(file, range);
return this.doFormat(document, options, args, token);
}

View File

@@ -24,6 +24,14 @@ export namespace Range {
endLine: range.end.line + 1,
endOffset: range.end.character + 1
});
export const toFormattingRequestArgs = (file: string, range: vscode.Range): Proto.FormatRequestArgs => ({
file,
line: range.start.line + 1,
offset: range.start.character + 1,
endLine: range.end.line + 1,
endOffset: range.end.character + 1
});
}
export namespace Position {