move to feline.nvim
This commit is contained in:
		
							parent
							
								
									9635b45404
								
							
						
					
					
						commit
						80d36cca00
					
				
					 4 changed files with 219 additions and 230 deletions
				
			
		| 
						 | 
				
			
			@ -82,7 +82,7 @@ M.plugin_status = {
 | 
			
		|||
   comment = true, -- universal commentor
 | 
			
		||||
   dashboard = true, -- a nice looking dashboard
 | 
			
		||||
   esc_insertmode = true, -- escape from insert mode using custom keys
 | 
			
		||||
   galaxyline = true, -- statusline
 | 
			
		||||
   feline = true, -- statusline
 | 
			
		||||
   gitsigns = true, -- gitsigns in statusline
 | 
			
		||||
   lspkind = true, -- lsp enhancements
 | 
			
		||||
   lspsignature = true, -- lsp enhancements
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -86,7 +86,7 @@ M.plugin_status = {
 | 
			
		|||
   comment = true, -- universal commentor
 | 
			
		||||
   dashboard = true, -- a nice looking dashboard
 | 
			
		||||
   esc_insertmode = true, -- escape from insert mode using custom keys
 | 
			
		||||
   galaxyline = true, -- statusline
 | 
			
		||||
   feline = true, -- statusline
 | 
			
		||||
   gitsigns = true, -- gitsigns in statusline
 | 
			
		||||
   lspkind = true, -- lsp enhancements
 | 
			
		||||
   lspsignature = true, -- lsp enhancements
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,14 +1,5 @@
 | 
			
		|||
local colors = require("colors").get()
 | 
			
		||||
 | 
			
		||||
local present1, gl = pcall(require, "galaxyline")
 | 
			
		||||
local present2, condition = pcall(require, "galaxyline.condition")
 | 
			
		||||
if not (present1 or present2) then
 | 
			
		||||
   return
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local gls = gl.section
 | 
			
		||||
 | 
			
		||||
gl.short_line_list = { " " }
 | 
			
		||||
local lsp = require "feline.providers.lsp"
 | 
			
		||||
 | 
			
		||||
local icon_styles = {
 | 
			
		||||
   default = {
 | 
			
		||||
| 
						 | 
				
			
			@ -18,7 +9,6 @@ local icon_styles = {
 | 
			
		|||
      vi_mode_icon = " ",
 | 
			
		||||
      position_icon = " ",
 | 
			
		||||
   },
 | 
			
		||||
 | 
			
		||||
   arrow = {
 | 
			
		||||
      left = "",
 | 
			
		||||
      right = "",
 | 
			
		||||
| 
						 | 
				
			
			@ -55,264 +45,263 @@ local icon_styles = {
 | 
			
		|||
local user_statusline_style = require("core.utils").load_config().ui.plugin.statusline.style
 | 
			
		||||
local statusline_style = icon_styles[user_statusline_style]
 | 
			
		||||
 | 
			
		||||
local left_separator = statusline_style.left
 | 
			
		||||
local right_separator = statusline_style.right
 | 
			
		||||
-- Initialize the components table
 | 
			
		||||
local components = {
 | 
			
		||||
   left = { active = {}, inactive = {} },
 | 
			
		||||
   mid = { active = {}, inactive = {} },
 | 
			
		||||
   right = { active = {}, inactive = {} },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.left[1] = {
 | 
			
		||||
   FirstElement = {
 | 
			
		||||
      provider = function()
 | 
			
		||||
         return "▋"
 | 
			
		||||
      end,
 | 
			
		||||
      highlight = { colors.nord_blue, colors.nord_blue },
 | 
			
		||||
components.left.active[1] = {
 | 
			
		||||
   provider = statusline_style.main_icon,
 | 
			
		||||
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.statusline_bg,
 | 
			
		||||
      bg = colors.nord_blue,
 | 
			
		||||
   },
 | 
			
		||||
 | 
			
		||||
   right_sep = { str = statusline_style.right, hl = {
 | 
			
		||||
      fg = colors.nord_blue,
 | 
			
		||||
      bg = colors.one_bg2,
 | 
			
		||||
   } },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
components.left.active[2] = {
 | 
			
		||||
   provider = statusline_style.right,
 | 
			
		||||
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.one_bg2,
 | 
			
		||||
      bg = colors.lightbg,
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.left[2] = {
 | 
			
		||||
   statusIcon = {
 | 
			
		||||
      provider = function()
 | 
			
		||||
         return statusline_style.main_icon
 | 
			
		||||
      end,
 | 
			
		||||
      highlight = { colors.statusline_bg, colors.nord_blue },
 | 
			
		||||
      separator = right_separator,
 | 
			
		||||
      separator_highlight = { colors.nord_blue, colors.one_bg2 },
 | 
			
		||||
components.left.active[3] = {
 | 
			
		||||
   provider = function()
 | 
			
		||||
      local filename = vim.fn.expand "%:t"
 | 
			
		||||
      local extension = vim.fn.expand "%:e"
 | 
			
		||||
      local icon = require("nvim-web-devicons").get_icon(filename, extension)
 | 
			
		||||
      if icon == nil then
 | 
			
		||||
         icon = ""
 | 
			
		||||
         return icon
 | 
			
		||||
      end
 | 
			
		||||
      return icon .. " " .. filename .. " "
 | 
			
		||||
   end,
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.white,
 | 
			
		||||
      bg = colors.lightbg,
 | 
			
		||||
   },
 | 
			
		||||
 | 
			
		||||
   right_sep = { str = statusline_style.right, hl = { fg = colors.lightbg, bg = colors.lightbg2 } },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.left[3] = {
 | 
			
		||||
   left_arow2 = {
 | 
			
		||||
      provider = function() end,
 | 
			
		||||
      separator = right_separator .. " ",
 | 
			
		||||
      separator_highlight = { colors.one_bg2, colors.lightbg },
 | 
			
		||||
components.left.active[4] = {
 | 
			
		||||
   provider = function()
 | 
			
		||||
      local dir_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":t")
 | 
			
		||||
      return " " .. dir_name .. " "
 | 
			
		||||
   end,
 | 
			
		||||
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.grey_fg2,
 | 
			
		||||
      bg = colors.lightbg2,
 | 
			
		||||
   },
 | 
			
		||||
   right_sep = { str = statusline_style.right, hi = {
 | 
			
		||||
      fg = colors.lightbg2,
 | 
			
		||||
      bg = colors.statusline_bg,
 | 
			
		||||
   } },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.left[4] = {
 | 
			
		||||
   FileIcon = {
 | 
			
		||||
      provider = "FileIcon",
 | 
			
		||||
      condition = condition.buffer_not_empty,
 | 
			
		||||
      highlight = { colors.white, colors.lightbg },
 | 
			
		||||
components.left.active[5] = {
 | 
			
		||||
   provider = "git_diff_added",
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.grey_fg2,
 | 
			
		||||
      bg = colors.statusline_bg,
 | 
			
		||||
   },
 | 
			
		||||
   icon = " ",
 | 
			
		||||
}
 | 
			
		||||
-- diffModfified
 | 
			
		||||
components.left.active[6] = {
 | 
			
		||||
   provider = "git_diff_changed",
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.grey_fg2,
 | 
			
		||||
      bg = colors.statusline_bg,
 | 
			
		||||
   },
 | 
			
		||||
   icon = "   ",
 | 
			
		||||
}
 | 
			
		||||
-- diffRemove
 | 
			
		||||
components.left.active[7] = {
 | 
			
		||||
   provider = "git_diff_removed",
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.grey_fg2,
 | 
			
		||||
      bg = colors.statusline_bg,
 | 
			
		||||
   },
 | 
			
		||||
   icon = "  ",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.left[5] = {
 | 
			
		||||
   FileName = {
 | 
			
		||||
      provider = function()
 | 
			
		||||
         local fileinfo = require "galaxyline.provider_fileinfo"
 | 
			
		||||
 | 
			
		||||
         if vim.api.nvim_buf_get_name(0):len() == 0 then
 | 
			
		||||
            return ""
 | 
			
		||||
         end
 | 
			
		||||
 | 
			
		||||
         return fileinfo.get_current_file_name("", "")
 | 
			
		||||
      end,
 | 
			
		||||
      highlight = { colors.white, colors.lightbg },
 | 
			
		||||
      separator = right_separator,
 | 
			
		||||
      separator_highlight = { colors.lightbg, colors.lightbg2 },
 | 
			
		||||
   },
 | 
			
		||||
components.left.active[8] = {
 | 
			
		||||
   provider = "diagnostic_errors",
 | 
			
		||||
   enabled = function()
 | 
			
		||||
      return lsp.diagnostics_exist "Error"
 | 
			
		||||
   end,
 | 
			
		||||
   hl = { fg = colors.red },
 | 
			
		||||
   icon = "  ",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.left[6] = {
 | 
			
		||||
   current_dir = {
 | 
			
		||||
      provider = function()
 | 
			
		||||
         local dir_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":t")
 | 
			
		||||
         return "  " .. dir_name .. " "
 | 
			
		||||
      end,
 | 
			
		||||
      highlight = { colors.grey_fg2, colors.lightbg2 },
 | 
			
		||||
      separator = right_separator,
 | 
			
		||||
      separator_highlight = { colors.lightbg2, colors.statusline_bg },
 | 
			
		||||
   },
 | 
			
		||||
components.left.active[9] = {
 | 
			
		||||
   provider = "diagnostic_warnings",
 | 
			
		||||
   enabled = function()
 | 
			
		||||
      return lsp.diagnostics_exist "Warning"
 | 
			
		||||
   end,
 | 
			
		||||
   hl = { fg = colors.yellow },
 | 
			
		||||
   icon = "  ",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
local checkwidth = function()
 | 
			
		||||
   local squeeze_width = vim.fn.winwidth(0) / 2
 | 
			
		||||
   if squeeze_width > 30 then
 | 
			
		||||
      return true
 | 
			
		||||
   end
 | 
			
		||||
   return false
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
gls.left[7] = {
 | 
			
		||||
   DiffAdd = {
 | 
			
		||||
      provider = "DiffAdd",
 | 
			
		||||
      condition = checkwidth,
 | 
			
		||||
      icon = "  ",
 | 
			
		||||
      highlight = { colors.white, colors.statusline_bg },
 | 
			
		||||
   },
 | 
			
		||||
components.left.active[10] = {
 | 
			
		||||
   provider = "diagnostic_hints",
 | 
			
		||||
   enabled = function()
 | 
			
		||||
      return lsp.diagnostics_exist "Hint"
 | 
			
		||||
   end,
 | 
			
		||||
   hl = { fg = colors.grey_fg2 },
 | 
			
		||||
   icon = "  ",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.left[8] = {
 | 
			
		||||
   DiffModified = {
 | 
			
		||||
      provider = "DiffModified",
 | 
			
		||||
      condition = checkwidth,
 | 
			
		||||
      icon = "   ",
 | 
			
		||||
      highlight = { colors.grey_fg2, colors.statusline_bg },
 | 
			
		||||
   },
 | 
			
		||||
components.left.active[11] = {
 | 
			
		||||
   provider = "diagnostic_info",
 | 
			
		||||
   enabled = function()
 | 
			
		||||
      return lsp.diagnostics_exist "Information"
 | 
			
		||||
   end,
 | 
			
		||||
   hl = { fg = colors.green },
 | 
			
		||||
   icon = "  ",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.left[9] = {
 | 
			
		||||
   DiffRemove = {
 | 
			
		||||
      provider = "DiffRemove",
 | 
			
		||||
      condition = checkwidth,
 | 
			
		||||
      icon = "  ",
 | 
			
		||||
      highlight = { colors.grey_fg2, colors.statusline_bg },
 | 
			
		||||
   },
 | 
			
		||||
components.right.active[1] = {
 | 
			
		||||
   provider = function()
 | 
			
		||||
      if lsp.is_lsp_attached then
 | 
			
		||||
         return " " .. "  " .. " LSP"
 | 
			
		||||
      end
 | 
			
		||||
   end,
 | 
			
		||||
   hl = { fg = colors.grey_fg2, bg = colors.statusline_bg },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.left[10] = {
 | 
			
		||||
   DiagnosticError = {
 | 
			
		||||
      provider = "DiagnosticError",
 | 
			
		||||
      icon = "  ",
 | 
			
		||||
      highlight = { colors.red, colors.statusline_bg },
 | 
			
		||||
components.right.active[2] = {
 | 
			
		||||
   provider = "git_branch",
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.grey_fg2,
 | 
			
		||||
      bg = colors.statusline_bg,
 | 
			
		||||
   },
 | 
			
		||||
   icon = "  ",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.left[11] = {
 | 
			
		||||
   DiagnosticWarn = {
 | 
			
		||||
      provider = "DiagnosticWarn",
 | 
			
		||||
      icon = "  ",
 | 
			
		||||
      highlight = { colors.yellow, colors.statusline_bg },
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.right[1] = {
 | 
			
		||||
   lsp_status = {
 | 
			
		||||
      provider = function()
 | 
			
		||||
         local clients = vim.lsp.get_active_clients()
 | 
			
		||||
         if next(clients) ~= nil then
 | 
			
		||||
            local buf_ft = vim.api.nvim_buf_get_option(0, "filetype")
 | 
			
		||||
            for _, client in ipairs(clients) do
 | 
			
		||||
               local filetypes = client.config.filetypes
 | 
			
		||||
               if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
 | 
			
		||||
                  return " " .. "  " .. " LSP"
 | 
			
		||||
               end
 | 
			
		||||
            end
 | 
			
		||||
            return ""
 | 
			
		||||
         else
 | 
			
		||||
            return ""
 | 
			
		||||
         end
 | 
			
		||||
      end,
 | 
			
		||||
      highlight = { colors.grey_fg2, colors.statusline_bg },
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.right[2] = {
 | 
			
		||||
   GitIcon = {
 | 
			
		||||
      provider = function()
 | 
			
		||||
         return " "
 | 
			
		||||
      end,
 | 
			
		||||
      condition = require("galaxyline.condition").check_git_workspace,
 | 
			
		||||
      highlight = { colors.grey_fg2, colors.statusline_bg },
 | 
			
		||||
      separator = " ",
 | 
			
		||||
      separator_highlight = { colors.statusline_bg, colors.statusline_bg },
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.right[3] = {
 | 
			
		||||
   GitBranch = {
 | 
			
		||||
      provider = "GitBranch",
 | 
			
		||||
      condition = require("galaxyline.condition").check_git_workspace,
 | 
			
		||||
      highlight = { colors.grey_fg2, colors.statusline_bg },
 | 
			
		||||
components.right.active[3] = {
 | 
			
		||||
   provider = " " .. statusline_style.left,
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.one_bg2,
 | 
			
		||||
      bg = colors.statusline_bg,
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
local mode_colors = {
 | 
			
		||||
   ['n'] = { "NORMAL", colors.red },
 | 
			
		||||
   ['no'] = { "N-PENDING", colors.red },
 | 
			
		||||
   ['i'] = { "INSERT", colors.dark_purple },
 | 
			
		||||
   ['ic'] = { "INSERT", colors.dark_purple },
 | 
			
		||||
   ['t'] = { "TERMINAL", colors.green },
 | 
			
		||||
   ['v'] = { "VISUAL", colors.cyan },
 | 
			
		||||
   ['V'] = { "V-LINE", colors.cyan },
 | 
			
		||||
   [''] = { "V-BLOCK", colors.cyan },
 | 
			
		||||
   ['R'] = { "REPLACE", colors.orange },
 | 
			
		||||
   ['Rv'] = { "V-REPLACE", colors.orange },
 | 
			
		||||
   ['s'] = { "SELECT", colors.nord_blue },
 | 
			
		||||
   ['S'] = { "S-LINE", colors.nord_blue },
 | 
			
		||||
   [''] = { "S-BLOCK", colors.nord_blue },
 | 
			
		||||
   ['c'] = { "COMMAND", colors.pink },
 | 
			
		||||
   ['cv'] = { "COMMAND", colors.pink },
 | 
			
		||||
   ['ce'] = { "COMMAND", colors.pink },
 | 
			
		||||
   ['r'] = { "PROMPT", colors.teal },
 | 
			
		||||
   ['rm'] = { "MORE", colors.teal },
 | 
			
		||||
   ['r?'] = { "CONFIRM", colors.teal },
 | 
			
		||||
   ['!'] = { "SHELL", colors.green },
 | 
			
		||||
   ["n"] = { "NORMAL", colors.red },
 | 
			
		||||
   ["no"] = { "N-PENDING", colors.red },
 | 
			
		||||
   ["i"] = { "INSERT", colors.dark_purple },
 | 
			
		||||
   ["ic"] = { "INSERT", colors.dark_purple },
 | 
			
		||||
   ["t"] = { "TERMINAL", colors.green },
 | 
			
		||||
   ["v"] = { "VISUAL", colors.cyan },
 | 
			
		||||
   ["V"] = { "V-LINE", colors.cyan },
 | 
			
		||||
   [""] = { "V-BLOCK", colors.cyan },
 | 
			
		||||
   ["R"] = { "REPLACE", colors.orange },
 | 
			
		||||
   ["Rv"] = { "V-REPLACE", colors.orange },
 | 
			
		||||
   ["s"] = { "SELECT", colors.nord_blue },
 | 
			
		||||
   ["S"] = { "S-LINE", colors.nord_blue },
 | 
			
		||||
   [""] = { "S-BLOCK", colors.nord_blue },
 | 
			
		||||
   ["c"] = { "COMMAND", colors.pink },
 | 
			
		||||
   ["cv"] = { "COMMAND", colors.pink },
 | 
			
		||||
   ["ce"] = { "COMMAND", colors.pink },
 | 
			
		||||
   ["r"] = { "PROMPT", colors.teal },
 | 
			
		||||
   ["rm"] = { "MORE", colors.teal },
 | 
			
		||||
   ["r?"] = { "CONFIRM", colors.teal },
 | 
			
		||||
   ["!"] = { "SHELL", colors.green },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
local mode = function(n)
 | 
			
		||||
   return mode_colors[vim.fn.mode()][n]
 | 
			
		||||
local chad_mode_hl = function()
 | 
			
		||||
   return {
 | 
			
		||||
      fg = mode_colors[vim.fn.mode()][2],
 | 
			
		||||
      bg = colors.one_bg,
 | 
			
		||||
   }
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
gls.right[4] = {
 | 
			
		||||
   left_arrow = {
 | 
			
		||||
      provider = function() end,
 | 
			
		||||
      separator = " " .. left_separator,
 | 
			
		||||
      separator_highlight = { colors.one_bg2, colors.statusline_bg },
 | 
			
		||||
components.right.active[4] = {
 | 
			
		||||
   provider = statusline_style.left,
 | 
			
		||||
   hl = function()
 | 
			
		||||
      return {
 | 
			
		||||
         fg = mode_colors[vim.fn.mode()][2],
 | 
			
		||||
         bg = colors.one_bg2,
 | 
			
		||||
      }
 | 
			
		||||
   end,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
components.right.active[5] = {
 | 
			
		||||
   provider = statusline_style.vi_mode_icon,
 | 
			
		||||
   hl = function()
 | 
			
		||||
      return {
 | 
			
		||||
         fg = colors.statusline_bg,
 | 
			
		||||
         bg = mode_colors[vim.fn.mode()][2],
 | 
			
		||||
      }
 | 
			
		||||
   end,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
components.right.active[6] = {
 | 
			
		||||
   provider = function()
 | 
			
		||||
      return " " .. mode_colors[vim.fn.mode()][1] .. " "
 | 
			
		||||
   end,
 | 
			
		||||
   hl = chad_mode_hl,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
components.right.active[7] = {
 | 
			
		||||
   provider = statusline_style.left,
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.grey,
 | 
			
		||||
      bg = colors.one_bg,
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.right[5] = {
 | 
			
		||||
   left_round = {
 | 
			
		||||
      provider = function()
 | 
			
		||||
         vim.cmd("hi Galaxyleft_round guifg=" .. mode(2))
 | 
			
		||||
         return left_separator
 | 
			
		||||
      end,
 | 
			
		||||
      highlight = { "GalaxyViMode", colors.one_bg2 },
 | 
			
		||||
components.right.active[8] = {
 | 
			
		||||
   provider = statusline_style.left,
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.green,
 | 
			
		||||
      bg = colors.grey,
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.right[6] = {
 | 
			
		||||
   viMode_icon = {
 | 
			
		||||
      provider = function()
 | 
			
		||||
         vim.cmd("hi GalaxyviMode_icon guibg=" .. mode(2))
 | 
			
		||||
         return statusline_style.vi_mode_icon
 | 
			
		||||
      end,
 | 
			
		||||
      highlight = { colors.statusline_bg, colors.red },
 | 
			
		||||
components.right.active[9] = {
 | 
			
		||||
   provider = statusline_style.position_icon,
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.black,
 | 
			
		||||
      bg = colors.green,
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.right[7] = {
 | 
			
		||||
   ViMode = {
 | 
			
		||||
      provider = function()
 | 
			
		||||
         vim.cmd("hi GalaxyViMode guifg=" .. mode(2))
 | 
			
		||||
         return "  " .. mode(1) .. " "
 | 
			
		||||
      end,
 | 
			
		||||
      highlight = { "GalaxyViMode", colors.lightbg },
 | 
			
		||||
components.right.active[10] = {
 | 
			
		||||
   provider = function()
 | 
			
		||||
      local current_line = vim.fn.line "."
 | 
			
		||||
      local total_line = vim.fn.line "$"
 | 
			
		||||
 | 
			
		||||
      if current_line == 1 then
 | 
			
		||||
         return " Top "
 | 
			
		||||
      elseif current_line == vim.fn.line "$" then
 | 
			
		||||
         return " Bot "
 | 
			
		||||
      end
 | 
			
		||||
      local result, _ = math.modf((current_line / total_line) * 100)
 | 
			
		||||
      return " " .. result .. " % "
 | 
			
		||||
   end,
 | 
			
		||||
 | 
			
		||||
   hl = {
 | 
			
		||||
      fg = colors.green,
 | 
			
		||||
      bg = colors.one_bg,
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.right[8] = {
 | 
			
		||||
   left_arrow2 = {
 | 
			
		||||
      provider = function() end,
 | 
			
		||||
      separator = left_separator,
 | 
			
		||||
      separator_highlight = { colors.grey, colors.lightbg },
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.right[9] = {
 | 
			
		||||
   some_RoundIcon = {
 | 
			
		||||
      provider = function()
 | 
			
		||||
         return statusline_style.position_icon
 | 
			
		||||
      end,
 | 
			
		||||
      separator = left_separator,
 | 
			
		||||
      separator_highlight = { colors.green, colors.grey },
 | 
			
		||||
      highlight = { colors.lightbg, colors.green },
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gls.right[10] = {
 | 
			
		||||
   line_percentage = {
 | 
			
		||||
      provider = function()
 | 
			
		||||
         local current_line = vim.fn.line "."
 | 
			
		||||
         local total_line = vim.fn.line "$"
 | 
			
		||||
 | 
			
		||||
         if current_line == 1 then
 | 
			
		||||
            return "  Top "
 | 
			
		||||
         elseif current_line == vim.fn.line "$" then
 | 
			
		||||
            return "  Bot "
 | 
			
		||||
         end
 | 
			
		||||
         local result, _ = math.modf((current_line / total_line) * 100)
 | 
			
		||||
         return "  " .. result .. "% "
 | 
			
		||||
      end,
 | 
			
		||||
      highlight = { colors.green, colors.lightbg },
 | 
			
		||||
   },
 | 
			
		||||
require("feline").setup {
 | 
			
		||||
   default_bg = colors.statusline_bg,
 | 
			
		||||
   default_fg = colors.fg,
 | 
			
		||||
   components = components,
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,8 +38,8 @@ return packer.startup(function()
 | 
			
		|||
   }
 | 
			
		||||
 | 
			
		||||
   use {
 | 
			
		||||
      "glepnir/galaxyline.nvim",
 | 
			
		||||
      disable = not plugin_status.galaxyline,
 | 
			
		||||
      "famiu/feline.nvim",
 | 
			
		||||
      disable = not plugin_status.feline,
 | 
			
		||||
      after = "nvim-web-devicons",
 | 
			
		||||
      config = function()
 | 
			
		||||
         require "plugins.configs.statusline"
 | 
			
		||||
| 
						 | 
				
			
			@ -49,7 +49,7 @@ return packer.startup(function()
 | 
			
		|||
   use {
 | 
			
		||||
      "akinsho/bufferline.nvim",
 | 
			
		||||
      disable = not plugin_status.bufferline,
 | 
			
		||||
      after = "galaxyline.nvim",
 | 
			
		||||
      after = "feline.nvim",
 | 
			
		||||
      config = function()
 | 
			
		||||
         require "plugins.configs.bufferline"
 | 
			
		||||
      end,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue