diff options
Diffstat (limited to '.config/nvim/lsp/tinymist.lua')
| -rw-r--r-- | .config/nvim/lsp/tinymist.lua | 72 | 
1 files changed, 0 insertions, 72 deletions
diff --git a/.config/nvim/lsp/tinymist.lua b/.config/nvim/lsp/tinymist.lua deleted file mode 100644 index f02ff19..0000000 --- a/.config/nvim/lsp/tinymist.lua +++ /dev/null @@ -1,72 +0,0 @@ ----@brief ---- ---- https://github.com/Myriad-Dreamin/tinymist ---- An integrated language service for Typst [taɪpst]. You can also call it "微霭" [wēi ǎi] in Chinese. ---- ---- Currently some of Tinymist's workspace commands are supported, namely: ---- `LspTinymistExportSvg`, `LspTinymistExportPng`, `LspTinymistExportPdf ---- `LspTinymistExportMarkdown`, `LspTinymistExportText`, `LspTinymistExportQuery`, ---- `LspTinymistExportAnsiHighlight`, `LspTinymistGetServerInfo`, ---- `LspTinymistGetDocumentTrace`, `LspTinymistGetWorkspaceLabels`, and ---- `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+)' -  local info_type = command_name:match 'tinymist%.(%w+)' -  if info_type and info_type:match '^get' then -    info_type = info_type:gsub('^get', 'Get') -  end -  local cmd_display = export_type or info_type -  ---@return nil -  local function run_tinymist_command() -    local arguments = { vim.api.nvim_buf_get_name(bufnr) } -    local title_str = export_type and ('Export ' .. cmd_display) or cmd_display -    ---@type lsp.Handler -    local function handler(err, res) -      if err then -        return vim.notify(err.code .. ': ' .. err.message, vim.log.levels.ERROR) -      end -      -- 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 -    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 ('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 - ----@type vim.lsp.Config -return { -  cmd = { 'tinymist' }, -  filetypes = { 'typst' }, -  root_markers = { '.git' }, -  on_attach = function(client, bufnr) -    for _, command in ipairs { -      'tinymist.exportSvg', -      'tinymist.exportPng', -      'tinymist.exportPdf', -      -- 'tinymist.exportHtml', -- Use typst 0.13 -      'tinymist.exportMarkdown', -      'tinymist.exportText', -      'tinymist.exportQuery', -      'tinymist.exportAnsiHighlight', -      'tinymist.getServerInfo', -      'tinymist.getDocumentTrace', -      'tinymist.getWorkspaceLabels', -      'tinymist.getDocumentMetrics', -    } do -      local cmd_func, cmd_name, cmd_desc = create_tinymist_command(command, client, bufnr) -      vim.api.nvim_buf_create_user_command(bufnr, 'Lsp' .. cmd_name, cmd_func, { nargs = 0, desc = cmd_desc }) -    end -  end, -}  |