diff options
Diffstat (limited to 'nvim/lua/user/lualine.lua')
-rw-r--r-- | nvim/lua/user/lualine.lua | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/nvim/lua/user/lualine.lua b/nvim/lua/user/lualine.lua new file mode 100644 index 0000000..535f541 --- /dev/null +++ b/nvim/lua/user/lualine.lua @@ -0,0 +1,67 @@ +local M = { + "nvim-lualine/lualine.nvim", + commit = "0050b308552e45f7128f399886c86afefc3eb988", + event = { "VimEnter", "InsertEnter", "BufReadPre", "BufAdd", "BufNew", "BufReadPost" }, +} + +function M.config() + local status_ok, lualine = pcall(require, "lualine") + if not status_ok then + return + end + + local hide_in_width = function() + return vim.fn.winwidth(0) > 80 + end + + local diagnostics = { + "diagnostics", + sources = { "nvim_diagnostic" }, + sections = { "error", "warn" }, + symbols = { error = " ", warn = " " }, + colored = false, + always_visible = true, + } + + local diff = { + "diff", + colored = false, + symbols = { added = " ", modified = " ", removed = " " }, -- changes diff symbols + cond = hide_in_width, + } + + local filetype = { + "filetype", + icons_enabled = false, + } + + local location = { + "location", + padding = 0, + } + + local spaces = function() + return "spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth") + end + lualine.setup { + options = { + globalstatus = true, + icons_enabled = true, + theme = "auto", + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + disabled_filetypes = { "alpha", "dashboard" }, + always_divide_middle = true, + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { "branch" }, + lualine_c = { diagnostics }, + lualine_x = { diff, spaces, "encoding", filetype }, + lualine_y = { location }, + lualine_z = { "progress" }, + }, + } +end + +return M |