mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-23 10:08:49 +01:00
Remove duplicate code for creating FormattingRequestArgs
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user