dartls.md
~/.config/nvim/lua/config/lspclients/dartls.lua
-- https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md#dartls
local capabilities = require('blink.cmp').get_lsp_capabilities()
local namespace = vim.api.nvim_create_namespace("flutter_closing_tags")
local function closing_tags(error, result, ctx, config)
vim.api.nvim_buf_clear_namespace(0, namespace, 0, -1)
for _, item in ipairs(result.labels) do
local line = tonumber(item.range["end"].line)
if line <= vim.api.nvim_buf_line_count(0) then
vim.api.nvim_buf_set_extmark(0, namespace, line, -1, {
virt_text = { {
"// " .. item.label,
"Comment",
} },
virt_text_pos = "eol",
hl_mode = "combine",
})
end
end
end
require('lspconfig').dartls.setup({
capabilities = capabilities,
handlers = {
["dart/textDocument/publishClosingLabels"] = closing_tags,
}
})