diff options
Diffstat (limited to 'lua/lv-galaxyline/init.lua')
| -rw-r--r-- | lua/lv-galaxyline/init.lua | 406 | 
1 files changed, 221 insertions, 185 deletions
| diff --git a/lua/lv-galaxyline/init.lua b/lua/lv-galaxyline/init.lua index 51b9072c..efb6a988 100644 --- a/lua/lv-galaxyline/init.lua +++ b/lua/lv-galaxyline/init.lua @@ -1,25 +1,29 @@ -local gl = require('galaxyline') +-- if not package.loaded['galaxyline'] then +--   return +-- end + +local gl = require "galaxyline"  -- get my theme in galaxyline repo  -- local colors = require('galaxyline.theme').default  local colors = { -    bg = '#2E2E2E', -    -- bg = '#292D38', -    yellow = '#DCDCAA', -    dark_yellow = '#D7BA7D', -    cyan = '#4EC9B0', -    green = '#608B4E', -    light_green = '#B5CEA8', -    string_orange = '#CE9178', -    orange = '#FF8800', -    purple = '#C586C0', -    magenta = '#D16D9E', -    grey = '#858585', -    blue = '#569CD6', -    vivid_blue = '#4FC1FF', -    light_blue = '#9CDCFE', -    red = '#D16969', -    error_red = '#F44747', -    info_yellow = '#FFCC66' +  bg = "#2E2E2E", +  -- bg = '#292D38', +  yellow = "#DCDCAA", +  dark_yellow = "#D7BA7D", +  cyan = "#4EC9B0", +  green = "#608B4E", +  light_green = "#B5CEA8", +  string_orange = "#CE9178", +  orange = "#FF8800", +  purple = "#C586C0", +  magenta = "#D16D9E", +  grey = "#858585", +  blue = "#569CD6", +  vivid_blue = "#4FC1FF", +  light_blue = "#9CDCFE", +  red = "#D16969", +  error_red = "#F44747", +  info_yellow = "#FFCC66",  }  -- galaxyline themes for Gruvbox and NVCode. @@ -67,231 +71,263 @@ local colors = {  --     info_yellow = '#FFCC66'  -- } -local condition = require('galaxyline.condition') +local condition = require "galaxyline.condition"  local gls = gl.section -gl.short_line_list = {'NvimTree', 'vista', 'dbui', 'packer'} +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, -        highlight = {colors.red, colors.bg} -    } +  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, +    highlight = 'StatusLineNC' +    -- highlight = {colors.red, colors.bg} +  },  })  -- print(vim.fn.getbufvar(0, 'ts')) -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.bg}, -        highlight = {colors.orange, colors.bg} -    } +  GitIcon = { +    provider = function() +      return "  " +    end, +    condition = condition.check_git_workspace, +    separator = " ", +    separator_highlight = "StatusLineSeparator", +    highlight = "StatusLineGit", +  },  })  table.insert(gls.left, { -    GitBranch = { -        provider = 'GitBranch', -        condition = condition.check_git_workspace, -        separator = ' ', -        separator_highlight = {'NONE', colors.bg}, -        highlight = {colors.grey, colors.bg} -    } +  GitBranch = { +    provider = "GitBranch", +    condition = condition.check_git_workspace, +    separator = " ", +    separator_highlight = "StatusLineSeparator", +    highlight = "StatusLineNC", +  },  })  table.insert(gls.left, { -    DiffAdd = { -        provider = 'DiffAdd', -        condition = condition.hide_in_width, -        icon = '  ', -        highlight = {colors.green, colors.bg} -    } +  DiffAdd = { +    provider = "DiffAdd", +    condition = condition.hide_in_width, +    icon = "  ", +    highlight = "StatusLineGitAdd", +  },  })  table.insert(gls.left, { -    DiffModified = { -        provider = 'DiffModified', -        condition = condition.hide_in_width, -        icon = ' 柳', -        highlight = {colors.blue, colors.bg} -    } +  DiffModified = { +    provider = "DiffModified", +    condition = condition.hide_in_width, +    icon = " 柳", +    highlight = "StatusLineGitChange", +  },  })  table.insert(gls.left, { -    DiffRemove = { -        provider = 'DiffRemove', -        condition = condition.hide_in_width, -        icon = '  ', -        highlight = {colors.red, colors.bg} -    } +  DiffRemove = { +    provider = "DiffRemove", +    condition = condition.hide_in_width, +    icon = "  ", +    highlight = "StatusLineGitDelete", +  },  })  table.insert(gls.right, { -    DiagnosticError = {provider = 'DiagnosticError', icon = '  ', highlight = {colors.error_red, colors.bg}} +  DiagnosticError = { +    provider = "DiagnosticError", +    icon = "  ", +    highlight = "StatusLineLspDiagnosticsError", +  }, +}) +table.insert(gls.right, { +  DiagnosticWarn = { +    provider = "DiagnosticWarn", +    icon = "  ", + +    highlight = "StatusLineLspDiagnosticsWarning", +  },  }) -table.insert(gls.right, {DiagnosticWarn = {provider = 'DiagnosticWarn', icon = '  ', highlight = {colors.orange, colors.bg}}})  table.insert(gls.right, { -    DiagnosticHint = {provider = 'DiagnosticHint', icon = '  ', highlight = {colors.vivid_blue, colors.bg}} +  DiagnosticInfo = { +    provider = "DiagnosticInfo", +    icon = "  ", + +    highlight = "StatusLineLspDiagnosticsInformation", +  },  }) -table.insert(gls.right, {DiagnosticInfo = {provider = 'DiagnosticInfo', icon = '  ', highlight = {colors.info_yellow, colors.bg}}}) +table.insert(gls.right, { +  DiagnosticHint = { +    provider = "DiagnosticHint", +    icon = "  ", + +    highlight = "StatusLineLspDiagnosticsHint", +  }, +})  table.insert(gls.right, { -    TreesitterIcon = { -        provider = function() -            if next(vim.treesitter.highlighter.active) ~= nil then return ' ' end -            return '' -        end, -        separator = ' ', -        separator_highlight = {'NONE', colors.bg}, -        highlight = {colors.green, colors.bg} -    } +  TreesitterIcon = { +    provider = function() +      if next(vim.treesitter.highlighter.active) ~= nil then +        return "  " +      end +      return "" +    end, +    separator = " ", +    separator_highlight = "StatusLineSeparator", +    highlight = "StatusLineTreeSitter", +  },  }) -local get_lsp_client = function (msg) -    msg = msg or "No Active LSP Client" -    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 -                lsps = lsps .. ", " .. client.name -                -- print("more", lsps) -            end -        end -    end -    if lsps == "" then -        return msg -    else -        return lsps +local get_lsp_client = function(msg) +  msg = msg or "No Active LSP Client" +  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 +        lsps = lsps .. ", " .. client.name +        -- print("more", lsps) +      end      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.bg} -    } +  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 = "StatusLineNC", +  },  })  table.insert(gls.right, { -    LineInfo = { -        provider = 'LineColumn', -        separator = '  ', -        separator_highlight = {'NONE', colors.bg}, -        highlight = {colors.grey, colors.bg} -    } +  LineInfo = { +    provider = "LineColumn", +    separator = "  ", +    separator_highlight = "StatusLineSeparator", +    highlight = "StatusLineNC", +  },  })  table.insert(gls.right, { -    PerCent = { -        provider = 'LinePercent', -        separator = ' ', -        separator_highlight = {'NONE', colors.bg}, -        highlight = {colors.grey, colors.bg} -    } +  PerCent = { +    provider = "LinePercent", +    separator = " ", +    separator_highlight = "StatusLineSeparator", +    highlight = "StatusLineNC", +  },  })  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.bg}, -        highlight = {colors.grey, colors.bg} -    } +  Tabstop = { +    provider = function() +      return "Spaces: " .. vim.api.nvim_buf_get_option(0, "shiftwidth") .. " " +    end, +    condition = condition.hide_in_width, +    separator = " ", +    separator_highlight = "StatusLineSeparator", +    highlight = "StatusLineNC", +  },  })  table.insert(gls.right, { -    BufferType = { -        provider = 'FileTypeName', -        condition = condition.hide_in_width, -        separator = ' ', -        separator_highlight = {'NONE', colors.bg}, -        highlight = {colors.grey, colors.bg} -    } +  BufferType = { +    provider = "FileTypeName", +    condition = condition.hide_in_width, +    separator = " ", +    separator_highlight = "StatusLineSeparator", +    highlight = "StatusLineNC", +  },  })  table.insert(gls.right, { -    FileEncode = { -        provider = 'FileEncode', -        condition = condition.hide_in_width, -        separator = ' ', -        separator_highlight = {'NONE', colors.bg}, -        highlight = {colors.grey, colors.bg} -    } +  FileEncode = { +    provider = "FileEncode", +    condition = condition.hide_in_width, +    separator = " ", +    separator_highlight = "StatusLineSeparator", +    highlight = "StatusLineNC", +  },  })  table.insert(gls.right, { -    Space = { -        provider = function() -            return ' ' -        end, -        separator = ' ', -        separator_highlight = {'NONE', colors.bg}, -        highlight = {colors.orange, colors.bg} -    } +  Space = { +    provider = function() +      return " " +    end, +    separator = " ", +    separator_highlight = "StatusLineSeparator", +    highlight = "StatusLineNC", +  },  })  table.insert(gls.short_line_left, { -    BufferType = { -        provider = 'FileTypeName', -        separator = ' ', -        separator_highlight = {'NONE', colors.bg}, -        highlight = {colors.grey, colors.bg} -    } +  BufferType = { +    provider = "FileTypeName", +    separator = " ", +    separator_highlight = "StatusLineSeparator", +    highlight = "StatusLineNC", +  },  })  table.insert(gls.short_line_left, { -    SFileName = {provider = 'SFileName', condition = condition.buffer_not_empty, highlight = {colors.grey, colors.bg}} +  SFileName = { +    provider = "SFileName", +    condition = condition.buffer_not_empty, + +    highlight = "StatusLineNC", +  },  })  --table.insert(gls.short_line_right[1] = {BufferIcon = {provider = 'BufferIcon', highlight = {colors.grey, colors.bg}}}) | 
