|  | @@ -1,353 +1,326 @@
 | 
	
		
			
				|  |  | -local M = {}
 | 
	
		
			
				|  |  | -M.config = function()
 | 
	
		
			
				|  |  | -  O.plugin.galaxyline = {
 | 
	
		
			
				|  |  | -    active = true,
 | 
	
		
			
				|  |  | -    colors = {
 | 
	
		
			
				|  |  | -      alt_bg = "#2E2E2E",
 | 
	
		
			
				|  |  | -      grey = "#858585",
 | 
	
		
			
				|  |  | -      blue = "#569CD6",
 | 
	
		
			
				|  |  | -      green = "#608B4E",
 | 
	
		
			
				|  |  | -      yellow = "#DCDCAA",
 | 
	
		
			
				|  |  | -      orange = "#FF8800",
 | 
	
		
			
				|  |  | -      purple = "#C586C0",
 | 
	
		
			
				|  |  | -      magenta = "#D16D9E",
 | 
	
		
			
				|  |  | -      cyan = "#4EC9B0",
 | 
	
		
			
				|  |  | -      red = "#D16969",
 | 
	
		
			
				|  |  | -      error_red = "#F44747",
 | 
	
		
			
				|  |  | -      warning_orange = "#FF8800",
 | 
	
		
			
				|  |  | -      info_yellow = "#FFCC66",
 | 
	
		
			
				|  |  | -      hint_blue = "#9CDCFE",
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | +-- if not package.loaded['galaxyline'] then
 | 
	
		
			
				|  |  | +--   return
 | 
	
		
			
				|  |  | +-- end
 | 
	
		
			
				|  |  | +local status_ok, gl = pcall(require, "galaxyline")
 | 
	
		
			
				|  |  | +if not status_ok then
 | 
	
		
			
				|  |  | +  return
 | 
	
		
			
				|  |  |  end
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -M.setup = function()
 | 
	
		
			
				|  |  | -  -- if not package.loaded['galaxyline'] then
 | 
	
		
			
				|  |  | -  --   return
 | 
	
		
			
				|  |  | -  -- end
 | 
	
		
			
				|  |  | -  local status_ok, gl = pcall(require, "galaxyline")
 | 
	
		
			
				|  |  | -  if not status_ok then
 | 
	
		
			
				|  |  | -    return
 | 
	
		
			
				|  |  | -  end
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  -- NOTE: if someone defines colors but doesn't have them then this will break
 | 
	
		
			
				|  |  | -  local palette_status_ok, colors = pcall(require, O.colorscheme .. ".palette")
 | 
	
		
			
				|  |  | -  if not palette_status_ok then
 | 
	
		
			
				|  |  | -    colors = O.plugin.galaxyline.colors
 | 
	
		
			
				|  |  | -  end
 | 
	
		
			
				|  |  | +-- NOTE: if someone defines colors but doesn't have them then this will break
 | 
	
		
			
				|  |  | +local palette_status_ok, colors = pcall(require, O.colorscheme .. ".palette")
 | 
	
		
			
				|  |  | +if not palette_status_ok then
 | 
	
		
			
				|  |  | +  colors = O.plugin.galaxyline.colors
 | 
	
		
			
				|  |  | +end
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  local condition = require "galaxyline.condition"
 | 
	
		
			
				|  |  | -  local gls = gl.section
 | 
	
		
			
				|  |  | -  gl.short_line_list = { "NvimTree", "vista", "dbui", "packer" }
 | 
	
		
			
				|  |  | +local condition = require "galaxyline.condition"
 | 
	
		
			
				|  |  | +local gls = gl.section
 | 
	
		
			
				|  |  | +gl.short_line_list = { "NvimTree", "vista", "dbui", "packer" }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.left, {
 | 
	
		
			
				|  |  | -    ViMode = {
 | 
	
		
			
				|  |  | -      provider = function()
 | 
	
		
			
				|  |  | -        -- auto change color according the vim mode
 | 
	
		
			
				|  |  | -        local mode_color = {
 | 
	
		
			
				|  |  | -          n = colors.blue,
 | 
	
		
			
				|  |  | -          i = colors.green,
 | 
	
		
			
				|  |  | -          v = colors.purple,
 | 
	
		
			
				|  |  | -          [""] = colors.purple,
 | 
	
		
			
				|  |  | -          V = colors.purple,
 | 
	
		
			
				|  |  | -          c = colors.magenta,
 | 
	
		
			
				|  |  | -          no = colors.blue,
 | 
	
		
			
				|  |  | -          s = colors.orange,
 | 
	
		
			
				|  |  | -          S = colors.orange,
 | 
	
		
			
				|  |  | -          [""] = colors.orange,
 | 
	
		
			
				|  |  | -          ic = colors.yellow,
 | 
	
		
			
				|  |  | -          R = colors.red,
 | 
	
		
			
				|  |  | -          Rv = colors.red,
 | 
	
		
			
				|  |  | -          cv = colors.blue,
 | 
	
		
			
				|  |  | -          ce = colors.blue,
 | 
	
		
			
				|  |  | -          r = colors.cyan,
 | 
	
		
			
				|  |  | -          rm = colors.cyan,
 | 
	
		
			
				|  |  | -          ["r?"] = colors.cyan,
 | 
	
		
			
				|  |  | -          ["!"] = colors.blue,
 | 
	
		
			
				|  |  | -          t = colors.blue,
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        vim.api.nvim_command("hi GalaxyViMode guifg=" .. mode_color[vim.fn.mode()])
 | 
	
		
			
				|  |  | -        return "▊"
 | 
	
		
			
				|  |  | -      end,
 | 
	
		
			
				|  |  | -      separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -      highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | -  -- print(vim.fn.getbufvar(0, 'ts'))
 | 
	
		
			
				|  |  | -  vim.fn.getbufvar(0, "ts")
 | 
	
		
			
				|  |  | +table.insert(gls.left, {
 | 
	
		
			
				|  |  | +  ViMode = {
 | 
	
		
			
				|  |  | +    provider = function()
 | 
	
		
			
				|  |  | +      -- auto change color according the vim mode
 | 
	
		
			
				|  |  | +      local mode_color = {
 | 
	
		
			
				|  |  | +        n = colors.blue,
 | 
	
		
			
				|  |  | +        i = colors.green,
 | 
	
		
			
				|  |  | +        v = colors.purple,
 | 
	
		
			
				|  |  | +        [""] = colors.purple,
 | 
	
		
			
				|  |  | +        V = colors.purple,
 | 
	
		
			
				|  |  | +        c = colors.magenta,
 | 
	
		
			
				|  |  | +        no = colors.blue,
 | 
	
		
			
				|  |  | +        s = colors.orange,
 | 
	
		
			
				|  |  | +        S = colors.orange,
 | 
	
		
			
				|  |  | +        [""] = colors.orange,
 | 
	
		
			
				|  |  | +        ic = colors.yellow,
 | 
	
		
			
				|  |  | +        R = colors.red,
 | 
	
		
			
				|  |  | +        Rv = colors.red,
 | 
	
		
			
				|  |  | +        cv = colors.blue,
 | 
	
		
			
				|  |  | +        ce = colors.blue,
 | 
	
		
			
				|  |  | +        r = colors.cyan,
 | 
	
		
			
				|  |  | +        rm = colors.cyan,
 | 
	
		
			
				|  |  | +        ["r?"] = colors.cyan,
 | 
	
		
			
				|  |  | +        ["!"] = colors.blue,
 | 
	
		
			
				|  |  | +        t = colors.blue,
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      vim.api.nvim_command("hi GalaxyViMode guifg=" .. mode_color[vim.fn.mode()])
 | 
	
		
			
				|  |  | +      return "▊"
 | 
	
		
			
				|  |  | +    end,
 | 
	
		
			
				|  |  | +    separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +    highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  | +-- print(vim.fn.getbufvar(0, 'ts'))
 | 
	
		
			
				|  |  | +vim.fn.getbufvar(0, "ts")
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.left, {
 | 
	
		
			
				|  |  | -    GitIcon = {
 | 
	
		
			
				|  |  | -      provider = function()
 | 
	
		
			
				|  |  | -        return "  "
 | 
	
		
			
				|  |  | -      end,
 | 
	
		
			
				|  |  | -      condition = condition.check_git_workspace,
 | 
	
		
			
				|  |  | -      separator = " ",
 | 
	
		
			
				|  |  | -      separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -      highlight = { colors.orange, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.left, {
 | 
	
		
			
				|  |  | +  GitIcon = {
 | 
	
		
			
				|  |  | +    provider = function()
 | 
	
		
			
				|  |  | +      return "  "
 | 
	
		
			
				|  |  | +    end,
 | 
	
		
			
				|  |  | +    condition = condition.check_git_workspace,
 | 
	
		
			
				|  |  | +    separator = " ",
 | 
	
		
			
				|  |  | +    separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +    highlight = { colors.orange, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.left, {
 | 
	
		
			
				|  |  | -    GitBranch = {
 | 
	
		
			
				|  |  | -      provider = "GitBranch",
 | 
	
		
			
				|  |  | -      condition = condition.check_git_workspace,
 | 
	
		
			
				|  |  | -      separator = " ",
 | 
	
		
			
				|  |  | -      separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -      highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.left, {
 | 
	
		
			
				|  |  | +  GitBranch = {
 | 
	
		
			
				|  |  | +    provider = "GitBranch",
 | 
	
		
			
				|  |  | +    condition = condition.check_git_workspace,
 | 
	
		
			
				|  |  | +    separator = " ",
 | 
	
		
			
				|  |  | +    separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +    highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.left, {
 | 
	
		
			
				|  |  | -    DiffAdd = {
 | 
	
		
			
				|  |  | -      provider = "DiffAdd",
 | 
	
		
			
				|  |  | -      condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | -      icon = "  ",
 | 
	
		
			
				|  |  | -      highlight = { colors.green, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.left, {
 | 
	
		
			
				|  |  | +  DiffAdd = {
 | 
	
		
			
				|  |  | +    provider = "DiffAdd",
 | 
	
		
			
				|  |  | +    condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | +    icon = "  ",
 | 
	
		
			
				|  |  | +    highlight = { colors.green, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.left, {
 | 
	
		
			
				|  |  | -    DiffModified = {
 | 
	
		
			
				|  |  | -      provider = "DiffModified",
 | 
	
		
			
				|  |  | -      condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | -      icon = " 柳",
 | 
	
		
			
				|  |  | -      highlight = { colors.blue, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.left, {
 | 
	
		
			
				|  |  | +  DiffModified = {
 | 
	
		
			
				|  |  | +    provider = "DiffModified",
 | 
	
		
			
				|  |  | +    condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | +    icon = " 柳",
 | 
	
		
			
				|  |  | +    highlight = { colors.blue, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.left, {
 | 
	
		
			
				|  |  | -    DiffRemove = {
 | 
	
		
			
				|  |  | -      provider = "DiffRemove",
 | 
	
		
			
				|  |  | -      condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | -      icon = "  ",
 | 
	
		
			
				|  |  | -      highlight = { colors.red, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.left, {
 | 
	
		
			
				|  |  | +  DiffRemove = {
 | 
	
		
			
				|  |  | +    provider = "DiffRemove",
 | 
	
		
			
				|  |  | +    condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | +    icon = "  ",
 | 
	
		
			
				|  |  | +    highlight = { colors.red, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.left, {
 | 
	
		
			
				|  |  | -    Filler = {
 | 
	
		
			
				|  |  | -      provider = function()
 | 
	
		
			
				|  |  | -        return " "
 | 
	
		
			
				|  |  | -      end,
 | 
	
		
			
				|  |  | -      highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | -  -- get output from shell command
 | 
	
		
			
				|  |  | -  function os.capture(cmd, raw)
 | 
	
		
			
				|  |  | -    local f = assert(io.popen(cmd, "r"))
 | 
	
		
			
				|  |  | -    local s = assert(f:read "*a")
 | 
	
		
			
				|  |  | -    f:close()
 | 
	
		
			
				|  |  | -    if raw then
 | 
	
		
			
				|  |  | -      return s
 | 
	
		
			
				|  |  | -    end
 | 
	
		
			
				|  |  | -    s = string.gsub(s, "^%s+", "")
 | 
	
		
			
				|  |  | -    s = string.gsub(s, "%s+$", "")
 | 
	
		
			
				|  |  | -    s = string.gsub(s, "[\n\r]+", " ")
 | 
	
		
			
				|  |  | +table.insert(gls.left, {
 | 
	
		
			
				|  |  | +  Filler = {
 | 
	
		
			
				|  |  | +    provider = function()
 | 
	
		
			
				|  |  | +      return " "
 | 
	
		
			
				|  |  | +    end,
 | 
	
		
			
				|  |  | +    highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  | +-- get output from shell command
 | 
	
		
			
				|  |  | +function os.capture(cmd, raw)
 | 
	
		
			
				|  |  | +  local f = assert(io.popen(cmd, "r"))
 | 
	
		
			
				|  |  | +  local s = assert(f:read "*a")
 | 
	
		
			
				|  |  | +  f:close()
 | 
	
		
			
				|  |  | +  if raw then
 | 
	
		
			
				|  |  |      return s
 | 
	
		
			
				|  |  |    end
 | 
	
		
			
				|  |  | -  -- cleanup virtual env
 | 
	
		
			
				|  |  | -  local function env_cleanup(venv)
 | 
	
		
			
				|  |  | -    if string.find(venv, "/") then
 | 
	
		
			
				|  |  | -      local final_venv = venv
 | 
	
		
			
				|  |  | -      for w in venv:gmatch "([^/]+)" do
 | 
	
		
			
				|  |  | -        final_venv = w
 | 
	
		
			
				|  |  | -      end
 | 
	
		
			
				|  |  | -      venv = final_venv
 | 
	
		
			
				|  |  | +  s = string.gsub(s, "^%s+", "")
 | 
	
		
			
				|  |  | +  s = string.gsub(s, "%s+$", "")
 | 
	
		
			
				|  |  | +  s = string.gsub(s, "[\n\r]+", " ")
 | 
	
		
			
				|  |  | +  return s
 | 
	
		
			
				|  |  | +end
 | 
	
		
			
				|  |  | +-- cleanup virtual env
 | 
	
		
			
				|  |  | +local function env_cleanup(venv)
 | 
	
		
			
				|  |  | +  if string.find(venv, "/") then
 | 
	
		
			
				|  |  | +    local final_venv = venv
 | 
	
		
			
				|  |  | +    for w in venv:gmatch "([^/]+)" do
 | 
	
		
			
				|  |  | +      final_venv = w
 | 
	
		
			
				|  |  |      end
 | 
	
		
			
				|  |  | -    return venv
 | 
	
		
			
				|  |  | +    venv = final_venv
 | 
	
		
			
				|  |  |    end
 | 
	
		
			
				|  |  | -  local PythonEnv = function()
 | 
	
		
			
				|  |  | -    if vim.bo.filetype == "python" then
 | 
	
		
			
				|  |  | -      local venv = os.getenv "CONDA_DEFAULT_ENV"
 | 
	
		
			
				|  |  | -      if venv ~= nil then
 | 
	
		
			
				|  |  | -        return "  (" .. env_cleanup(venv) .. ")"
 | 
	
		
			
				|  |  | -      end
 | 
	
		
			
				|  |  | -      venv = os.getenv "VIRTUAL_ENV"
 | 
	
		
			
				|  |  | -      if venv ~= nil then
 | 
	
		
			
				|  |  | -        return "  (" .. env_cleanup(venv) .. ")"
 | 
	
		
			
				|  |  | -      end
 | 
	
		
			
				|  |  | -      return ""
 | 
	
		
			
				|  |  | +  return venv
 | 
	
		
			
				|  |  | +end
 | 
	
		
			
				|  |  | +local PythonEnv = function()
 | 
	
		
			
				|  |  | +  if vim.bo.filetype == "python" then
 | 
	
		
			
				|  |  | +    local venv = os.getenv "CONDA_DEFAULT_ENV"
 | 
	
		
			
				|  |  | +    if venv ~= nil then
 | 
	
		
			
				|  |  | +      return "  (" .. env_cleanup(venv) .. ")"
 | 
	
		
			
				|  |  | +    end
 | 
	
		
			
				|  |  | +    venv = os.getenv "VIRTUAL_ENV"
 | 
	
		
			
				|  |  | +    if venv ~= nil then
 | 
	
		
			
				|  |  | +      return "  (" .. env_cleanup(venv) .. ")"
 | 
	
		
			
				|  |  |      end
 | 
	
		
			
				|  |  |      return ""
 | 
	
		
			
				|  |  |    end
 | 
	
		
			
				|  |  | -  table.insert(gls.left, {
 | 
	
		
			
				|  |  | -    VirtualEnv = {
 | 
	
		
			
				|  |  | -      provider = PythonEnv,
 | 
	
		
			
				|  |  | -      event = "BufEnter",
 | 
	
		
			
				|  |  | -      highlight = { colors.green, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +  return ""
 | 
	
		
			
				|  |  | +end
 | 
	
		
			
				|  |  | +table.insert(gls.left, {
 | 
	
		
			
				|  |  | +  VirtualEnv = {
 | 
	
		
			
				|  |  | +    provider = PythonEnv,
 | 
	
		
			
				|  |  | +    event = "BufEnter",
 | 
	
		
			
				|  |  | +    highlight = { colors.green, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    DiagnosticError = {
 | 
	
		
			
				|  |  | -      provider = "DiagnosticError",
 | 
	
		
			
				|  |  | -      icon = "  ",
 | 
	
		
			
				|  |  | -      highlight = { colors.red, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    DiagnosticWarn = {
 | 
	
		
			
				|  |  | -      provider = "DiagnosticWarn",
 | 
	
		
			
				|  |  | -      icon = "  ",
 | 
	
		
			
				|  |  | -      highlight = { colors.orange, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  DiagnosticError = {
 | 
	
		
			
				|  |  | +    provider = "DiagnosticError",
 | 
	
		
			
				|  |  | +    icon = "  ",
 | 
	
		
			
				|  |  | +    highlight = { colors.red, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  DiagnosticWarn = {
 | 
	
		
			
				|  |  | +    provider = "DiagnosticWarn",
 | 
	
		
			
				|  |  | +    icon = "  ",
 | 
	
		
			
				|  |  | +    highlight = { colors.orange, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    DiagnosticInfo = {
 | 
	
		
			
				|  |  | -      provider = "DiagnosticInfo",
 | 
	
		
			
				|  |  | -      icon = "  ",
 | 
	
		
			
				|  |  | -      highlight = { colors.yellow, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  DiagnosticInfo = {
 | 
	
		
			
				|  |  | +    provider = "DiagnosticInfo",
 | 
	
		
			
				|  |  | +    icon = "  ",
 | 
	
		
			
				|  |  | +    highlight = { colors.yellow, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    DiagnosticHint = {
 | 
	
		
			
				|  |  | -      provider = "DiagnosticHint",
 | 
	
		
			
				|  |  | -      icon = "  ",
 | 
	
		
			
				|  |  | -      highlight = { colors.blue, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  DiagnosticHint = {
 | 
	
		
			
				|  |  | +    provider = "DiagnosticHint",
 | 
	
		
			
				|  |  | +    icon = "  ",
 | 
	
		
			
				|  |  | +    highlight = { colors.blue, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    TreesitterIcon = {
 | 
	
		
			
				|  |  | -      provider = function()
 | 
	
		
			
				|  |  | -        if next(vim.treesitter.highlighter.active) ~= nil then
 | 
	
		
			
				|  |  | -          return "  "
 | 
	
		
			
				|  |  | -        end
 | 
	
		
			
				|  |  | -        return ""
 | 
	
		
			
				|  |  | -      end,
 | 
	
		
			
				|  |  | -      separator = " ",
 | 
	
		
			
				|  |  | -      separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -      highlight = { colors.green, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  TreesitterIcon = {
 | 
	
		
			
				|  |  | +    provider = function()
 | 
	
		
			
				|  |  | +      if next(vim.treesitter.highlighter.active) ~= nil then
 | 
	
		
			
				|  |  | +        return "  "
 | 
	
		
			
				|  |  | +      end
 | 
	
		
			
				|  |  | +      return ""
 | 
	
		
			
				|  |  | +    end,
 | 
	
		
			
				|  |  | +    separator = " ",
 | 
	
		
			
				|  |  | +    separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +    highlight = { colors.green, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  local get_lsp_client = function(msg)
 | 
	
		
			
				|  |  | -    msg = msg or "LSP Inactive"
 | 
	
		
			
				|  |  | -    local buf_ft = vim.api.nvim_buf_get_option(0, "filetype")
 | 
	
		
			
				|  |  | -    local clients = vim.lsp.get_active_clients()
 | 
	
		
			
				|  |  | -    if next(clients) == nil then
 | 
	
		
			
				|  |  | -      return msg
 | 
	
		
			
				|  |  | -    end
 | 
	
		
			
				|  |  | -    local lsps = ""
 | 
	
		
			
				|  |  | -    for _, client in ipairs(clients) do
 | 
	
		
			
				|  |  | -      local filetypes = client.config.filetypes
 | 
	
		
			
				|  |  | -      if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
 | 
	
		
			
				|  |  | -        -- print(client.name)
 | 
	
		
			
				|  |  | -        if lsps == "" then
 | 
	
		
			
				|  |  | -          -- print("first", lsps)
 | 
	
		
			
				|  |  | -          lsps = client.name
 | 
	
		
			
				|  |  | -        else
 | 
	
		
			
				|  |  | -          if not string.find(lsps, client.name) then
 | 
	
		
			
				|  |  | -            lsps = lsps .. ", " .. client.name
 | 
	
		
			
				|  |  | -          end
 | 
	
		
			
				|  |  | -          -- print("more", lsps)
 | 
	
		
			
				|  |  | +local get_lsp_client = function(msg)
 | 
	
		
			
				|  |  | +  msg = msg or "LSP Inactive"
 | 
	
		
			
				|  |  | +  local buf_ft = vim.api.nvim_buf_get_option(0, "filetype")
 | 
	
		
			
				|  |  | +  local clients = vim.lsp.get_active_clients()
 | 
	
		
			
				|  |  | +  if next(clients) == nil then
 | 
	
		
			
				|  |  | +    return msg
 | 
	
		
			
				|  |  | +  end
 | 
	
		
			
				|  |  | +  local lsps = ""
 | 
	
		
			
				|  |  | +  for _, client in ipairs(clients) do
 | 
	
		
			
				|  |  | +    local filetypes = client.config.filetypes
 | 
	
		
			
				|  |  | +    if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
 | 
	
		
			
				|  |  | +      -- print(client.name)
 | 
	
		
			
				|  |  | +      if lsps == "" then
 | 
	
		
			
				|  |  | +        -- print("first", lsps)
 | 
	
		
			
				|  |  | +        lsps = client.name
 | 
	
		
			
				|  |  | +      else
 | 
	
		
			
				|  |  | +        if not string.find(lsps, client.name) then
 | 
	
		
			
				|  |  | +          lsps = lsps .. ", " .. client.name
 | 
	
		
			
				|  |  |          end
 | 
	
		
			
				|  |  | +        -- print("more", lsps)
 | 
	
		
			
				|  |  |        end
 | 
	
		
			
				|  |  |      end
 | 
	
		
			
				|  |  | -    if lsps == "" then
 | 
	
		
			
				|  |  | -      return msg
 | 
	
		
			
				|  |  | -    else
 | 
	
		
			
				|  |  | -      return lsps
 | 
	
		
			
				|  |  | -    end
 | 
	
		
			
				|  |  |    end
 | 
	
		
			
				|  |  | +  if lsps == "" then
 | 
	
		
			
				|  |  | +    return msg
 | 
	
		
			
				|  |  | +  else
 | 
	
		
			
				|  |  | +    return lsps
 | 
	
		
			
				|  |  | +  end
 | 
	
		
			
				|  |  | +end
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    ShowLspClient = {
 | 
	
		
			
				|  |  | -      provider = get_lsp_client,
 | 
	
		
			
				|  |  | -      condition = function()
 | 
	
		
			
				|  |  | -        local tbl = { ["dashboard"] = true, [" "] = true }
 | 
	
		
			
				|  |  | -        if tbl[vim.bo.filetype] then
 | 
	
		
			
				|  |  | -          return false
 | 
	
		
			
				|  |  | -        end
 | 
	
		
			
				|  |  | -        return true
 | 
	
		
			
				|  |  | -      end,
 | 
	
		
			
				|  |  | -      icon = " ",
 | 
	
		
			
				|  |  | -      highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    LineInfo = {
 | 
	
		
			
				|  |  | -      provider = "LineColumn",
 | 
	
		
			
				|  |  | -      separator = "  ",
 | 
	
		
			
				|  |  | -      separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -      highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  ShowLspClient = {
 | 
	
		
			
				|  |  | +    provider = get_lsp_client,
 | 
	
		
			
				|  |  | +    condition = function()
 | 
	
		
			
				|  |  | +      local tbl = { ["dashboard"] = true, [" "] = true }
 | 
	
		
			
				|  |  | +      if tbl[vim.bo.filetype] then
 | 
	
		
			
				|  |  | +        return false
 | 
	
		
			
				|  |  | +      end
 | 
	
		
			
				|  |  | +      return true
 | 
	
		
			
				|  |  | +    end,
 | 
	
		
			
				|  |  | +    icon = " ",
 | 
	
		
			
				|  |  | +    highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    PerCent = {
 | 
	
		
			
				|  |  | -      provider = "LinePercent",
 | 
	
		
			
				|  |  | -      separator = " ",
 | 
	
		
			
				|  |  | -      separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -      highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  LineInfo = {
 | 
	
		
			
				|  |  | +    provider = "LineColumn",
 | 
	
		
			
				|  |  | +    separator = "  ",
 | 
	
		
			
				|  |  | +    separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +    highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    Tabstop = {
 | 
	
		
			
				|  |  | -      provider = function()
 | 
	
		
			
				|  |  | -        return "Spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth") .. " "
 | 
	
		
			
				|  |  | -      end,
 | 
	
		
			
				|  |  | -      condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | -      separator = " ",
 | 
	
		
			
				|  |  | -      separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -      highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  PerCent = {
 | 
	
		
			
				|  |  | +    provider = "LinePercent",
 | 
	
		
			
				|  |  | +    separator = " ",
 | 
	
		
			
				|  |  | +    separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +    highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    BufferType = {
 | 
	
		
			
				|  |  | -      provider = "FileTypeName",
 | 
	
		
			
				|  |  | -      condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | -      separator = " ",
 | 
	
		
			
				|  |  | -      separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -      highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  Tabstop = {
 | 
	
		
			
				|  |  | +    provider = function()
 | 
	
		
			
				|  |  | +      return "Spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth") .. " "
 | 
	
		
			
				|  |  | +    end,
 | 
	
		
			
				|  |  | +    condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | +    separator = " ",
 | 
	
		
			
				|  |  | +    separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +    highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    FileEncode = {
 | 
	
		
			
				|  |  | -      provider = "FileEncode",
 | 
	
		
			
				|  |  | -      condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | -      separator = " ",
 | 
	
		
			
				|  |  | -      separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -      highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  BufferType = {
 | 
	
		
			
				|  |  | +    provider = "FileTypeName",
 | 
	
		
			
				|  |  | +    condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | +    separator = " ",
 | 
	
		
			
				|  |  | +    separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +    highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.right, {
 | 
	
		
			
				|  |  | -    Space = {
 | 
	
		
			
				|  |  | -      provider = function()
 | 
	
		
			
				|  |  | -        return " "
 | 
	
		
			
				|  |  | -      end,
 | 
	
		
			
				|  |  | -      separator = " ",
 | 
	
		
			
				|  |  | -      separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -      highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  FileEncode = {
 | 
	
		
			
				|  |  | +    provider = "FileEncode",
 | 
	
		
			
				|  |  | +    condition = condition.hide_in_width,
 | 
	
		
			
				|  |  | +    separator = " ",
 | 
	
		
			
				|  |  | +    separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +    highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.short_line_left, {
 | 
	
		
			
				|  |  | -    BufferType = {
 | 
	
		
			
				|  |  | -      provider = "FileTypeName",
 | 
	
		
			
				|  |  | -      separator = " ",
 | 
	
		
			
				|  |  | -      separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | -      highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.right, {
 | 
	
		
			
				|  |  | +  Space = {
 | 
	
		
			
				|  |  | +    provider = function()
 | 
	
		
			
				|  |  | +      return " "
 | 
	
		
			
				|  |  | +    end,
 | 
	
		
			
				|  |  | +    separator = " ",
 | 
	
		
			
				|  |  | +    separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +    highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  table.insert(gls.short_line_left, {
 | 
	
		
			
				|  |  | -    SFileName = {
 | 
	
		
			
				|  |  | -      provider = "SFileName",
 | 
	
		
			
				|  |  | -      condition = condition.buffer_not_empty,
 | 
	
		
			
				|  |  | -      highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +table.insert(gls.short_line_left, {
 | 
	
		
			
				|  |  | +  BufferType = {
 | 
	
		
			
				|  |  | +    provider = "FileTypeName",
 | 
	
		
			
				|  |  | +    separator = " ",
 | 
	
		
			
				|  |  | +    separator_highlight = { "NONE", colors.alt_bg },
 | 
	
		
			
				|  |  | +    highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  --table.insert(gls.short_line_right[1] = {BufferIcon = {provider = 'BufferIcon', highlight = {colors.grey, colors.alt_bg}}})
 | 
	
		
			
				|  |  | -end
 | 
	
		
			
				|  |  | +table.insert(gls.short_line_left, {
 | 
	
		
			
				|  |  | +  SFileName = {
 | 
	
		
			
				|  |  | +    provider = "SFileName",
 | 
	
		
			
				|  |  | +    condition = condition.buffer_not_empty,
 | 
	
		
			
				|  |  | +    highlight = { colors.grey, colors.alt_bg },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +})
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -return M
 | 
	
		
			
				|  |  | +--table.insert(gls.short_line_right[1] = {BufferIcon = {provider = 'BufferIcon', highlight = {colors.grey, colors.alt_bg}}})
 |