mirror of
https://github.com/foo-dogsquared/dotfiles.git
synced 2025-01-31 04:57:57 +00:00
398 lines
14 KiB
Lua
398 lines
14 KiB
Lua
-- CREDITS: pwntester/nautilus.nvim
|
|
local lush = require("lush")
|
|
local hsl = lush.hsluv
|
|
|
|
--[[
|
|
base00 - Default Background
|
|
base01 - Lighter Background (Used for status bars)
|
|
base02 - Selection Background
|
|
base03 - Comments, Invisibles, Line Highlighting
|
|
base04 - Dark Foreground (Used for status bars)
|
|
base05 - Default Foreground, Caret, Delimiters, Operators
|
|
base06 - Light Foreground (Not often used)
|
|
base07 - Light Background (Not often used)
|
|
base08 - Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
|
|
base09 - Integers, Boolean, Constants, XML Attributes, Markup Link Url
|
|
base0A - Classes, Markup Bold, Search Text Background
|
|
base0B - Strings, Inherited Class, Markup Code, Diff Inserted
|
|
base0C - Support, Regular Expressions, Escape Characters, Markup Quotes
|
|
base0D - Functions, Methods, Attribute IDs, Headings
|
|
base0E - Keywords, Storage, Selector, Markup Italic, Diff Changed
|
|
base0F - Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
|
|
]]
|
|
--
|
|
|
|
local base00 = hsl("#2b221f")
|
|
local base01 = hsl("#412c26")
|
|
local base02 = hsl("#5c362c")
|
|
local base03 = hsl("#a45b43")
|
|
local base04 = hsl("#e1bcb2")
|
|
local base05 = hsl("#f5ecea")
|
|
local base06 = hsl("#fefefe")
|
|
local base07 = hsl("#eb8a65")
|
|
local base08 = hsl("#d03e68")
|
|
local base09 = hsl("#df937a")
|
|
local base0A = hsl("#afa644")
|
|
local base0B = hsl("#85b26e")
|
|
local base0C = hsl("#eb914a")
|
|
local base0D = hsl("#c67f62")
|
|
local base0E = hsl("#8b7ab9")
|
|
local base0F = hsl("#7f3F83")
|
|
|
|
--[[
|
|
|
|
Define additional colors if defined in the theme. Fallback to base00 - base07
|
|
if not defined.
|
|
|
|
]]
|
|
|
|
vim.g.terminal_color_0 = base00.hex
|
|
vim.g.terminal_color_1 = base08.hex
|
|
vim.g.terminal_color_2 = base0B.hex
|
|
vim.g.terminal_color_3 = base0A.hex
|
|
vim.g.terminal_color_4 = base0D.hex
|
|
vim.g.terminal_color_5 = base0E.hex
|
|
vim.g.terminal_color_6 = base0C.hex
|
|
vim.g.terminal_color_7 = base05.hex
|
|
vim.g.terminal_color_8 = base03.hex
|
|
vim.g.terminal_color_9 = base08.hex
|
|
vim.g.terminal_color_10 = base0B.hex
|
|
vim.g.terminal_color_11 = base0A.hex
|
|
vim.g.terminal_color_12 = base0D.hex
|
|
vim.g.terminal_color_13 = base0E.hex
|
|
vim.g.terminal_color_14 = base0C.hex
|
|
vim.g.terminal_color_15 = base07.hex
|
|
vim.g.terminal_color_background = base00.hex
|
|
vim.g.terminal_color_foreground = base0E.hex
|
|
|
|
return lush(function()
|
|
return {
|
|
Normal({ fg = base05, bg = base00 }),
|
|
NormalFloat({ fg = Normal.fg.saturate(15).lighten(5), bg = Normal.bg.saturate(15).lighten(5) }),
|
|
Bold({ gui = "bold" }),
|
|
Debug({ fg = base08 }),
|
|
Directory({ fg = base0D }),
|
|
Error({ fg = base01, bg = base08 }),
|
|
ErrorMsg({ fg = base08 }),
|
|
Exception({ fg = base08 }),
|
|
FoldColumn({ fg = base03 }),
|
|
Folded({ fg = base03, bg = base01 }),
|
|
Italic({ gui = "italic" }),
|
|
Macro({ fg = base08 }),
|
|
ModeMsg({ fg = base0B }),
|
|
MoreMsg({ fg = base0B }),
|
|
Question({ fg = base0D }),
|
|
Search({ fg = base00, bg = base04 }),
|
|
IncSearch({ fg = base00, bg = base09 }),
|
|
Substitute({ fg = base01, bg = base0A }),
|
|
SpecialKey({ fg = base03 }),
|
|
TooLong({ fg = base08 }),
|
|
Underlined({ fg = base08 }),
|
|
WarningMsg({ fg = base08 }),
|
|
WildMenu({ fg = base08, bg = base0A }),
|
|
Title({ fg = base0D }),
|
|
Conceal({ fg = base0D }),
|
|
Cursor({ fg = base00, bg = base05 }),
|
|
NonText({ fg = base03 }),
|
|
LineNr({ fg = base02.lighten(25), bg = base00 }),
|
|
LineNrNC({ fg = base02.lighten(25), bg = base01 }),
|
|
SignColumn({ fg = base01.lighten(40) }),
|
|
StatusLine({ fg = base02, bg = base01.darken(60) }),
|
|
StatusLineNC({ fg = base02, bg = base01.darken(30) }),
|
|
VertSplit({ fg = base02, bg = base00 }),
|
|
ColorColumn({ fg = base01.lighten(25), bg = base01.darken(25) }),
|
|
CursorLine({ bg = base01.saturate(-5).darken(15) }),
|
|
CursorColumn({ CursorLine }),
|
|
CursorLineNr({ fg = base0A, CursorColumn }),
|
|
Visual({ CursorColumn, fg = base03.lighten(15) }),
|
|
VisualNOS({ fg = base08 }),
|
|
QuickFixLine({ bg = base00 }),
|
|
QFFileName({ fg = base0A }),
|
|
QFLineNr({ fg = base04 }),
|
|
PMenu({ fg = base05, bg = base01 }),
|
|
PMenuSel({ fg = base01, bg = base05 }),
|
|
TabLineSel({ fg = base00, bg = base0A }),
|
|
TabLine({ fg = base03, bg = base00.darken(15) }),
|
|
TabLineFill({ fg = base03, bg = base00.darken(25) }),
|
|
EndOfBuffer({ fg = base01.lighten(20), bg = base01.darken(20) }),
|
|
|
|
-- Standard syntax highlighting
|
|
Boolean({ fg = base09 }),
|
|
Character({ fg = base08 }),
|
|
Comment({ fg = base03, gui = "italic" }),
|
|
Conditional({ fg = base0E }),
|
|
Constant({ fg = base09 }),
|
|
Define({ fg = base0E }),
|
|
Delimiter({ fg = base0F.lighten(10) }),
|
|
Float({ fg = base09 }),
|
|
Function({ fg = base0D }),
|
|
Identifier({ fg = base0A }),
|
|
Include({ fg = base0D }),
|
|
Keyword({ fg = base0E }),
|
|
Label({ fg = base0A }),
|
|
Number({ fg = base03 }),
|
|
Operator({ fg = base03 }),
|
|
PreProc({ fg = base0A }),
|
|
Repeat({ fg = base0A }),
|
|
Special({ fg = base0C }),
|
|
SpecialChar({ fg = base0F.lighten(15).saturate(10) }),
|
|
Statement({ fg = base08 }),
|
|
StorageClass({ fg = base0A }),
|
|
String({ fg = base0B }),
|
|
Structure({ fg = base0E }),
|
|
Tag({ fg = base0A }),
|
|
Todo({ fg = base0A, bg = base01 }),
|
|
Type({ fg = base0A }),
|
|
Typedef({ fg = base0A }),
|
|
|
|
---
|
|
-- Extra definitions
|
|
---
|
|
|
|
-- Help
|
|
HelpDoc({ fg = base05, bg = base0D, gui = "bold,italic" }),
|
|
HelpIgnore({ fg = base0B, gui = "bold,italic" }),
|
|
|
|
-- C highlighting
|
|
cOperator({ fg = base0C }),
|
|
cPreCondit({ fg = base0E }),
|
|
|
|
-- C# highlighting
|
|
csClass({ fg = base0A }),
|
|
csAttribute({ fg = base0A }),
|
|
csModifier({ fg = base0E }),
|
|
csType({ fg = base08 }),
|
|
csUnspecifiedStatement({ fg = base0D }),
|
|
csContextualStatement({ fg = base0E }),
|
|
csNewDecleration({ fg = base08 }),
|
|
|
|
-- CSS highlighting
|
|
cssBraces({ fg = base05 }),
|
|
cssClassName({ fg = base0E }),
|
|
cssColor({ fg = base0C }),
|
|
|
|
-- Diff highlighting
|
|
DiffAdd({ fg = base0B, bg = base0B.darken(80) }),
|
|
DiffAdded({ fg = base0B, bg = base0B.darken(80) }),
|
|
DiffNewFile({ fg = base0B, bg = base0B.darken(80) }),
|
|
|
|
DiffDelete({ fg = base08, bg = base08.darken(80) }),
|
|
DiffRemoved({ fg = base08, bg = base08.darken(80) }),
|
|
|
|
DiffChange({ fg = base03, bg = base03.darken(60) }),
|
|
DiffFile({ fg = base03, bg = base03.darken(60) }),
|
|
DiffLine({ fg = base03, bg = base03.darken(60) }),
|
|
DiffText({ fg = base03, bg = base03.darken(60) }),
|
|
|
|
-- Git highlighting
|
|
gitcommitOverflow({ fg = base08 }),
|
|
gitcommitSummary({ fg = base0B }),
|
|
gitcommitComment({ fg = base03 }),
|
|
gitcommitUntracked({ fg = base03 }),
|
|
gitcommitDiscarded({ fg = base03 }),
|
|
gitcommitSelected({ fg = base03 }),
|
|
gitcommitHeader({ fg = base0E }),
|
|
gitcommitSelectedType({ fg = base0D }),
|
|
gitcommitUnmergedType({ fg = base0D }),
|
|
gitcommitDiscardedType({ fg = base0D }),
|
|
gitcommitBranch({ fg = base09, gui = "bold" }),
|
|
gitcommitUntrackedFile({ fg = base0A }),
|
|
gitcommitUnmergedFile({ fg = base08, gui = "bold" }),
|
|
gitcommitDiscardedFile({ fg = base08, gui = "bold" }),
|
|
gitcommitSelectedFile({ fg = base0B, gui = "bold" }),
|
|
|
|
-- GitGutter highlighting
|
|
GitGutterAdd({ fg = base0B, bg = base01 }),
|
|
GitGutterChange({ fg = base0D, bg = base01 }),
|
|
GitGutterDelete({ fg = base08, bg = base01 }),
|
|
GitGutterChangeDelete({ fg = base0E, bg = base01 }),
|
|
|
|
-- HTML highlighting
|
|
htmlBold({ fg = base0A }),
|
|
htmlItalic({ fg = base0E }),
|
|
htmlEndTag({ fg = base05 }),
|
|
htmlTag({ fg = base05 }),
|
|
|
|
-- JavaScript highlighting
|
|
javaScript({ fg = base05 }),
|
|
javaScriptBraces({ fg = base05 }),
|
|
javaScriptNumber({ fg = base09 }),
|
|
|
|
-- pangloss/vim-javascript highlighting
|
|
jsOperator({ fg = base0D }),
|
|
jsStatement({ fg = base0E }),
|
|
jsReturn({ fg = base0E }),
|
|
jsThis({ fg = base08 }),
|
|
jsClassDefinition({ fg = base0A }),
|
|
jsFunction({ fg = base0E }),
|
|
jsFuncName({ fg = base0D }),
|
|
jsFuncCall({ fg = base0D }),
|
|
jsClassFuncName({ fg = base0D }),
|
|
jsClassMethodType({ fg = base0E }),
|
|
jsRegexpString({ fg = base0C }),
|
|
jsGlobalObjects({ fg = base0A }),
|
|
jsGlobalNodeObjects({ fg = base0A }),
|
|
jsExceptions({ fg = base0A }),
|
|
jsBuiltins({ fg = base0A }),
|
|
|
|
-- Mail highlighting
|
|
mailQuoted1({ fg = base0A }),
|
|
mailQuoted2({ fg = base0B }),
|
|
mailQuoted3({ fg = base0E }),
|
|
mailQuoted4({ fg = base0C }),
|
|
mailQuoted5({ fg = base0D }),
|
|
mailQuoted6({ fg = base0A }),
|
|
mailURL({ fg = base0D }),
|
|
mailEmail({ fg = base0D }),
|
|
|
|
-- Markdown highlighting
|
|
markdownh1({ fg = base0D, gui = "bold" }),
|
|
markdownh2({ fg = base0D, gui = "bold" }),
|
|
markdownh3({ fg = base0D, gui = "bold" }),
|
|
markdownh4({ fg = base0D, gui = "bold" }),
|
|
markdownh5({ fg = base0D, gui = "bold" }),
|
|
markdownh6({ fg = base0A, gui = "bold" }),
|
|
markdownRule({ fg = markdownh2.bg, gui = "bold" }),
|
|
markdownItalic({ fg = base05, gui = "italic" }),
|
|
markdownBold({ fg = base05, gui = "bold" }),
|
|
markdownBoldItalic({ fg = base05, gui = "bold,italic" }),
|
|
markdownCodeDelimiter({ fg = base0B, gui = "bold" }),
|
|
markdownCode({ fg = base07, bg = base00 }),
|
|
markdownCodeBlock({ fg = base0B }),
|
|
markdownFootnoteDefinition({ fg = base05, gui = "italic" }),
|
|
markdownListMarker({ fg = base05, gui = "bold" }),
|
|
markdownLineBreak({ fg = base08, gui = "underline" }),
|
|
markdownError({ fg = base05, bg = base00 }),
|
|
markdownHeadingDelimiter({ fg = base0D }),
|
|
markdownUrl({ fg = base09 }),
|
|
markdownFootnote({ fg = base0E, gui = "italic" }),
|
|
markdownBlockquote({ fg = base0C, gui = "bold" }),
|
|
markdownLinkText({ fg = base08, gui = "italic" }),
|
|
|
|
-- NERDTree highlighting
|
|
NERDTreeDirSlash({ fg = base0D }),
|
|
NERDTreeExecFile({ fg = base05 }),
|
|
|
|
-- PHP highlighting
|
|
phpMemberSelector({ fg = base05 }),
|
|
phpComparison({ fg = base05 }),
|
|
phpParent({ fg = base05 }),
|
|
phpMethodsVar({ fg = base0C }),
|
|
|
|
-- Python highlighting
|
|
pythonOperator({ fg = base0E }),
|
|
pythonRepeat({ fg = base0E }),
|
|
pythonInclude({ fg = base0E }),
|
|
pythonStatement({ fg = base0E }),
|
|
|
|
-- Ruby highlighting
|
|
rubyAttribute({ fg = base0D }),
|
|
rubyConstant({ fg = base0A }),
|
|
rubyInterpolationDelimiter({ fg = base0F }),
|
|
rubyRegexp({ fg = base0C }),
|
|
rubySymbol({ fg = base0B }),
|
|
rubyStringDelimiter({ fg = base0B }),
|
|
|
|
-- SASS highlighting
|
|
sassidChar({ fg = base08 }),
|
|
sassClassChar({ fg = base09 }),
|
|
sassInclude({ fg = base0E }),
|
|
sassMixing({ fg = base0E }),
|
|
sassMixinName({ fg = base0D }),
|
|
|
|
-- Spelling highlighting
|
|
SpellBad({ gui = "undercurl" }), --, base08)
|
|
SpellLocal({ gui = "undercurl" }), --, base0C)
|
|
SpellCap({ gui = "undercurl" }), --, base0D)
|
|
SpellRare({ gui = "undercurl" }), --, base0E)
|
|
|
|
-- Startify highlighting
|
|
StartifyBracket({ fg = base03 }),
|
|
StartifyFile({ fg = base07 }),
|
|
StartifyFooter({ fg = base03 }),
|
|
StartifyHeader({ fg = base0B }),
|
|
StartifyNumber({ fg = base09 }),
|
|
StartifyPath({ fg = base03 }),
|
|
StartifySection({ fg = base0E }),
|
|
StartifySelect({ fg = base0C }),
|
|
StartifySlash({ fg = base03 }),
|
|
StartifySpecial({ fg = base03 }),
|
|
|
|
-- Java highlighting
|
|
javaOperator({ fg = base0D }),
|
|
|
|
-- Telescope highlighting
|
|
TelescopeNormal({ fg = base05, bg = base01 }),
|
|
TelescopeBorder({ fg = base00, bg = base01 }),
|
|
TelescopePromptPrefix({ fg = base0A, bg = base01 }),
|
|
TelescopeMatching({ fg = base0D, bg = base01 }),
|
|
TelescopeSelection({ fg = base0A, bg = base01 }),
|
|
TelescopeSelectionCaret({ fg = base0A, bg = base01 }),
|
|
|
|
--LSP highlighting
|
|
LspDiagnosticsDefaultError({ fg = base08 }),
|
|
LspDiagnosticsDefaultWarning({ fg = base09 }),
|
|
LspDiagnosticsDefaultHint({ fg = base0A }),
|
|
LspDiagnosticsDefaultInformation({ fg = base0B }),
|
|
|
|
-- XML highlighting
|
|
xmlTagName({ fg = base0D }),
|
|
xmlCdatastart({ fg = base0A }),
|
|
xmlEndTag({ fg = xmlTagName.bg }),
|
|
xmlCdataCdata({ fg = xmlCdatastart.bg }),
|
|
|
|
-- MatchParen
|
|
MatchParen({ fg = base07, bg = base08 }),
|
|
|
|
-- CodeQL
|
|
CodeqlAstFocus({ fg = base00, bg = base03 }),
|
|
|
|
-- TreeSitter
|
|
TSError({ fg = Error.bg, gui = "bold" }),
|
|
TSPunctDelimiter({ fg = base05 }),
|
|
TSPunctBracket({ fg = base05 }),
|
|
TSConstant({ fg = Constant.fg }),
|
|
TSConstBuiltin({ fg = Constant.fg }),
|
|
TSConstMacro({ fg = Constant.fg }),
|
|
TSString({ fg = String.fg }),
|
|
TSStringRegex({ fg = base03 }),
|
|
TSStringEscape({ fg = base03 }),
|
|
TSCharacter({ fg = Character.fg }),
|
|
TSNumber({ fg = Number.fg }),
|
|
TSBoolean({ fg = Boolean.fg }),
|
|
TSFloat({ fg = Number.fg }),
|
|
TSFunction({ fg = Function.fg }),
|
|
TSFuncBuiltin({ fg = Function.fg }),
|
|
TSFuncMacro({ fg = Function.fg }),
|
|
TSParameter({ fg = base0D }),
|
|
TSConstructor({ fg = base0E }),
|
|
TSKeywordFunction({ fg = base0E }),
|
|
TSLiteral({ fg = base04, gui = "bold" }),
|
|
TSVariable({ fg = base03.lighten(25) }),
|
|
TSVariableBuiltin({ fg = base0E }),
|
|
TSParameterReference({ fg = TSParameter.fg }),
|
|
TSMethod({ fg = Function.fg }),
|
|
TSConditional({ fg = Conditional.fg }),
|
|
TSRepeat({ fg = Repeat.fg }),
|
|
TSLabel({ fg = Label.fg }),
|
|
TSOperator({ fg = Operator.fg }),
|
|
TSKeyword({ fg = Keyword.fg }),
|
|
TSException({ fg = Exception.fg }),
|
|
TSType({ fg = Type.fg }),
|
|
TSTypeBuiltin({ fg = Type.fg }),
|
|
TSStructure({ fg = Structure.fg }),
|
|
TSInclude({ fg = Include.fg }),
|
|
TSAnnotation({ fg = base03 }),
|
|
TSStrong({ fg = base05, bg = base00, gui = "bold" }),
|
|
TSTitle({ fg = base0D }),
|
|
|
|
-- Diff highlighting
|
|
GitSignsAdd({ fg = base0B }),
|
|
GitSignsDelete({ fg = base08 }),
|
|
GitSignsChange({ fg = base03 }),
|
|
|
|
-- Indent-Blank-Lines
|
|
IndentGuide({ fg = base01, bg = base05 }),
|
|
}
|
|
end)
|