2021-03-13 01:23:02 +00:00
|
|
|
|
local gl = require("galaxyline")
|
2021-03-07 14:22:30 +00:00
|
|
|
|
local gls = gl.section
|
2021-06-06 05:35:53 +00:00
|
|
|
|
local condition = require("galaxyline.condition")
|
2021-04-02 05:36:20 +00:00
|
|
|
|
|
2021-06-02 01:39:16 +00:00
|
|
|
|
gl.short_line_list = {" "}
|
2021-03-07 14:22:30 +00:00
|
|
|
|
|
|
|
|
|
local colors = {
|
2021-05-25 02:31:14 +00:00
|
|
|
|
bg = "#22262e",
|
|
|
|
|
fg = "#abb2bf",
|
2021-06-06 05:35:53 +00:00
|
|
|
|
green = "#97C378",
|
2021-05-25 02:31:14 +00:00
|
|
|
|
red = "#d47d85",
|
2021-06-01 18:47:46 +00:00
|
|
|
|
lightbg = "#2d3139",
|
|
|
|
|
lightbg2 = "#262a32",
|
2021-06-06 05:35:53 +00:00
|
|
|
|
blue = "#81A1C1",
|
2021-05-25 02:31:14 +00:00
|
|
|
|
yellow = "#e0c080",
|
|
|
|
|
grey = "#6f737b"
|
2021-03-08 05:24:53 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-03-07 14:22:30 +00:00
|
|
|
|
gls.left[2] = {
|
2021-04-02 05:36:20 +00:00
|
|
|
|
statusIcon = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
provider = function()
|
2021-05-25 02:31:14 +00:00
|
|
|
|
return " "
|
2021-03-13 01:23:02 +00:00
|
|
|
|
end,
|
2021-05-25 02:31:14 +00:00
|
|
|
|
highlight = {colors.bg, colors.blue},
|
|
|
|
|
separator = " ",
|
|
|
|
|
separator_highlight = {colors.blue, colors.lightbg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-07 14:22:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-03-13 01:23:02 +00:00
|
|
|
|
gls.left[3] = {
|
|
|
|
|
FileIcon = {
|
|
|
|
|
provider = "FileIcon",
|
2021-06-06 05:35:53 +00:00
|
|
|
|
condition = condition.buffer_not_empty,
|
2021-05-25 02:31:14 +00:00
|
|
|
|
highlight = {colors.fg, colors.lightbg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-07 14:22:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gls.left[4] = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
FileName = {
|
2021-05-25 02:31:14 +00:00
|
|
|
|
provider = {"FileName"},
|
2021-06-06 05:35:53 +00:00
|
|
|
|
condition = condition.buffer_not_empty,
|
2021-05-25 02:31:14 +00:00
|
|
|
|
highlight = {colors.fg, colors.lightbg},
|
|
|
|
|
separator = " ",
|
2021-06-01 18:47:46 +00:00
|
|
|
|
separator_highlight = {colors.lightbg, colors.lightbg2}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gls.left[5] = {
|
|
|
|
|
current_dir = {
|
|
|
|
|
provider = function()
|
|
|
|
|
local dir_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":t")
|
|
|
|
|
return " " .. dir_name .. " "
|
|
|
|
|
end,
|
|
|
|
|
highlight = {colors.grey, colors.lightbg2},
|
|
|
|
|
separator = " ",
|
|
|
|
|
separator_highlight = {colors.lightbg2, colors.bg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-08 05:24:53 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-03-07 14:22:30 +00:00
|
|
|
|
local checkwidth = function()
|
2021-03-13 01:23:02 +00:00
|
|
|
|
local squeeze_width = vim.fn.winwidth(0) / 2
|
2021-05-25 02:31:14 +00:00
|
|
|
|
if squeeze_width > 30 then
|
2021-03-13 01:23:02 +00:00
|
|
|
|
return true
|
|
|
|
|
end
|
|
|
|
|
return false
|
2021-03-07 14:22:30 +00:00
|
|
|
|
end
|
|
|
|
|
|
2021-06-01 18:47:46 +00:00
|
|
|
|
gls.left[6] = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
DiffAdd = {
|
|
|
|
|
provider = "DiffAdd",
|
|
|
|
|
condition = checkwidth,
|
2021-05-25 02:31:14 +00:00
|
|
|
|
icon = " ",
|
|
|
|
|
highlight = {colors.fg, colors.bg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-07 14:22:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-06-01 18:47:46 +00:00
|
|
|
|
gls.left[7] = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
DiffModified = {
|
|
|
|
|
provider = "DiffModified",
|
|
|
|
|
condition = checkwidth,
|
2021-05-25 02:31:14 +00:00
|
|
|
|
icon = " ",
|
|
|
|
|
highlight = {colors.grey, colors.bg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-07 14:22:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-06-01 18:47:46 +00:00
|
|
|
|
gls.left[8] = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
DiffRemove = {
|
|
|
|
|
provider = "DiffRemove",
|
|
|
|
|
condition = checkwidth,
|
2021-05-25 02:31:14 +00:00
|
|
|
|
icon = " ",
|
|
|
|
|
highlight = {colors.grey, colors.bg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-07 14:22:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-06-01 18:47:46 +00:00
|
|
|
|
gls.left[9] = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
DiagnosticError = {
|
|
|
|
|
provider = "DiagnosticError",
|
|
|
|
|
icon = " ",
|
2021-06-01 18:47:46 +00:00
|
|
|
|
highlight = {colors.red, colors.bg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-07 14:22:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-06-01 18:47:46 +00:00
|
|
|
|
gls.left[10] = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
DiagnosticWarn = {
|
|
|
|
|
provider = "DiagnosticWarn",
|
|
|
|
|
icon = " ",
|
2021-05-25 02:31:14 +00:00
|
|
|
|
highlight = {colors.yellow, colors.bg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-07 14:22:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-03-08 05:24:53 +00:00
|
|
|
|
gls.right[1] = {
|
2021-06-06 05:35:53 +00:00
|
|
|
|
lsp_status = {
|
|
|
|
|
provider = function(msg)
|
|
|
|
|
msg = msg or "No Active Lsp"
|
|
|
|
|
local clients = vim.lsp.get_active_clients()
|
|
|
|
|
if next(clients) ~= nil then
|
|
|
|
|
return " " .. " " .. " active "
|
|
|
|
|
else
|
|
|
|
|
return ""
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
highlight = {colors.grey, colors.bg}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gls.right[2] = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
GitIcon = {
|
|
|
|
|
provider = function()
|
2021-05-25 02:31:14 +00:00
|
|
|
|
return " "
|
2021-03-13 01:23:02 +00:00
|
|
|
|
end,
|
|
|
|
|
condition = require("galaxyline.provider_vcs").check_git_workspace,
|
2021-05-25 02:31:14 +00:00
|
|
|
|
highlight = {colors.grey, colors.lightbg},
|
|
|
|
|
separator = "",
|
|
|
|
|
separator_highlight = {colors.lightbg, colors.bg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-08 07:34:48 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-06-06 05:35:53 +00:00
|
|
|
|
gls.right[3] = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
GitBranch = {
|
|
|
|
|
provider = "GitBranch",
|
|
|
|
|
condition = require("galaxyline.provider_vcs").check_git_workspace,
|
2021-05-25 02:31:14 +00:00
|
|
|
|
highlight = {colors.grey, colors.lightbg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-08 07:34:48 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-06-06 05:35:53 +00:00
|
|
|
|
gls.right[4] = {
|
2021-05-25 02:31:14 +00:00
|
|
|
|
viMode_icon = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
provider = function()
|
2021-05-25 02:31:14 +00:00
|
|
|
|
return " "
|
2021-03-13 01:23:02 +00:00
|
|
|
|
end,
|
2021-05-25 02:31:14 +00:00
|
|
|
|
highlight = {colors.bg, colors.red},
|
|
|
|
|
separator = " ",
|
|
|
|
|
separator_highlight = {colors.red, colors.lightbg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-08 05:24:53 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-06-06 05:35:53 +00:00
|
|
|
|
gls.right[5] = {
|
2021-04-02 05:36:20 +00:00
|
|
|
|
ViMode = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
provider = function()
|
|
|
|
|
local alias = {
|
2021-05-25 02:31:14 +00:00
|
|
|
|
n = "Normal",
|
|
|
|
|
i = "Insert",
|
|
|
|
|
c = "Command",
|
|
|
|
|
V = "Visual",
|
|
|
|
|
[""] = "Visual",
|
|
|
|
|
v = "Visual",
|
|
|
|
|
R = "Replace"
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-05-25 02:54:22 +00:00
|
|
|
|
local current_Mode = alias[vim.fn.mode()]
|
|
|
|
|
|
2021-05-25 11:37:37 +00:00
|
|
|
|
if current_Mode == nil then
|
|
|
|
|
return " Terminal "
|
|
|
|
|
else
|
2021-05-25 02:54:22 +00:00
|
|
|
|
return " " .. current_Mode .. " "
|
|
|
|
|
end
|
2021-03-13 01:23:02 +00:00
|
|
|
|
end,
|
2021-05-25 02:31:14 +00:00
|
|
|
|
highlight = {colors.red, colors.lightbg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-07 14:22:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-06-06 05:35:53 +00:00
|
|
|
|
gls.right[6] = {
|
|
|
|
|
some_icon = {
|
2021-05-25 02:31:14 +00:00
|
|
|
|
provider = function()
|
2021-06-06 05:35:53 +00:00
|
|
|
|
return " "
|
2021-05-25 02:31:14 +00:00
|
|
|
|
end,
|
|
|
|
|
separator = "",
|
2021-06-01 18:47:46 +00:00
|
|
|
|
separator_highlight = {colors.green, colors.lightbg},
|
2021-05-25 02:31:14 +00:00
|
|
|
|
highlight = {colors.lightbg, colors.green}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-07 14:22:30 +00:00
|
|
|
|
}
|
2021-03-08 06:19:27 +00:00
|
|
|
|
|
2021-06-06 05:35:53 +00:00
|
|
|
|
gls.right[7] = {
|
|
|
|
|
line_percentage = {
|
2021-03-13 01:23:02 +00:00
|
|
|
|
provider = function()
|
2021-06-06 05:35:53 +00:00
|
|
|
|
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 .. "% "
|
2021-03-13 01:23:02 +00:00
|
|
|
|
end,
|
2021-05-25 02:31:14 +00:00
|
|
|
|
highlight = {colors.green, colors.lightbg}
|
2021-03-13 01:23:02 +00:00
|
|
|
|
}
|
2021-03-08 06:19:27 +00:00
|
|
|
|
}
|