1
0
Fork 0
dotfiles/config/nvim/nifoc/diagnostic.fnl

28 lines
1.1 KiB
Text
Raw Normal View History

2022-04-05 19:57:44 +00:00
(let [mod {}
cmd vim.cmd
api vim.api
2022-04-06 14:26:01 +00:00
keymap (require :nifoc.keymap)
lsp-format (require :lsp-format)]
2022-04-05 19:57:44 +00:00
(fn mod.setup []
(vim.diagnostic.config {:underline true
:virtual_text {:source false}
:signs false
:update_in_insert false})
(cmd "sign define DiagnosticSignError text= texthl=DiagnosticSignError linehl= numhl=")
(cmd "sign define DiagnosticSignWarn text= texthl=DiagnosticSignWarn linehl= numhl=")
(cmd "sign define DiagnosticSignInfo text= texthl=DiagnosticSignInfo linehl= numhl=")
(cmd "sign define DiagnosticSignHint text= texthl=DiagnosticSignHint linehl= numhl="))
(fn mod.maybe-enable-lsp [client bufnr]
(when (= vim.b.nifoc_lsp_enabled nil)
(api.nvim_buf_set_var bufnr :nifoc_lsp_enabled 1)
(keymap.lsp-attach client bufnr)))
(fn mod.maybe-enable-fixer [client bufnr]
(when (and client.resolved_capabilities.document_formatting
(= vim.b.nifoc_fixer_enabled nil))
(api.nvim_buf_set_var bufnr :nifoc_fixer_enabled 1)
2022-04-06 14:26:01 +00:00
(lsp-format.on_attach client bufnr)))
2022-04-05 19:57:44 +00:00
mod)