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,
},
}