fix: add version to lua, fix annotations

also snuck in a tiny change for rockspec file
This commit is contained in:
əlemi 2024-09-25 17:22:57 +02:00 committed by alemi.dev
parent 3da0bfd40a
commit 7d3a7ebef5
3 changed files with 13 additions and 5 deletions

View file

@ -222,7 +222,7 @@ function Workspace:get_buffer(path) end
function Workspace:attach(path) end function Workspace:attach(path) end
---@param path string relative path ("name") of buffer to detach from ---@param path string relative path ("name") of buffer to detach from
---@return boolean ---@return boolean success
---detach from an active buffer, closing all streams. returns false if buffer was no longer active ---detach from an active buffer, closing all streams. returns false if buffer was no longer active
function Workspace:detach(path) end function Workspace:detach(path) end
@ -297,7 +297,7 @@ function BufferController:recv() end
---block until next text change without returning it ---block until next text change without returning it
function BufferController:poll() end function BufferController:poll() end
---@return boolean ---@return boolean success
---stop buffer worker and disconnect, returns false if was already stopped ---stop buffer worker and disconnect, returns false if was already stopped
function BufferController:stop() end function BufferController:stop() end
@ -354,7 +354,7 @@ function CursorController:recv() end
---block until next cursor event without returning it ---block until next cursor event without returning it
function CursorController:poll() end function CursorController:poll() end
---@return boolean ---@return boolean success
---stop cursor worker and disconnect, returns false if was already stopped ---stop cursor worker and disconnect, returns false if was already stopped
function CursorController:stop() end function CursorController:stop() end
@ -396,6 +396,10 @@ function Codemp.poll_callback() end
---use xxh3 hash, returns an i64 from any string ---use xxh3 hash, returns an i64 from any string
function Codemp.hash(data) end function Codemp.hash(data) end
---@return string
---get current library version as string, in semver format
function Codemp.version() end
---@class (exact) RuntimeDriver ---@class (exact) RuntimeDriver
local RuntimeDriver = {} local RuntimeDriver = {}
@ -411,6 +415,6 @@ function Codemp.setup_driver(block) end
---@param printer? string | fun(string) | nil log sink used for printing, if string will go to file, otherwise use given function ---@param printer? string | fun(string) | nil log sink used for printing, if string will go to file, otherwise use given function
---@param debug? boolean show more verbose debug logs, default false ---@param debug? boolean show more verbose debug logs, default false
---@return boolean true if logger was setup correctly, false otherwise ---@return boolean success if logger was setup correctly, false otherwise
---setup a global logger for codemp, note that can only be done once ---setup a global logger for codemp, note that can only be done once
function Codemp.setup_tracing(printer, debug) end function Codemp.setup_tracing(printer, debug) end

View file

@ -31,6 +31,6 @@ build = {
modules = { "codemp" }, modules = { "codemp" },
target_path = "../..", target_path = "../..",
include = { include = {
["codemp-annotations.lua"] = "dist/lua/annotations.lua", ["dist/lua/annotations.lua"] = "codemp-annotations.lua",
} }
} }

View file

@ -27,6 +27,10 @@ fn entrypoint(lua: &Lua) -> LuaResult<LuaTable> {
Ok(crate::ext::hash(txt)) Ok(crate::ext::hash(txt))
)?)?; )?)?;
exports.set("version", lua.create_function(|_, ()|
Ok(crate::version())
)?)?;
// runtime // runtime
exports.set("setup_driver", lua.create_function(ext::a_sync::setup_driver)?)?; exports.set("setup_driver", lua.create_function(ext::a_sync::setup_driver)?)?;
exports.set("poll_callback", lua.create_function(|lua, ()| { exports.set("poll_callback", lua.create_function(|lua, ()| {