|
10 | 10 |
|
11 | 11 | from finecode.api_server import api_server |
12 | 12 | from finecode.api_client import ApiClient |
13 | | -from finecode.lsp_server import global_state, schemas |
| 13 | +from finecode.lsp_server import global_state |
14 | 14 | from finecode.lsp_server.endpoints import action_tree as action_tree_endpoints |
15 | 15 | from finecode.lsp_server.endpoints import code_actions as code_actions_endpoints |
16 | 16 | from finecode.lsp_server.endpoints import code_lens as code_lens_endpoints |
@@ -114,34 +114,34 @@ def create_lsp_server() -> CustomLanguageServer: |
114 | 114 | register_list_actions_cmd = server.command("finecode.getActions") |
115 | 115 | register_list_actions_cmd(action_tree_endpoints.list_actions) |
116 | 116 |
|
117 | | - # register_list_actions_for_position_cmd = server.command( |
118 | | - # "finecode.getActionsForPosition" |
119 | | - # ) |
120 | | - # register_list_actions_for_position_cmd( |
121 | | - # action_tree_endpoints.list_actions_for_position |
122 | | - # ) |
| 117 | + register_list_actions_for_position_cmd = server.command( |
| 118 | + "finecode.getActionsForPosition" |
| 119 | + ) |
| 120 | + register_list_actions_for_position_cmd( |
| 121 | + action_tree_endpoints.list_actions_for_position |
| 122 | + ) |
123 | 123 |
|
124 | | - # register_run_action_on_file_cmd = server.command("finecode.runActionOnFile") |
125 | | - # register_run_action_on_file_cmd(action_tree_endpoints.run_action_on_file) |
| 124 | + register_run_action_on_file_cmd = server.command("finecode.runActionOnFile") |
| 125 | + register_run_action_on_file_cmd(action_tree_endpoints.run_action_on_file) |
126 | 126 |
|
127 | | - # register_run_action_on_project_cmd = server.command("finecode.runActionOnProject") |
128 | | - # register_run_action_on_project_cmd(action_tree_endpoints.run_action_on_project) |
| 127 | + register_run_action_on_project_cmd = server.command("finecode.runActionOnProject") |
| 128 | + register_run_action_on_project_cmd(action_tree_endpoints.run_action_on_project) |
129 | 129 |
|
130 | | - # register_reload_action_cmd = server.command("finecode.reloadAction") |
131 | | - # register_reload_action_cmd(action_tree_endpoints.reload_action) |
| 130 | + register_reload_action_cmd = server.command("finecode.reloadAction") |
| 131 | + register_reload_action_cmd(action_tree_endpoints.reload_action) |
132 | 132 |
|
133 | | - # register_reset_cmd = server.command("finecode.reset") |
134 | | - # register_reset_cmd(reset) |
| 133 | + register_reset_cmd = server.command("finecode.reset") |
| 134 | + register_reset_cmd(reset) |
135 | 135 |
|
136 | | - # register_restart_extension_runner_cmd = server.command( |
137 | | - # "finecode.restartExtensionRunner" |
138 | | - # ) |
139 | | - # register_restart_extension_runner_cmd(restart_extension_runner) |
140 | | - |
141 | | - # register_restart_and_debug_extension_runner_cmd = server.command( |
142 | | - # "finecode.restartAndDebugExtensionRunner" |
143 | | - # ) |
144 | | - # register_restart_and_debug_extension_runner_cmd(restart_and_debug_extension_runner) |
| 136 | + register_restart_extension_runner_cmd = server.command( |
| 137 | + "finecode.restartExtensionRunner" |
| 138 | + ) |
| 139 | + register_restart_extension_runner_cmd(restart_extension_runner) |
| 140 | + |
| 141 | + register_restart_and_debug_extension_runner_cmd = server.command( |
| 142 | + "finecode.restartAndDebugExtensionRunner" |
| 143 | + ) |
| 144 | + register_restart_and_debug_extension_runner_cmd(restart_and_debug_extension_runner) |
145 | 145 |
|
146 | 146 | register_shutdown_feature = server.feature(types.SHUTDOWN) |
147 | 147 | register_shutdown_feature(_on_shutdown) |
@@ -345,34 +345,49 @@ async def reset(ls: LanguageServer, params): |
345 | 345 | logger.info("Reset WM") |
346 | 346 | await global_state.server_initialized.wait() |
347 | 347 |
|
| 348 | + if global_state.api_client is None: |
| 349 | + logger.error("Reset requested but API client not connected") |
| 350 | + return |
| 351 | + |
| 352 | + await global_state.api_client.request("server/reset", {}) |
| 353 | + |
348 | 354 |
|
349 | 355 | async def restart_extension_runner(ls: LanguageServer, tree_node, param2): |
350 | 356 | logger.info(f"restart extension runner {tree_node}") |
351 | 357 | await global_state.server_initialized.wait() |
352 | 358 |
|
| 359 | + if global_state.api_client is None: |
| 360 | + logger.error("Restart runner requested but API client not connected") |
| 361 | + return |
| 362 | + |
353 | 363 | runner_id = tree_node['projectPath'] |
354 | 364 | splitted_runner_id = runner_id.split('::') |
355 | 365 | runner_working_dir_str = splitted_runner_id[0] |
356 | | - runner_working_dir_path = Path(runner_working_dir_str) |
357 | 366 | env_name = splitted_runner_id[-1] |
358 | 367 |
|
359 | | - # TODO |
360 | | - # await runner_manager.restart_extension_runner(runner_working_dir_path=runner_working_dir_path, env_name=env_name, ws_context=global_state.ws_context) |
| 368 | + await global_state.api_client.request( |
| 369 | + "runners/restart", |
| 370 | + {"runner_working_dir": runner_working_dir_str, "env_name": env_name}, |
| 371 | + ) |
361 | 372 |
|
362 | 373 |
|
363 | 374 | async def restart_and_debug_extension_runner(ls: LanguageServer, tree_node, params2): |
364 | 375 | logger.info(f"restart and debug extension runner {tree_node} {params2}") |
365 | 376 | await global_state.server_initialized.wait() |
366 | 377 |
|
| 378 | + if global_state.api_client is None: |
| 379 | + logger.error("Restart+debug runner requested but API client not connected") |
| 380 | + return |
| 381 | + |
367 | 382 | runner_id = tree_node['projectPath'] |
368 | 383 | splitted_runner_id = runner_id.split('::') |
369 | 384 | runner_working_dir_str = splitted_runner_id[0] |
370 | | - runner_working_dir_path = Path(runner_working_dir_str) |
371 | 385 | env_name = splitted_runner_id[-1] |
372 | 386 |
|
373 | | - logger.info(f'start debugging {runner_working_dir_path} {runner_id} {env_name}') |
374 | | - # TODO |
375 | | - # await runner_manager.restart_extension_runner(runner_working_dir_path=runner_working_dir_path, env_name=env_name, ws_context=global_state.ws_context, debug=True) |
| 387 | + await global_state.api_client.request( |
| 388 | + "runners/restart", |
| 389 | + {"runner_working_dir": runner_working_dir_str, "env_name": env_name, "debug": True}, |
| 390 | + ) |
376 | 391 |
|
377 | 392 |
|
378 | 393 | async def send_user_message_notification( |
|
0 commit comments