(var M {})
(vim.keymap.set "n" "=" vim.lsp.buf.format)
(vim.keymap.set "n" "^h" #(vim.lsp.inlay_hint.enable (not (vim.lsp.inlay_hint.is_enabled))))
(vim.keymap.set "n" "gd" vim.lsp.buf.definition)
(vim.keymap.set "n" "grh" vim.lsp.buf.hover)
(fn M.on_attach [client buf]
(let [chars (fcollect [i 32 126]
(string.char i))]
(tset client :server_capabilities :completionProvider :triggerCharacters chars))
(vim.lsp.completion.enable
true
client.id
buf
{ :autotrigger true
:convert #{ :abbr ($.label:gsub "%b()" "") } }))
M