diff --git a/src/lsfw b/src/lsfw new file mode 160000 index 0000000..5077a6c --- /dev/null +++ b/src/lsfw @@ -0,0 +1 @@ +Subproject commit 5077a6cc6d6e0cf8ed95db234146aa14c42767f0 diff --git a/src/lsp.zig b/src/lsp.zig new file mode 100644 index 0000000..e6f787b --- /dev/null +++ b/src/lsp.zig @@ -0,0 +1,28 @@ +const std = @import("std"); +const lsp_types = @import("lsfw/src/types.zig"); +const lsp = @import("lsfw/src/lsp.zig"); +const lsp_doc = @import("lsfw/src/document.zig"); + +const State = struct {}; +const Lsp = lsp.Lsp(State); + +fn handleHover(allocator: std.mem.Allocator, context: *Lsp.Context, position: lsp_types.Position) ?[]const u8 { + _ = allocator; + _ = position; + _ = context; + return null; +} + +pub fn start() !u8 { + const descr = lsp_types.ServerData{ + .serverInfo = .{ + .name = "skill lsp", + .version = "0.1.0", + }, + }; + + var server = Lsp.init(std.heap.page_allocator, descr); + + server.registerHoverCallback(handleHover); + return server.start(); +}