diff options
Diffstat (limited to 'lsp/tinymist.lua')
| -rw-r--r-- | lsp/tinymist.lua | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/lsp/tinymist.lua b/lsp/tinymist.lua index 3b182a67..67812a55 100644 --- a/lsp/tinymist.lua +++ b/lsp/tinymist.lua @@ -11,6 +11,8 @@ --- `LspTinymistGetDocumentMetrics`. ---@param command_name string +---@param client vim.lsp.Client +---@param bufnr integer ---@return fun():nil run_tinymist_command, string cmd_name, string cmd_desc local function create_tinymist_command(command_name, client, bufnr) local export_type = command_name:match 'tinymist%.export(%w+)' @@ -19,7 +21,6 @@ local function create_tinymist_command(command_name, client, bufnr) info_type = info_type:gsub('^get', 'Get') end local cmd_display = export_type or info_type - ---Execute the Tinymist command, supporting both 0.10 and 0.11 exec methods ---@return nil local function run_tinymist_command() local arguments = { vim.api.nvim_buf_get_name(bufnr) } @@ -32,19 +33,14 @@ local function create_tinymist_command(command_name, client, bufnr) -- If exporting, show the string result; else, show the table for inspection vim.notify(export_type and res or vim.inspect(res), vim.log.levels.INFO) end - if vim.fn.has 'nvim-0.11' == 1 then - -- For Neovim 0.11+ - return client:exec_cmd({ - title = title_str, - command = command_name, - arguments = arguments, - }, { bufnr = bufnr }, handler) - else - return vim.notify('Tinymist commands require Neovim 0.11+', vim.log.levels.WARN) - end + return client:exec_cmd({ + title = title_str, + command = command_name, + arguments = arguments, + }, { bufnr = bufnr }, handler) end -- Construct a readable command name/desc - local cmd_name = export_type and ('LspTinymistExport' .. cmd_display) or ('LspTinymist' .. cmd_display) ---@type string + local cmd_name = export_type and ('TinymistExport' .. cmd_display) or ('Tinymist' .. cmd_display) ---@type string local cmd_desc = export_type and ('Export to ' .. cmd_display) or ('Get ' .. cmd_display) ---@type string return run_tinymist_command, cmd_name, cmd_desc end @@ -53,6 +49,8 @@ return { cmd = { 'tinymist' }, filetypes = { 'typst' }, root_markers = { '.git' }, + ---@param client vim.lsp.Client + ---@param bufnr integer on_attach = function(client, bufnr) for _, command in ipairs { 'tinymist.exportSvg', @@ -69,7 +67,7 @@ return { 'tinymist.getDocumentMetrics', } do local cmd_func, cmd_name, cmd_desc = create_tinymist_command(command, client, bufnr) - vim.api.nvim_buf_create_user_command(bufnr, cmd_name, cmd_func, { nargs = 0, desc = cmd_desc }) + vim.api.nvim_buf_create_user_command(bufnr, 'Lsp' .. cmd_name, cmd_func, { nargs = 0, desc = cmd_desc }) end end, } |
