mirror of
https://github.com/signaldirective/robco-theme.git
synced 2026-05-14 20:39:59 +02:00
First Commit of improved RobCo theme
This commit is contained in:
+192
@@ -0,0 +1,192 @@
|
||||
return {
|
||||
"EdenEast/nightfox.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
dependencies = {
|
||||
"folke/snacks.nvim",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
"nvim-lualine/lualine.nvim",
|
||||
},
|
||||
|
||||
config = function()
|
||||
local nightfox = require('nightfox')
|
||||
local Shade = require('nightfox.lib.shade')
|
||||
local c = require('nightfox.lib.color')
|
||||
|
||||
local retropc_palette = {
|
||||
-- Base "RetroPC" Palette Overrides
|
||||
bg0 = "#090A08", bg1 = "#090A08", bg2 = "#121a12", bg3 = "#02160C", bg4 = "#02160C",
|
||||
fg0 = "#59CF77", fg1 = "#59CF77", fg2 = "#2E7D4A", fg3 = "#669900",
|
||||
sel0 = "#02160C",
|
||||
sel1 = c.from_hex("#02160C"):blend(c.from_hex("#2E7D4A"), 0.2):to_css(),
|
||||
comment = "#008000",
|
||||
red = Shade.new("#59CF77", c.from_hex("#59CF77"):lighten(8):to_css(), "#59CF77"),
|
||||
orange = Shade.new("#59CF77", "#2E7D4A", c.from_hex("#59CF77"):lighten(-8):to_css()),
|
||||
yellow = Shade.new("#59CF77", c.from_hex("#2E7D4A"):lighten(10):to_css(), "#59CF77"),
|
||||
white = Shade.new("#59CF77", "#2E7D4A", "#2E7D4A"),
|
||||
black = Shade.new("#2A1F00", "#805500", "#1A1612"),
|
||||
green = Shade.new("#2E7D4A", "#D4AA00", "#669900"),
|
||||
cyan = Shade.new("#52D374", "#59CF77", "#2E7D4A"),
|
||||
blue = Shade.new("#2E7D4A", "#D4AA00", "#669900"),
|
||||
magenta = Shade.new("#4DB866", "#52D374", "#22CC00"),
|
||||
pink = Shade.new("#52D374", "#59CF77", "#22CC00"),
|
||||
|
||||
-- Lualine Palette Extensions
|
||||
lualine_normal_bg = "#FFBB00",
|
||||
lualine_insert_bg = "#FF8800",
|
||||
lualine_visual_bg = "#FF9900",
|
||||
lualine_command_bg = "#FFBB00",
|
||||
lualine_inactive_bg = c.from_hex("#0A0A08"):lighten(5):to_css(),
|
||||
|
||||
-- Treesitter Palette Extensions
|
||||
ts_parameter = "#FFAA00",
|
||||
ts_property = "#FFB000",
|
||||
}
|
||||
|
||||
local final_palettes = {
|
||||
carbonfox = require('nightfox.lib.collect').deep_extend(
|
||||
require('nightfox.palette').load('carbonfox'),
|
||||
retropc_palette
|
||||
)
|
||||
}
|
||||
|
||||
local specs = {
|
||||
carbonfox = {
|
||||
syntax = {
|
||||
keyword = "red", -- "local", "function", "if"
|
||||
conditional = "red",
|
||||
statement = "red",
|
||||
func = "orange",
|
||||
string = "orange.dim",
|
||||
number = "orange",
|
||||
operator = "yellow",
|
||||
variable = "white",
|
||||
ident = "white.dim",
|
||||
const = "white",
|
||||
type = "white",
|
||||
field = "white.dim",
|
||||
comment = "comment",
|
||||
},
|
||||
diag = {
|
||||
error = "red",
|
||||
warn = "red",
|
||||
info = "cyan",
|
||||
hint = "magenta",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
local groups = {
|
||||
all = {
|
||||
-- Base Groups
|
||||
Whitespace = { fg = "palette.black.bright" },
|
||||
NonText = { fg = "palette.black.bright" },
|
||||
IncSearch = { bg = "palette.sel1" },
|
||||
CursorLine = { bg = "palette.bg2" },
|
||||
Normal = { fg = "palette.fg1" },
|
||||
|
||||
-- Noice Cmdline Overrides
|
||||
NoiceCmdlinePopupBorder = { fg = "palette.fg3" },
|
||||
NoiceCmdlinePopupTitle = { fg = "palette.fg3", style = "bold" },
|
||||
NoiceCmdlinePopupBorderSearch = { fg = "palette.fg3" },
|
||||
NoiceCmdlinePopupTitleSearch = { fg = "palette.fg3", style = "bold" },
|
||||
NoiceCmdLineIcon = { fg = "palette.red" },
|
||||
|
||||
-- Neo-tree overrides
|
||||
NeoTreeNormal = { bg = "palette.bg0" },
|
||||
NeoTreeNormalNC = { link = "NeoTreeNormal" },
|
||||
NeoTreeDirectoryName = { fg = "palette.fg3" },
|
||||
NeoTreeDirectoryIcon = { fg = "palette.fg3" },
|
||||
NeoTreeRootName = { fg = "palette.orange", style = "bold" },
|
||||
NeoTreeGitAdded = { fg = "palette.green" },
|
||||
NeoTreeGitModified = { fg = "palette.yellow" },
|
||||
NeoTreeGitDeleted = { fg = "palette.red" },
|
||||
NeoTreeGitIgnored = { fg = "palette.comment" },
|
||||
NeoTreeC = { fg = "palette.orange", bg = "palette.sel0" },
|
||||
|
||||
-- Dashboard overrides
|
||||
SnacksDashboardHeader = { fg = "palette.fg3" },
|
||||
SnacksDashboardIcon = { fg = "palette.fg1" },
|
||||
SnacksDashboardDir = { fg = "palette.orange" },
|
||||
SnacksDashboardFile = { fg = "palette.fg3" },
|
||||
SnacksDashboardFooter = { fg = "palette.fg3" },
|
||||
SnacksDashboardKey = { fg = "palette.orange" },
|
||||
SnacksDashboardDesc = { fg = "palette.fg1" },
|
||||
SnacksDashboardSpecial = { fg = "palette.fg1" },
|
||||
|
||||
-- Treesitter overrides
|
||||
["@comment"] = { fg = "palette.comment", style = "italic" },
|
||||
["@keyword"] = { fg = "palette.red", style = "bold" },
|
||||
["@keyword.function"] = { fg = "palette.red", style = "bold" },
|
||||
["@keyword.operator"] = { fg = "palette.red", style = "bold" },
|
||||
["@function"] = { fg = "palette.orange", style = "bold" },
|
||||
["@function.builtin"] = { fg = "palette.orange", style = "bold" },
|
||||
["@function.call"] = { fg = "palette.orange" },
|
||||
["@string"] = { fg = "palette.orange" },
|
||||
["@number"] = { fg = "palette.orange" },
|
||||
["@operator"] = { fg = "palette.yellow" },
|
||||
["@variable"] = { fg = "palette.white" },
|
||||
["@constant"] = { fg = "palette.white" },
|
||||
["@type"] = { fg = "palette.white.dim" },
|
||||
["@variable.parameter"] = { fg = "palette.ts_parameter", style = "italic" },
|
||||
["@property"] = { fg = "palette.ts_property" },
|
||||
["@field"] = { fg = "palette.ts_property" },
|
||||
}
|
||||
}
|
||||
|
||||
nightfox.setup({
|
||||
options = {
|
||||
style = "carbonfox",
|
||||
terminal_colors = true,
|
||||
dim_inactive = true,
|
||||
styles = { comments = "italic", functions = "bold", keywords = "bold" },
|
||||
modules = {
|
||||
neotree = true,
|
||||
treesitter = true,
|
||||
},
|
||||
},
|
||||
palettes = final_palettes,
|
||||
specs = specs,
|
||||
groups = groups
|
||||
})
|
||||
|
||||
vim.cmd("colorscheme carbonfox")
|
||||
|
||||
-- Lualine overrides
|
||||
local lualine_theme = {
|
||||
normal = {
|
||||
a = { fg = retropc_palette.bg0, bg = retropc_palette.lualine_normal_bg, gui = "bold" },
|
||||
b = { fg = retropc_palette.fg1, bg = retropc_palette.lualine_inactive_bg },
|
||||
c = { fg = retropc_palette.fg2, bg = retropc_palette.lualine_inactive_bg },
|
||||
},
|
||||
insert = {
|
||||
a = { fg = retropc_palette.bg0, bg = retropc_palette.lualine_insert_bg, gui = "bold" },
|
||||
b = { fg = retropc_palette.fg1, bg = retropc_palette.lualine_inactive_bg },
|
||||
c = { fg = retropc_palette.fg2, bg = retropc_palette.lualine_inactive_bg },
|
||||
},
|
||||
visual = {
|
||||
a = { fg = retropc_palette.bg0, bg = retropc_palette.lualine_visual_bg, gui = "bold" },
|
||||
b = { fg = retropc_palette.fg1, bg = retropc_palette.lualine_inactive_bg },
|
||||
c = { fg = retropc_palette.fg2, bg = retropc_palette.lualine_inactive_bg },
|
||||
},
|
||||
command = {
|
||||
a = { fg = retropc_palette.bg0, bg = retropc_palette.lualine_command_bg, gui = "bold" },
|
||||
b = { fg = retropc_palette.fg1, bg = retropc_palette.lualine_inactive_bg },
|
||||
c = { fg = retropc_palette.fg2, bg = retropc_palette.lualine_inactive_bg },
|
||||
},
|
||||
inactive = {
|
||||
a = { fg = retropc_palette.fg3, bg = retropc_palette.lualine_inactive_bg },
|
||||
b = { fg = retropc_palette.fg3, bg = retropc_palette.lualine_inactive_bg },
|
||||
c = { fg = retropc_palette.comment, bg = retropc_palette.lualine_inactive_bg },
|
||||
},
|
||||
}
|
||||
|
||||
require('lualine').setup({
|
||||
options = {
|
||||
theme = lualine_theme,
|
||||
},
|
||||
})
|
||||
|
||||
end,
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user