summaryrefslogtreecommitdiffstats
path: root/nvim/lua/user/lualine.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/lua/user/lualine.lua')
-rw-r--r--nvim/lua/user/lualine.lua67
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