diff options
Diffstat (limited to 'editors/code/src/commands/join_lines.ts')
-rw-r--r-- | editors/code/src/commands/join_lines.ts | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/editors/code/src/commands/join_lines.ts b/editors/code/src/commands/join_lines.ts new file mode 100644 index 000000000..526b698cc --- /dev/null +++ b/editors/code/src/commands/join_lines.ts | |||
@@ -0,0 +1,21 @@ | |||
1 | import * as vscode from 'vscode'; | ||
2 | |||
3 | import { Range, TextDocumentIdentifier } from 'vscode-languageclient'; | ||
4 | import { Server } from '../server'; | ||
5 | import { handle as applySourceChange, SourceChange } from './apply_source_change'; | ||
6 | |||
7 | interface JoinLinesParams { | ||
8 | textDocument: TextDocumentIdentifier; | ||
9 | range: Range; | ||
10 | } | ||
11 | |||
12 | export async function handle() { | ||
13 | const editor = vscode.window.activeTextEditor; | ||
14 | if (editor == null || editor.document.languageId !== 'rust') { return; } | ||
15 | const request: JoinLinesParams = { | ||
16 | range: Server.client.code2ProtocolConverter.asRange(editor.selection), | ||
17 | textDocument: { uri: editor.document.uri.toString() }, | ||
18 | }; | ||
19 | const change = await Server.client.sendRequest<SourceChange>('m/joinLines', request); | ||
20 | await applySourceChange(change); | ||
21 | } | ||