(action: string, args: any, sd: string)
| 20 | let lastActiveTextEditor: TextEditor; |
| 21 | |
| 22 | export async function dispatchRStudioAPICall(action: string, args: any, sd: string): Promise<void> { |
| 23 | |
| 24 | switch (action) { |
| 25 | case 'active_editor_context': { |
| 26 | await writeResponse(activeEditorContext(), sd); |
| 27 | break; |
| 28 | } |
| 29 | case 'insert_or_modify_text': { |
| 30 | await insertOrModifyText(args.query, args.id); |
| 31 | await writeSuccessResponse(sd); |
| 32 | break; |
| 33 | } |
| 34 | case 'replace_text_in_current_selection': { |
| 35 | await replaceTextInCurrentSelection(args.text, args.id); |
| 36 | await writeSuccessResponse(sd); |
| 37 | break; |
| 38 | } |
| 39 | case 'show_dialog': { |
| 40 | showDialog(args.message); |
| 41 | await writeSuccessResponse(sd); |
| 42 | break; |
| 43 | } |
| 44 | case 'navigate_to_file': { |
| 45 | await navigateToFile(args.file, args.line, args.column); |
| 46 | await writeSuccessResponse(sd); |
| 47 | break; |
| 48 | } |
| 49 | case 'set_selection_ranges': { |
| 50 | await setSelections(args.ranges, args.id); |
| 51 | await writeSuccessResponse(sd); |
| 52 | break; |
| 53 | } |
| 54 | case 'document_save': { |
| 55 | await documentSave(args.id); |
| 56 | await writeSuccessResponse(sd); |
| 57 | break; |
| 58 | } |
| 59 | case 'document_save_all': { |
| 60 | await documentSaveAll(); |
| 61 | await writeSuccessResponse(sd); |
| 62 | break; |
| 63 | } |
| 64 | case 'get_project_path': { |
| 65 | await writeResponse(projectPath(), sd); |
| 66 | break; |
| 67 | } |
| 68 | case 'document_context': { |
| 69 | await writeResponse(await documentContext(args.id), sd); |
| 70 | break; |
| 71 | } |
| 72 | case 'document_new': { |
| 73 | await documentNew(args.text, args.type, args.position); |
| 74 | await writeSuccessResponse(sd); |
| 75 | break; |
| 76 | } |
| 77 | case 'restart_r': { |
| 78 | await restartRTerminal(); |
| 79 | await writeSuccessResponse(sd); |
no test coverage detected