diff options
| author | christianchiarulli <chrisatmachine@gmail.com> | 2021-12-14 18:33:51 -0500 |
|---|---|---|
| committer | christianchiarulli <chrisatmachine@gmail.com> | 2021-12-14 18:33:51 -0500 |
| commit | 3ae7d69154d202dd303405f7eff4d360eb107ee3 (patch) | |
| tree | 7263011cc66ff427947873b9bd3d68bfc7f7f7f7 /lua/user | |
| parent | 0b689f091596b1f6a06e74d40b379a722953d919 (diff) | |
add lualine
Diffstat (limited to 'lua/user')
| -rw-r--r-- | lua/user/lualine.lua | 93 | ||||
| -rw-r--r-- | lua/user/plugins.lua | 1 |
2 files changed, 94 insertions, 0 deletions
diff --git a/lua/user/lualine.lua b/lua/user/lualine.lua new file mode 100644 index 0000000..50484cb --- /dev/null +++ b/lua/user/lualine.lua @@ -0,0 +1,93 @@ +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, + update_in_insert = false, + always_visible = true, +} + +local diff = { + "diff", + colored = false, + symbols = { added = " ", modified = " ", removed = " " }, -- changes diff symbols + cond = hide_in_width +} + +local mode = { + "mode", + fmt = function(str) + return "-- " .. str .. " --" + end, +} + +local filetype = { + "filetype", + icons_enabled = false, + icon = nil, +} + +local branch = { + "branch", + icons_enabled = true, + icon = "", +} + +local location = { + "location", + padding = 0, +} + +-- cool function for progress +local progress = function() + local current_line = vim.fn.line(".") + local total_lines = vim.fn.line("$") + local chars = { "__", "▁▁", "▂▂", "▃▃", "▄▄", "▅▅", "▆▆", "▇▇", "██" } + local line_ratio = current_line / total_lines + local index = math.ceil(line_ratio * #chars) + return chars[index] +end + +local spaces = function() + return "spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth") +end + +lualine.setup({ + options = { + icons_enabled = true, + theme = "auto", + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + disabled_filetypes = { "dashboard", "NvimTree", "Outline" }, + always_divide_middle = true, + }, + sections = { + lualine_a = { branch, diagnostics }, + lualine_b = { mode }, + lualine_c = {}, + -- lualine_x = { "encoding", "fileformat", "filetype" }, + lualine_x = { diff, spaces, "encoding", filetype }, + lualine_y = { location }, + lualine_z = { progress }, + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { "filename" }, + lualine_x = { "location" }, + lualine_y = {}, + lualine_z = {}, + }, + tabline = {}, + extensions = {}, +}) diff --git a/lua/user/plugins.lua b/lua/user/plugins.lua index 614545c..ef28595 100644 --- a/lua/user/plugins.lua +++ b/lua/user/plugins.lua @@ -50,6 +50,7 @@ return packer.startup(function(use) use "kyazdani42/nvim-tree.lua" use "akinsho/bufferline.nvim" use "moll/vim-bbye" + use 'nvim-lualine/lualine.nvim' -- Colorschemes -- use "lunarvim/colorschemes" -- A bunch of colorschemes you can try out |
