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", "BufferLineCycleNext" }, { "zp", "BufferLineCyclePrev" }, { "zcn", "BufferLineMoveNext" }, { "zcp", "BufferLineMovePrev" }, }, 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, }, }