// // Created by Giorgio on 25/05/2026. // #ifndef BELUGA_COMPLETION_H #define BELUGA_COMPLETION_H #include "data.h" int lspStart(LspClient* lsp, const char* project_root); void lspShutdown(LspClient* lsp); // Document sync — call these from your buffer open/save/edit hooks void lspDidOpen(LspClient* lsp, struct buffer_t* buf); void lspDidChange(LspClient* lsp, struct buffer_t* buf); void lspDidClose(LspClient* lsp, struct buffer_t* buf); // Requests void lspRequestCompletion(LspClient* lsp, struct buffer_t* buf, int line, int col, int screen_x, int screen_y); void lspRequestHover(LspClient* lsp, struct buffer_t* buf, int line, int col); void lspRequestDefinition(LspClient* lsp, struct buffer_t* buf, int line, int col); #endif //BELUGA_COMPLETION_H