trying out nix
This commit is contained in:
commit
65bd68a260
18 changed files with 1217 additions and 0 deletions
202
lua/colorini/config.lua
Normal file
202
lua/colorini/config.lua
Normal file
|
|
@ -0,0 +1,202 @@
|
|||
local M = {}
|
||||
|
||||
M.highlights_base = function(colors, base)
|
||||
local colorscheme = {
|
||||
green = {
|
||||
main = colors.green,
|
||||
high = colors.orange_light,
|
||||
main_dark = colors.green_dark,
|
||||
extra = colors.green_dark,
|
||||
},
|
||||
orange = {
|
||||
main = colors.orange_light,
|
||||
high = colors.green,
|
||||
main_dark = colors.orange,
|
||||
extra = colors.orange,
|
||||
},
|
||||
}
|
||||
local selected = base or "green"
|
||||
local main = colorscheme[selected].main
|
||||
local high = colorscheme[selected].high
|
||||
local main_dark = colorscheme[selected].main_dark
|
||||
local extra = colorscheme[selected].extra
|
||||
|
||||
return {
|
||||
Boolean = { fg = main },
|
||||
Character = { fg = high },
|
||||
ColorColumn = { bg = colors.background },
|
||||
Comment = { fg = colors.light_gray },
|
||||
Conditional = { fg = main_dark },
|
||||
Constant = { fg = high },
|
||||
Cursor = { fg = colors.white, bg = main },
|
||||
CursorColumn = { bg = colors.gray },
|
||||
CursorIM = { fg = colors.foreground, bg = colors.cursor },
|
||||
CursorLine = { bg = colors.gray },
|
||||
CursorLineNr = { fg = main },
|
||||
Debug = { fg = colors.blue },
|
||||
Define = { fg = extra },
|
||||
Delimiter = { fg = colors.white },
|
||||
DiffAdd = { fg = colors.white, bg = main },
|
||||
DiffChange = { fg = colors.white, bg = main },
|
||||
DiffDelete = { fg = colors.white, bg = colors.red },
|
||||
DiffText = { fg = colors.foreground, bg = main },
|
||||
Directory = { fg = high },
|
||||
EndOfBuffer = { fg = colors.gray, bg = colors.transparent },
|
||||
-- for some reason every single squirly bracket in c appears red if i leave this red????
|
||||
Error = { fg = main, bg = colors.transparent },
|
||||
ErrorMsg = { fg = colors.red, bg = colors.transparent },
|
||||
Exception = { fg = colors.red },
|
||||
Float = { fg = main },
|
||||
FloatBorder = { fg = main, bg = colors.transparent },
|
||||
FoldColumn = { fg = main, bg = colors.transparent },
|
||||
Folded = { fg = main, bg = colors.transparent },
|
||||
Function = { fg = main_dark },
|
||||
Identifier = { fg = main },
|
||||
Ignore = { fg = colors.light_gray, bg = colors.transparent },
|
||||
IncSearch = { fg = colors.white, bg = high },
|
||||
Include = { fg = main },
|
||||
Keyword = { fg = high },
|
||||
Label = { fg = extra },
|
||||
LineNr = { fg = colors.light_gray, bg = colors.transparent },
|
||||
LineNrAbove = { fg = colors.light_gray, bg = colors.transparent },
|
||||
LineNrBelow = { fg = colors.light_gray, bg = colors.transparent },
|
||||
Macro = { fg = extra },
|
||||
MatchParen = { fg = colors.white, bg = main },
|
||||
ModeMsg = { fg = main, bg = colors.transparent },
|
||||
MoreMsg = { fg = main },
|
||||
MsgArea = { fg = main, bg = colors.transparent },
|
||||
MsgSeparator = { fg = colors.gray, bg = colors.transparent },
|
||||
NonText = { fg = colors.gray },
|
||||
Normal = { fg = main, bg = colors.transparent },
|
||||
NormalFloat = { fg = main, bg = colors.background },
|
||||
NormalNC = { fg = main, bg = colors.transparent },
|
||||
Number = { fg = high },
|
||||
Operator = { fg = main },
|
||||
Pmenu = { fg = colors.white, bg = colors.black },
|
||||
PmenuSbar = { fg = colors.white, bg = main },
|
||||
PmenuSel = { fg = colors.white, bg = main },
|
||||
PmenuThumb = { bg = main },
|
||||
PreCondit = { fg = main_dark },
|
||||
PreProc = { fg = main_dark },
|
||||
Question = { fg = main },
|
||||
QuickFixLine = { bg = main, fg = colors.white },
|
||||
Repeat = { fg = main },
|
||||
Search = { fg = colors.white, bg = main },
|
||||
SignColumn = { fg = colors.transparent, bg = colors.transparent },
|
||||
Special = { fg = colors.yellow },
|
||||
SpecialChar = { fg = main },
|
||||
SpecialComment = { fg = colors.white },
|
||||
SpecialKey = { fg = colors.white, bg = colors.red },
|
||||
SpellBad = { fg = colors.red },
|
||||
SpellCap = { fg = main },
|
||||
SpellLocal = { fg = colors.yellow },
|
||||
SpellRare = { fg = colors.blue },
|
||||
Statement = { fg = main },
|
||||
StatusLine = { fg = colors.transparent, bg = colors.transparent },
|
||||
StatusLineNC = { fg = colors.transparent, bg = colors.transparent },
|
||||
StorageClass = { fg = main },
|
||||
String = { fg = high },
|
||||
Structure = { fg = high },
|
||||
Substitute = { fg = colors.white, bg = main },
|
||||
Tag = { fg = high },
|
||||
TermCursor = { fg = colors.foreground, bg = colors.cursor },
|
||||
TermCursorNC = { fg = colors.foreground, bg = colors.cursor },
|
||||
Title = { fg = main },
|
||||
Todo = { fg = colors.white, bg = colors.transparent },
|
||||
Type = { fg = main_dark },
|
||||
Typedef = { fg = main_dark },
|
||||
Variable = { fg = main },
|
||||
VertSplit = { fg = colors.blue, bg = colors.transparent },
|
||||
Visual = { fg = colors.white, bg = main },
|
||||
VisualNOS = { bg = colors.transparent },
|
||||
WarningMsg = { fg = colors.yellow, bg = colors.transparent },
|
||||
Whitespace = { fg = colors.gray, bg = colors.background },
|
||||
WildMenu = { fg = colors.white, bg = colors.white },
|
||||
WinBar = { bg = colors.transparent },
|
||||
WinBarNC = { bg = colors.transparent },
|
||||
WinSeparator = { fg = colors.gray, bg = colors.transparent },
|
||||
healthError = { fg = colors.red },
|
||||
healthSuccess = { fg = colors.green },
|
||||
healthWarning = { fg = colors.yellow },
|
||||
lCursor = { fg = colors.foreground, bg = colors.cursor },
|
||||
|
||||
-- diagnostics
|
||||
DiagnosticError = { fg = colors.red },
|
||||
DiagnosticHint = { fg = colors.orange },
|
||||
DiagnosticInfo = { fg = colors.white },
|
||||
DiagnosticWarn = { fg = colors.yellow },
|
||||
DiagnosticUnderlineError = { undercurl = true, fg = colors.red },
|
||||
DiagnosticUnderlineHint = { undercurl = true, fg = colors.orange },
|
||||
DiagnosticUnderlineInfo = { undercurl = true, fg = colors.white },
|
||||
DiagnosticUnderlineWarn = { undercurl = true, fg = colors.yellow },
|
||||
|
||||
-- Telescope
|
||||
TelescopeBorder = { fg = main, bg = colors.transparent },
|
||||
TelescopeNormal = { fg = colors.white, bg = colors.transparent },
|
||||
TelescopeSelection = { fg = colors.transparent, bg = main },
|
||||
|
||||
-- treesitter
|
||||
-- These groups are for the neovim tree-sitter highlights.
|
||||
-- As of writing, tree-sitter support is a WIP, group names may color5.
|
||||
-- By default, most of these groups link to an appropriate Vim group,
|
||||
-- TSError -> Error for example, so you do not have to define these unless
|
||||
-- you explicitly want to support Treesitter's improved syntax awareness.
|
||||
|
||||
-- TSAnnotation = { }; -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
|
||||
-- TSBoolean = { }; -- For booleans.
|
||||
-- TSCharacter = { }; -- For characters.
|
||||
-- TSComment = { }; -- For blueblocks.
|
||||
TSComment = { fg = colors.blue},
|
||||
TSConstructor = { fg = colors.blue}, -- For constructor calls and definitions: `= { }` in Lua, and Java constructors.
|
||||
TSDanger = { fg = colors.transparent, bg = colors.blue},
|
||||
TSNote = { fg = colors.transparent, bg = colors.blue},
|
||||
TSWarning = { fg = colors.transparent, bg = colors.blue},
|
||||
-- TSConditional = { }; -- For keywords related to conditionnals.
|
||||
-- TSConstant = { }; -- For constants
|
||||
-- TSConstBuiltin = { }; -- For constant that are built in the language: `nil` in Lua.
|
||||
-- TSConstMacro = { }; -- For constants that are defined by macros: `NULL` in C.
|
||||
-- TSError = { }; -- For syntax/parser errors.
|
||||
-- TSException = { }; -- For exception related keywords.
|
||||
TSField = { fg = colors.blue }, -- For fields.
|
||||
-- TSFloat = { }; -- For floats.
|
||||
-- TSFunction = { }; -- For function (calls and definitions).
|
||||
-- TSFuncBuiltin = { }; -- For builtin functions: `table.insert` in Lua.
|
||||
-- TSFuncMacro = { }; -- For macro defined fuctions (calls and definitions): each `macro_rules` in Rust.
|
||||
-- TSInclude = { }; -- For includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua.
|
||||
TSKeyword = { fg = colors.blue}, -- For keywords that don't fall in previous categories.
|
||||
TSKeywordFunction = { fg = colors.blue}, -- For keywords used to define a fuction.
|
||||
TSLabel = { fg = colors.blue}, -- For labels: `label:` in C and `:label:` in Lua.
|
||||
-- TSMethod = { }; -- For method calls and definitions.
|
||||
-- TSNamespace = { }; -- For identifiers referring to modules and namespaces.
|
||||
-- TSNone = { }; -- TODO: docs
|
||||
-- TSNumber = { }; -- For all numbers
|
||||
TSOperator = { fg = colors.blue}, -- For any operator: `+`, but also `->` and `*` in C.
|
||||
TSParameter = { fg = colors.blue}, -- For parameters of a function.
|
||||
-- TSParameterReference= { }; -- For references to parameters of a function.
|
||||
TSProperty = { fg = colors.blue}, -- Same as `TSField`.
|
||||
TSPunctDelimiter = { fg = colors.blue}, -- For delimiters ie: `.`
|
||||
TSPunctBracket = { fg = colors.foreground }, -- For brackets and parens.
|
||||
TSPunctSpecial = { fg = colors.blue}, -- For special punctutation that does not fall in the catagories before.
|
||||
-- TSRepeat = { }; -- For keywords related to loops.
|
||||
-- TSString = { }; -- For strings.
|
||||
TSStringRegex = { fg = colors.blue}, -- For regexes.
|
||||
TSStringEscape = { fg = colors.blue}, -- For escape characters within a string.
|
||||
-- TSSymbol = { }; -- For identifiers referring to symbols or atoms.
|
||||
-- TSType = { }; -- For types.
|
||||
-- TSTypeBuiltin = { }; -- For builtin types.
|
||||
TSVariableBuiltin = { fg = colors.blue }, -- Variable names that are defined by the languages, like `this` or `self`.
|
||||
|
||||
-- TSTag = { }; -- Tags like html tag names.
|
||||
-- TSTagDelimiter = { }; -- Tag delimiter like `<` `>` `/`
|
||||
-- TSText = { }; -- For strings considered text in a markup language.
|
||||
TSTextReference = { fg = colors.blue},
|
||||
-- TSEmphasis = { }; -- For text to be represented with emphasis.
|
||||
-- TSUnderline = { }; -- For text to be represented with an underline.
|
||||
-- TSStrike = { }; -- For strikethrough text.
|
||||
-- TSTitle = { }; -- Text that is part of a title.
|
||||
-- TSLiteral = { }; -- Literal text.
|
||||
-- TSURI = { }; -- Any URI like a link or email.
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
44
lua/colorini/core.lua
Normal file
44
lua/colorini/core.lua
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
local M = {}
|
||||
|
||||
local colors = {
|
||||
green = "#459A65",
|
||||
green_dark = "#006666",
|
||||
orange = "#EE7B3B",
|
||||
orange_light = "#FD971F",
|
||||
yellow = "#F6C443",
|
||||
gray = "#161616",
|
||||
light_gray = "#464646",
|
||||
blue = "#3276F6",
|
||||
red = "#CD0300",
|
||||
magenta = "#EA3D8D",
|
||||
white = "#FFFFFF",
|
||||
black = "#000000",
|
||||
}
|
||||
|
||||
colors.background = colors.black
|
||||
colors.foreground = colors.green
|
||||
colors.cursor = colors.orange
|
||||
|
||||
function M.get_colors()
|
||||
return {
|
||||
transparent = "NONE",
|
||||
background = colors.background,
|
||||
foreground = colors.foreground,
|
||||
cursor = colors.cursor,
|
||||
|
||||
white = colors.white,
|
||||
black = colors.black,
|
||||
green = colors.green,
|
||||
green_dark = colors.green_dark,
|
||||
orange = colors.orange,
|
||||
orange_light = colors.orange_light,
|
||||
yellow = colors.yellow,
|
||||
gray = colors.gray,
|
||||
light_gray = colors.light_gray,
|
||||
blue = colors.blue,
|
||||
red = colors.red,
|
||||
magenta = colors.magenta,
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
432
lua/colorini/feline.lua
Normal file
432
lua/colorini/feline.lua
Normal file
|
|
@ -0,0 +1,432 @@
|
|||
local lsp = require("feline.providers.lsp")
|
||||
local lsp_severity = vim.diagnostic.severity
|
||||
local b = vim.b
|
||||
|
||||
local assets = {
|
||||
left_semicircle = "",
|
||||
right_semicircle = "",
|
||||
right_semicircle_cut = "",
|
||||
left_semicircle_cut = "",
|
||||
vertical_bar_chubby = "█",
|
||||
vertical_bar_medium = "┃",
|
||||
vertical_bar_thin = "│",
|
||||
left_arrow_thin = "",
|
||||
right_arrow_thin = "",
|
||||
left_arrow_filled = "",
|
||||
right_arrow_filled = "",
|
||||
slant_left = "",
|
||||
slant_left_thin = "",
|
||||
slant_right = "",
|
||||
slant_right_thin = "",
|
||||
slant_left_2 = "",
|
||||
slant_left_2_thin = "",
|
||||
slant_right_2 = "",
|
||||
slant_right_2_thin = "",
|
||||
chubby_dot = "●",
|
||||
slim_dot = '•',
|
||||
}
|
||||
|
||||
local colors = require('pywal16.core').get_colors()
|
||||
|
||||
-- settings
|
||||
local sett = {
|
||||
bkg = colors.background,
|
||||
diffs = colors.color1,
|
||||
extras = colors.color5,
|
||||
curr_file = colors.color4,
|
||||
curr_dir = colors.color4,
|
||||
}
|
||||
|
||||
local mode_colors = {
|
||||
["n"] = { "NORMAL", colors.color1 },
|
||||
["no"] = { "N-PENDING", colors.color1 },
|
||||
["i"] = { "INSERT", colors.color1 },
|
||||
["ic"] = { "INSERT", colors.color1 },
|
||||
["t"] = { "TERMINAL", colors.color1 },
|
||||
["v"] = { "VISUAL", colors.color3 },
|
||||
["V"] = { "V-LINE", colors.color3 },
|
||||
[""] = { "V-BLOCK", colors.color3 },
|
||||
["R"] = { "REPLACE", colors.color4 },
|
||||
["Rv"] = { "V-REPLACE", colors.color4 },
|
||||
["s"] = { "SELECT", colors.color4 },
|
||||
["S"] = { "S-LINE", colors.color4 },
|
||||
[""] = { "S-BLOCK", colors.color4 },
|
||||
["c"] = { "COMMAND", colors.color6 },
|
||||
["cv"] = { "COMMAND", colors.color6 },
|
||||
["ce"] = { "COMMAND", colors.color6 },
|
||||
["r"] = { "PROMPT", colors.color7 },
|
||||
["rm"] = { "MORE", colors.color7 },
|
||||
["r?"] = { "CONFIRM", colors.color2 },
|
||||
["!"] = { "SHELL", colors.color1 },
|
||||
}
|
||||
|
||||
local shortline = false
|
||||
|
||||
-- Initialize the components table
|
||||
local components = {
|
||||
active = {},
|
||||
inactive = {},
|
||||
}
|
||||
|
||||
table.insert(components.active, {}) -- (1) left
|
||||
table.insert(components.active, {}) -- (2) center
|
||||
table.insert(components.active, {}) -- (3) right
|
||||
|
||||
-- global components
|
||||
local invi_sep = {
|
||||
str = " ",
|
||||
hl = {
|
||||
fg = sett.bkg,
|
||||
bg = sett.bkg
|
||||
},
|
||||
}
|
||||
|
||||
-- helpers
|
||||
local function any_git_changes()
|
||||
local gst = b.gitsigns_status_dict -- git stats
|
||||
if gst then
|
||||
if gst["added"] and gst["added"] > 0 or gst["removed"] and gst["removed"] > 0 or gst["changed"] and gst["changed"] > 0 then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
|
||||
-- #################### STATUSLINE ->
|
||||
|
||||
|
||||
-- ######## Left
|
||||
|
||||
-- Current vi mode ------>
|
||||
local vi_mode_hl = function()
|
||||
return {
|
||||
fg = sett.bkg,
|
||||
bg = mode_colors[vim.fn.mode()][2],
|
||||
style = "bold"
|
||||
}
|
||||
end
|
||||
|
||||
components.active[1][1] = {
|
||||
provider = assets.vertical_bar_chubby,
|
||||
hl = function()
|
||||
return {
|
||||
fg = mode_colors[vim.fn.mode()][2],
|
||||
bg = sett.bkg,
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
||||
components.active[1][2] = {
|
||||
provider = "",
|
||||
hl = function()
|
||||
return {
|
||||
fg = sett.bkg,
|
||||
bg = mode_colors[vim.fn.mode()][2],
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
||||
components.active[1][3] = {
|
||||
provider = function()
|
||||
return " " .. mode_colors[vim.fn.mode()][1] .. " "
|
||||
end,
|
||||
hl = vi_mode_hl,
|
||||
}
|
||||
|
||||
-- there is a dilema: we need to hide Diffs if ther is no git info. We can do that, but this will
|
||||
-- leave the right_semicircle colored with purple, and since we can't change the color conditonally
|
||||
-- then the solution is to create two right_semicircles: one with a color2 sett.bkg and the other one normal
|
||||
-- sett.bkg; both have the same fg (vi mode). The color2 one appears if there is git info, else the one with
|
||||
-- the normal sett.bkg appears. Fixed :)
|
||||
|
||||
-- enable if git diffs are not available
|
||||
components.active[1][4] = {
|
||||
provider = assets.right_semicircle,
|
||||
hl = function()
|
||||
return {
|
||||
fg = mode_colors[vim.fn.mode()][2],
|
||||
bg = sett.bkg
|
||||
}
|
||||
end,
|
||||
enabled = function()
|
||||
return not any_git_changes()
|
||||
end
|
||||
}
|
||||
|
||||
-- enable if git diffs are available
|
||||
components.active[1][5] = {
|
||||
provider = assets.right_semicircle,
|
||||
hl = function()
|
||||
return {
|
||||
fg = mode_colors[vim.fn.mode()][2],
|
||||
bg = sett.diffs
|
||||
}
|
||||
end,
|
||||
enabled = function()
|
||||
return any_git_changes()
|
||||
end
|
||||
}
|
||||
-- Current vi mode ------>
|
||||
|
||||
-- Diffs ------>
|
||||
components.active[1][6] = {
|
||||
provider = "git_diff_added",
|
||||
hl = {
|
||||
fg = sett.bkg,
|
||||
bg = sett.diffs,
|
||||
},
|
||||
icon = " ",
|
||||
}
|
||||
|
||||
components.active[1][7] = {
|
||||
provider = "git_diff_changed",
|
||||
hl = {
|
||||
fg = sett.bkg,
|
||||
bg = sett.diffs,
|
||||
},
|
||||
icon = " ",
|
||||
}
|
||||
|
||||
components.active[1][8] = {
|
||||
provider = "git_diff_removed",
|
||||
hl = {
|
||||
fg = sett.bkg,
|
||||
bg = sett.diffs,
|
||||
},
|
||||
icon = " ",
|
||||
}
|
||||
|
||||
components.active[1][9] = {
|
||||
provider = assets.right_semicircle,
|
||||
hl = {
|
||||
fg = sett.diffs,
|
||||
bg = sett.bkg,
|
||||
},
|
||||
enabled = function()
|
||||
return any_git_changes()
|
||||
end
|
||||
}
|
||||
-- Diffs ------>
|
||||
|
||||
-- Extras ------>
|
||||
|
||||
-- file progess
|
||||
components.active[1][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,
|
||||
-- enabled = shortline or function(winid)
|
||||
-- return vim.api.nvim_win_get_width(winid) > 90
|
||||
-- end,
|
||||
hl = {
|
||||
fg = sett.extras,
|
||||
bg = sett.bkg
|
||||
},
|
||||
left_sep = invi_sep,
|
||||
}
|
||||
|
||||
-- position
|
||||
components.active[1][11] = {
|
||||
provider = "position",
|
||||
-- enabled = shortline or function(winid)
|
||||
-- return vim.api.nvim_win_get_width(winid) > 90
|
||||
-- end,
|
||||
hl = {
|
||||
fg = sett.extras,
|
||||
bg = sett.bkg
|
||||
},
|
||||
left_sep = invi_sep,
|
||||
}
|
||||
-- Extras ------>
|
||||
|
||||
-- ######## Left
|
||||
|
||||
-- ######## Center
|
||||
|
||||
-- Diagnostics ------>
|
||||
-- workspace loader
|
||||
components.active[2][1] = {
|
||||
provider = function()
|
||||
local Lsp = vim.lsp.util.get_progress_messages()[1]
|
||||
|
||||
if Lsp then
|
||||
local msg = Lsp.message or ""
|
||||
local percentage = Lsp.percentage or 0
|
||||
local title = Lsp.title or ""
|
||||
local spinners = {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
}
|
||||
local success_icon = {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
}
|
||||
local ms = vim.loop.hrtime() / 1000000
|
||||
local frame = math.floor(ms / 120) % #spinners
|
||||
|
||||
if percentage >= 70 then
|
||||
return string.format(" %%<%s %s %s (%s%%%%) ", success_icon[frame + 1], title, msg, percentage)
|
||||
end
|
||||
|
||||
return string.format(" %%<%s %s %s (%s%%%%) ", spinners[frame + 1], title, msg, percentage)
|
||||
end
|
||||
|
||||
return ""
|
||||
end,
|
||||
enabled = shortline or function(winid)
|
||||
return vim.api.nvim_win_get_width(winid) > 80
|
||||
end,
|
||||
hl = {
|
||||
fg = colors.rosewater,
|
||||
bg = sett.bkg
|
||||
},
|
||||
}
|
||||
|
||||
-- genral diagnostics (errors, warnings. info and hints)
|
||||
components.active[2][2] = {
|
||||
provider = "diagnostic_errors",
|
||||
enabled = function()
|
||||
return lsp.diagnostics_exist(lsp_severity.ERROR)
|
||||
end,
|
||||
|
||||
hl = {
|
||||
fg = colors.red,
|
||||
bg = sett.bkg,
|
||||
},
|
||||
icon = " ",
|
||||
}
|
||||
|
||||
components.active[2][3] = {
|
||||
provider = "diagnostic_warnings",
|
||||
enabled = function()
|
||||
return lsp.diagnostics_exist(lsp_severity.WARN)
|
||||
end,
|
||||
hl = {
|
||||
fg = colors.yellow,
|
||||
bg = sett.bkg,
|
||||
},
|
||||
icon = " ",
|
||||
}
|
||||
|
||||
components.active[2][4] = {
|
||||
provider = "diagnostic_info",
|
||||
enabled = function()
|
||||
return lsp.diagnostics_exist(lsp_severity.INFO)
|
||||
end,
|
||||
hl = {
|
||||
fg = colors.sky,
|
||||
bg = sett.bkg,
|
||||
},
|
||||
icon = " ",
|
||||
}
|
||||
|
||||
components.active[2][5] = {
|
||||
provider = "diagnostic_hints",
|
||||
enabled = function()
|
||||
return lsp.diagnostics_exist(lsp_severity.HINT)
|
||||
end,
|
||||
hl = {
|
||||
fg = colors.rosewater,
|
||||
bg = sett.bkg,
|
||||
},
|
||||
icon = " ",
|
||||
}
|
||||
-- Diagnostics ------>
|
||||
|
||||
-- ######## Center
|
||||
|
||||
-- ######## Right
|
||||
|
||||
components.active[3][1] = {
|
||||
provider = "git_branch",
|
||||
enabled = shortline or function(winid)
|
||||
return vim.api.nvim_win_get_width(winid) > 70
|
||||
end,
|
||||
hl = {
|
||||
fg = sett.extras,
|
||||
bg = sett.bkg
|
||||
},
|
||||
icon = " ",
|
||||
left_sep = invi_sep,
|
||||
right_sep = invi_sep,
|
||||
}
|
||||
|
||||
components.active[3][2] = {
|
||||
provider = function()
|
||||
if next(vim.lsp.buf_get_clients()) ~= nil then
|
||||
return " "
|
||||
else
|
||||
return ""
|
||||
end
|
||||
end,
|
||||
hl = {
|
||||
fg = sett.extras,
|
||||
bg = sett.bkg
|
||||
},
|
||||
right_sep = invi_sep,
|
||||
}
|
||||
|
||||
components.active[3][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,
|
||||
enabled = shortline or function(winid)
|
||||
return vim.api.nvim_win_get_width(winid) > 70
|
||||
end,
|
||||
hl = {
|
||||
fg = sett.bkg,
|
||||
bg = sett.curr_file,
|
||||
},
|
||||
left_sep = {
|
||||
str = assets.left_semicircle,
|
||||
hl = {
|
||||
fg = sett.curr_file,
|
||||
bg = sett.bkg,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
components.active[3][4] = {
|
||||
provider = function()
|
||||
local dir_name = vim.fn.fnamemodify(vim.fn.getcwd(), ":t")
|
||||
return " " .. dir_name .. " "
|
||||
end,
|
||||
|
||||
enabled = shortline or function(winid)
|
||||
return vim.api.nvim_win_get_width(winid) > 80
|
||||
end,
|
||||
|
||||
hl = {
|
||||
fg = sett.bkg,
|
||||
bg = sett.curr_dir,
|
||||
},
|
||||
left_sep = {
|
||||
str = assets.left_semicircle,
|
||||
hl = {
|
||||
fg = sett.curr_dir,
|
||||
bg = sett.curr_file,
|
||||
},
|
||||
},
|
||||
}
|
||||
-- ######## Right
|
||||
|
||||
return components
|
||||
11
lua/colorini/highlights.lua
Normal file
11
lua/colorini/highlights.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local M = {}
|
||||
local config = require('colorini.config')
|
||||
|
||||
function M.highlight_all(colors, base)
|
||||
local base_highlights = config.highlights_base(colors, base)
|
||||
for group, properties in pairs(base_highlights) do
|
||||
vim.api.nvim_set_hl(0, group, properties)
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
11
lua/colorini/init.lua
Normal file
11
lua/colorini/init.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local M = {}
|
||||
local core = require('colorini.core')
|
||||
local highlights = require('colorini.highlights')
|
||||
|
||||
function M.setup(base)
|
||||
local colors = core.get_colors()
|
||||
vim.opt.termguicolors = true
|
||||
highlights.highlight_all(colors, base)
|
||||
end
|
||||
|
||||
return M
|
||||
Loading…
Add table
Add a link
Reference in a new issue