config-neovim/lua/plugins/13-lines.lua

79 lines
2.5 KiB
Lua

local function my_location()
local line = vim.fn.line(".")
local line_cnt = vim.fn.line("$")
local col = vim.fn.virtcol(".")
local col_cnt = vim.fn.virtcol("$") - 1
return string.format("%3d(%d):%d(%d)", line, line_cnt, col, col_cnt)
end
return {
{
"akinsho/bufferline.nvim",
enabled = custom.full_feature,
main = "bufferline",
event = "VeryLazy",
keys = {
{ "zn", "<cmd>BufferLineCycleNext<cr>" },
{ "zp", "<cmd>BufferLineCyclePrev<cr>" },
{ "zcn", "<cmd>BufferLineMoveNext<cr>" },
{ "zcp", "<cmd>BufferLineMovePrev<cr>" },
},
opts = {
options = {
numbers = "ordinal",
diagnostics = "nvim_lsp",
diagnostics_indicator = function(count, level, diagnostics_dict, context)
local icon = level:match("error") and "" or ""
return " " .. icon .. count
end,
separator_style = "thick",
offsets = {
{
filetype = "NvimTree",
text = "Nvim Tree",
text_align = "center",
separator = true,
},
},
persist_buffer_sort = false,
}
},
},
{
"nvim-lualine/lualine.nvim",
enabled = custom.full_feature,
dependencies = {
"nvim-tree/nvim-web-devicons"
},
main = "lualine",
event = "VeryLazy",
opts = {
sections = {
lualine_a = { "mode" },
lualine_b = { "branch", "diff", "diagnostics" },
lualine_c = { "filename" },
lualine_x = { "encoding" , "fileformat", "filetype" },
lualine_y = { "progress" },
lualine_z = { my_location },
},
inactive_sections = {
lualine_a = { },
lualine_b = { },
lualine_c = { "filename" },
lualine_x = { "encoding", "fileformat", "filetype" },
lualine_y = { "progress" },
lualine_z = { my_location },
},
options = {
disabled_filetypes = {
statusline = {"NvimTree"},
winbar = {},
},
},
},
init = function(_)
vim.o.mousemoveevent = true
end,
},
}