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 = { { "]b", "BufferLineCycleNext" }, { "[b", "BufferLineCyclePrev" }, { ">b", "BufferLineMoveNext" }, { "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 = "neo-tree", text = "neo-tree", text_align = "center", separator = true, }, }, persist_buffer_sort = false, } }, }, { "nvim-lualine/lualine.nvim", enabled = custom.full_feature, dependencies = { "nvim-tree/nvim-web-devicons", "dokwork/lualine-ex", "nvim-lua/plenary.nvim", }, main = "lualine", event = "VeryLazy", opts = { sections = { lualine_a = { "mode" }, lualine_b = { "branch", "diff", "ex.lsp.single", "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, }, }