56 lines
1.3 KiB
Lua
56 lines
1.3 KiB
Lua
local spec = {
|
|
"luukvbaal/statuscol.nvim",
|
|
lazy = true,
|
|
}
|
|
|
|
spec.dependencies = {
|
|
{ "lewis6991/gitsigns.nvim", opts = {} },
|
|
}
|
|
|
|
spec.config = function()
|
|
local statuscol = require("statuscol")
|
|
local builtin = require("statuscol.builtin")
|
|
|
|
-- Give me fancy diagnostic signs
|
|
vim.fn.sign_define("DiagnosticSignError", { text = "✘" })
|
|
vim.fn.sign_define("DiagnosticSignWarn", { text = "▲" })
|
|
vim.fn.sign_define("DiagnosticSignInfo ", { text = "»" })
|
|
vim.fn.sign_define("DiagnosticSignHint", { text = "⚑" })
|
|
|
|
vim.opt.signcolumn = "yes"
|
|
vim.opt.foldcolumn = "1"
|
|
vim.opt.fillchars:append({
|
|
fold = " ",
|
|
foldopen = "",
|
|
foldsep = " ",
|
|
foldclose = "",
|
|
})
|
|
|
|
local function line_numbers(args, fa)
|
|
if vim.api.nvim_get_mode().mode == "n" then
|
|
return builtin.lnumfunc(args, fa)
|
|
else
|
|
return "%l"
|
|
end
|
|
end
|
|
|
|
local signs = {
|
|
text = { "%s" },
|
|
}
|
|
local folds = {
|
|
text = { builtin.foldfunc, " " },
|
|
condition = { builtin.not_empty },
|
|
}
|
|
local numbers = {
|
|
text = { line_numbers, " " },
|
|
condition = { true, builtin.not_empty },
|
|
}
|
|
|
|
statuscol.setup({
|
|
relculright = true,
|
|
segments = { signs, folds, numbers }
|
|
})
|
|
end
|
|
|
|
return spec
|