Skip to content
This repository has been archived by the owner on Jul 6, 2021. It is now read-only.

Support buffer-local show_sign and enable_virtual_text options #64

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 23 additions & 5 deletions lua/diagnostic.lua
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,28 @@ function M.publish_diagnostics(bufnr)
if vim.api.nvim_get_var('diagnostic_enable_underline') == 1 then
vim.lsp.util.buf_diagnostics_underline(bufnr, diagnostics)
end
if vim.api.nvim_get_var('diagnostic_show_sign') == 1 then

local show_sign

if vim.b.diagnostic_show_sign ~= nil then
show_sign = vim.b.diagnostic_show_sign
else
show_sign = vim.api.nvim_get_var('diagnostic_show_sign')
end

if show_sign == 1 then
util.buf_diagnostics_signs(bufnr, diagnostics)
end
if vim.api.nvim_get_var('diagnostic_enable_virtual_text') == 1 then

local virtual_text

if vim.b.diagnostic_enable_virtual_text ~= nil then
virtual_text = vim.b.diagnostic_enable_virtual_text
else
virtual_text = vim.api.nvim_get_var('diagnostic_enable_virtual_text')
end

if virtual_text == 1 then
util.buf_diagnostics_virtual_text(bufnr, diagnostics)
end
local title = vim.fn.getloclist(vim.fn.winnr(), {title= 1})['title']
Expand All @@ -95,7 +113,7 @@ function M.publish_diagnostics(bufnr)
end

M.trigger_diagnostics_changed = vim.schedule_wrap(function()
vim.api.nvim_command("doautocmd User LspDiagnosticsChanged")
vim.api.nvim_command("doautocmd User LspDiagnosticsChanged")
end)

function M.refresh_diagnostics()
Expand Down Expand Up @@ -131,8 +149,8 @@ M.on_attach = function(_, _)

if vim.api.nvim_get_var('diagnostic_insert_delay') == 1 then
vim.api.nvim_command [[augroup DiagnosticInsertDelay]]
vim.api.nvim_command("autocmd! * <buffer>")
vim.api.nvim_command [[autocmd InsertLeave <buffer> lua require'diagnostic'.on_InsertLeave()]]
vim.api.nvim_command("autocmd! * <buffer>")
vim.api.nvim_command [[autocmd InsertLeave <buffer> lua require'diagnostic'.on_InsertLeave()]]
vim.api.nvim_command [[augroup end]]
end
end
Expand Down