mirror of
https://github.com/thegeneralist01/config.git
synced 2026-03-07 10:59:55 +01:00
chore: organize dotfiles stowed by home-manager
This commit is contained in:
parent
d82367b7ee
commit
c8783b2c52
40 changed files with 32 additions and 59 deletions
128
modules/dotfiles/nvim/lua/thegeneralist/lazy/statusline.lua
Normal file
128
modules/dotfiles/nvim/lua/thegeneralist/lazy/statusline.lua
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
-- "freddiehaddad/feline.nvim",
|
||||
dependencies = {
|
||||
-- "Hitesh-Aggarwal/feline_one_monokai.nvim",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
local tcolors = require("tokyonight.colors").setup() -- pass in any of the config options as explained above
|
||||
local util = require("tokyonight.util")
|
||||
local bgc = util.lighten(tcolors.bg_statusline, 0.9)
|
||||
|
||||
local theme = {
|
||||
normal = {
|
||||
a = { fg = tcolors.fg, bg = bgc },
|
||||
b = { fg = tcolors.fg, bg = bgc },
|
||||
c = { fg = tcolors.fg, bg = bgc },
|
||||
z = { fg = tcolors.fg, bg = bgc },
|
||||
},
|
||||
insert = { a = { fg = tcolors.black, bg = tcolors.green } },
|
||||
visual = { a = { fg = tcolors.black, bg = tcolors.orange } },
|
||||
replace = { a = { fg = tcolors.black, bg = tcolors.green } },
|
||||
}
|
||||
|
||||
local empty = require("lualine.component"):extend()
|
||||
function empty:draw(default_highlight)
|
||||
self.status = ""
|
||||
self.applied_separator = ""
|
||||
self:apply_highlights(default_highlight)
|
||||
self:apply_section_separators()
|
||||
return self.status
|
||||
end
|
||||
|
||||
-- Put proper separators and gaps between components in sections
|
||||
local function process_sections(sections)
|
||||
for name, section in pairs(sections) do
|
||||
local left = name:sub(9, 10) < "x"
|
||||
for pos = 1, name ~= "lualine_z" and #section or #section - 1 do
|
||||
table.insert(section, pos * 2, { empty, color = { fg = tcolors.bg_dark, bg = tcolors.bg_dark } })
|
||||
end
|
||||
for id, comp in ipairs(section) do
|
||||
if type(comp) ~= "table" then
|
||||
comp = { comp }
|
||||
section[id] = comp
|
||||
end
|
||||
comp.separator = left and { right = "" } or { left = "" }
|
||||
end
|
||||
end
|
||||
return sections
|
||||
end
|
||||
|
||||
local function search_result()
|
||||
if vim.v.hlsearch == 0 then
|
||||
return ""
|
||||
end
|
||||
local last_search = vim.fn.getreg("/")
|
||||
if not last_search or last_search == "" then
|
||||
return ""
|
||||
end
|
||||
local searchcount = vim.fn.searchcount({ maxcount = 9999 })
|
||||
return last_search .. "(" .. searchcount.current .. "/" .. searchcount.total .. ")"
|
||||
end
|
||||
|
||||
local function modified()
|
||||
if vim.bo.modified then
|
||||
return "+"
|
||||
elseif vim.bo.modifiable == false or vim.bo.readonly == true then
|
||||
return "-"
|
||||
end
|
||||
return ""
|
||||
end
|
||||
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = theme,
|
||||
component_separators = "",
|
||||
section_separators = { left = "", right = "" },
|
||||
},
|
||||
sections = process_sections({
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = {
|
||||
"branch",
|
||||
-- "diff",
|
||||
{
|
||||
"diagnostics",
|
||||
source = { "nvim" },
|
||||
sections = { "error" },
|
||||
diagnostics_color = { error = { bg = tcolors.red1, fg = tcolors.bg } },
|
||||
},
|
||||
{
|
||||
"diagnostics",
|
||||
source = { "nvim" },
|
||||
sections = { "warn" },
|
||||
diagnostics_color = { warn = { bg = tcolors.orange, fg = tcolors.bg } },
|
||||
},
|
||||
{ "filename", file_status = false, path = 3 },
|
||||
{ modified, color = { bg = tcolors.red1, fg = "#ffffff" } },
|
||||
{
|
||||
"%w",
|
||||
cond = function()
|
||||
return vim.wo.previewwindow
|
||||
end,
|
||||
},
|
||||
{
|
||||
"%r",
|
||||
cond = function()
|
||||
return vim.bo.readonly
|
||||
end,
|
||||
},
|
||||
{
|
||||
"%q",
|
||||
cond = function()
|
||||
return vim.bo.buftype == "quickfix"
|
||||
end,
|
||||
},
|
||||
},
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
lualine_y = { search_result, "filetype" },
|
||||
lualine_z = { "%l:%c", "%p%%/%L" },
|
||||
}),
|
||||
inactive_sections = {
|
||||
lualine_c = { "%f %y %m" },
|
||||
lualine_x = {},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue