From f39d1a39f6ced027a6fdd2d647a225dda77ff868 Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Sun, 15 Sep 2024 01:15:39 -0500 Subject: [PATCH] Additional wiring of lsp manager calls and responses --- src/core/controllers/lsp_controller.py | 6 ++-- src/core/controllers/lsp_controller_events.py | 28 +++++++++++++------ src/libs/dto/lsp_messages.py | 18 ++++++------ 3 files changed, 31 insertions(+), 21 deletions(-) diff --git a/src/core/controllers/lsp_controller.py b/src/core/controllers/lsp_controller.py index b87904c..af448d5 100644 --- a/src/core/controllers/lsp_controller.py +++ b/src/core/controllers/lsp_controller.py @@ -48,10 +48,10 @@ class LSPController(LSPControllerEvents): def _subscribe_to_events(self): event_system.subscribe("textDocument/didOpen", self._lsp_did_open) - # event_system.subscribe("textDocument/didSave", self._lsp_did_save) - # event_system.subscribe("textDocument/didClose", self._lsp_did_close) + event_system.subscribe("textDocument/didSave", self._lsp_did_save) + event_system.subscribe("textDocument/didClose", self._lsp_did_close) event_system.subscribe("textDocument/didChange", self._lsp_did_change) - event_system.subscribe("textDocument/definition", self._lsp_goto) + event_system.subscribe("textDocument/definition", self._lsp_definition) event_system.subscribe("textDocument/completion", self._lsp_completion) diff --git a/src/core/controllers/lsp_controller_events.py b/src/core/controllers/lsp_controller_events.py index 1d1b0d2..38f232b 100644 --- a/src/core/controllers/lsp_controller_events.py +++ b/src/core/controllers/lsp_controller_events.py @@ -5,7 +5,15 @@ import os from gi.repository import GLib # Application imports -from libs.dto.lsp_messages import get_message_obj, didopen_notification, didsave_notification, didclose_notification, completion_request, didchange_notification +from libs.dto.lsp_messages import get_message_obj +from libs.dto.lsp_messages import didopen_notification +from libs.dto.lsp_messages import didsave_notification +from libs.dto.lsp_messages import didclose_notification +from libs.dto.lsp_messages import didchange_notification +from libs.dto.lsp_messages import completion_request +from libs.dto.lsp_messages import definition_request +from libs.dto.lsp_messages import references_request +from libs.dto.lsp_messages import symbols_request @@ -75,12 +83,15 @@ class LSPControllerEvents: GLib.idle_add( self.send_notification, method, params ) - def _lsp_goto(self, data: dict): - method = data["method"] - language_id = data["language_id"] - uri = data["uri"] - line = data["line"] - column = data["column"] + def _lsp_definition(self, data: dict): + method = data["method"] + params = definition_request["params"] + + params["textDocument"]["uri"] = data["uri"] + params["textDocument"]["languageId"] = data["language_id"] + params["textDocument"]["version"] = data["version"] + params["position"]["line"] = data["line"] + params["position"]["character"] = data["column"] GLib.idle_add( self.send_request, method, params ) @@ -94,5 +105,4 @@ class LSPControllerEvents: params["position"]["line"] = data["line"] params["position"]["character"] = data["column"] - - GLib.idle_add( self.send_request, method, params ) + GLib.idle_add( self.send_request, method, params ) \ No newline at end of file diff --git a/src/libs/dto/lsp_messages.py b/src/libs/dto/lsp_messages.py index 65cee04..fe07658 100644 --- a/src/libs/dto/lsp_messages.py +++ b/src/libs/dto/lsp_messages.py @@ -27,7 +27,7 @@ content_part = { "method": "textDocument/definition", "params": { "textDocument": { - "uri": "file:///", + "uri": "file://", "languageId": "python", "version": 1, "text": "" @@ -45,7 +45,7 @@ didopen_notification = { "method": "textDocument/didOpen", "params": { "textDocument": { - "uri": "file://", + "uri": "file://", "languageId": "python", "version": 1, "text": "" @@ -57,7 +57,7 @@ didsave_notification = { "method": "textDocument/didSave", "params": { "textDocument": { - "uri": "file://" + "uri": "file://" }, "text": "" } @@ -67,7 +67,7 @@ didclose_notification = { "method": "textDocument/didClose", "params": { "textDocument": { - "uri": "file://" + "uri": "file://" } } } @@ -77,7 +77,7 @@ didchange_notification = { "method": "textDocument/didChange", "params": { "textDocument": { - "uri": "file://", + "uri": "file://", "languageId": "python", "version": 1, "text": "" @@ -130,7 +130,7 @@ definition_request = { "method": "textDocument/definition", "params": { "textDocument": { - "uri": "file:///home/abaddon/Coding/Projects/Active/Python_Projects/000_Usable/gtk/LSP-Manager/src/core/widgets/lsp_message_box.py", + "uri": "file://", "languageId": "python", "version": 1, "text": "" @@ -150,7 +150,7 @@ references_request = { "includeDeclaration": False }, "textDocument": { - "uri": "file:///home/abaddon/Coding/Projects/Active/Python_Projects/000_Usable/gtk/LSP-Manager/src/core/widgets/lsp_message_box.py", + "uri": "file://", "languageId": "python", "version": 1, "text": "" @@ -168,10 +168,10 @@ symbols_request = { "method": "textDocument/documentSymbol", "params": { "textDocument": { - "uri": "file:///home/abaddon/Coding/Projects/Active/Python_Projects/000_Usable/gtk/LSP-Manager/src/core/widgets/lsp_message_box.py", + "uri": "file://", "languageId": "python", "version": 1, "text": "" } } -} +} \ No newline at end of file