2021-11-16 11:55:36 +00:00
|
|
|
-- CREDITS: pwntester/nautilus.nvim
|
|
|
|
local lush = require('lush')
|
2022-01-11 14:20:38 +00:00
|
|
|
local hsl = lush.hsluv
|
2021-11-16 11:55:36 +00:00
|
|
|
|
|
|
|
--[[
|
|
|
|
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 ?>
|
|
|
|
]]--
|
|
|
|
|
2022-07-05 00:18:19 +00:00
|
|
|
local base00 = hsl('#27221f')
|
2021-11-16 11:55:36 +00:00
|
|
|
local base01 = hsl('#412c26')
|
|
|
|
local base02 = hsl('#54352c')
|
|
|
|
local base03 = hsl('#8d5c4c')
|
|
|
|
local base04 = hsl('#e1bcb2')
|
|
|
|
local base05 = hsl('#f5ecea')
|
|
|
|
local base06 = hsl('#fefefe')
|
|
|
|
local base07 = hsl('#eb8a65')
|
|
|
|
local base08 = hsl('#d03e68')
|
|
|
|
local base09 = hsl('#eb914a')
|
|
|
|
local base0A = hsl('#afa644')
|
|
|
|
local base0B = hsl('#85b26e')
|
|
|
|
local base0C = hsl('#df937a')
|
|
|
|
local base0D = hsl('#a15c40')
|
|
|
|
local base0E = hsl('#8b7ab9')
|
2022-04-04 14:01:49 +00:00
|
|
|
local base0F = hsl('#7f3F83')
|
2021-11-16 11:55:36 +00:00
|
|
|
|
|
|
|
--[[
|
|
|
|
|
|
|
|
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
|
|
|
|
|
2022-01-11 14:20:38 +00:00
|
|
|
return lush(function()
|
|
|
|
return {
|
2021-11-16 11:55:36 +00:00
|
|
|
Normal { fg = base05, bg = base00 },
|
2022-01-11 14:20:38 +00:00
|
|
|
NormalFloat { fg = Normal.fg.saturate(15).lighten(5), bg = Normal.bg.saturate(15).lighten(5) },
|
2021-11-16 11:55:36 +00:00
|
|
|
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 },
|
2022-01-11 14:20:38 +00:00
|
|
|
LineNr { fg = base02.lighten(25), bg = base00 },
|
|
|
|
LineNrNC { fg = base02.lighten(25), bg = base01 },
|
2022-04-04 14:01:49 +00:00
|
|
|
SignColumn { fg = base01.lighten(40) },
|
|
|
|
StatusLine { fg = base02, bg = base01.darken(60) },
|
|
|
|
StatusLineNC { fg = base02, bg = base01.darken(30) },
|
2021-11-16 11:55:36 +00:00
|
|
|
VertSplit { fg = base02, bg = base00 },
|
2022-01-11 14:20:38 +00:00
|
|
|
ColorColumn { fg = base01.lighten(25), bg = base01.darken(25) },
|
2022-04-04 14:01:49 +00:00
|
|
|
CursorLine { bg = base01.saturate(-5).darken(15) },
|
2022-01-11 14:20:38 +00:00
|
|
|
CursorColumn { CursorLine },
|
|
|
|
CursorLineNr { fg = base0A, CursorColumn },
|
|
|
|
Visual { CursorColumn, fg = base03.lighten(15) },
|
|
|
|
VisualNOS { fg = base08 },
|
2021-11-16 11:55:36 +00:00
|
|
|
QuickFixLine { bg = base00 },
|
|
|
|
QFFileName { fg = base0A },
|
|
|
|
QFLineNr { fg = base04 },
|
|
|
|
PMenu { fg = base05, bg = base01 },
|
|
|
|
PMenuSel { fg = base01, bg = base05 },
|
|
|
|
TabLineSel { fg = base00, bg = base0A },
|
2022-01-11 14:20:38 +00:00
|
|
|
TabLine { fg = base03, bg = base00.darken(15) },
|
|
|
|
TabLineFill { fg = base03, bg = base00.darken(25) },
|
|
|
|
EndOfBuffer { fg = base01.lighten(20), bg = base01.darken(20) },
|
2021-11-16 11:55:36 +00:00
|
|
|
|
|
|
|
|
|
|
|
-- Standard syntax highlighting
|
|
|
|
Boolean { fg = base09 },
|
|
|
|
Character { fg = base08 },
|
|
|
|
Comment { fg = base03, gui = "italic" },
|
|
|
|
Conditional { fg = base0E },
|
|
|
|
Constant { fg = base09 },
|
|
|
|
Define { fg = base0E },
|
2022-04-04 14:01:49 +00:00
|
|
|
Delimiter { fg = base0F.lighten(10) },
|
2021-11-16 11:55:36 +00:00
|
|
|
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 },
|
2022-04-04 14:01:49 +00:00
|
|
|
SpecialChar { fg = base0F.lighten(15).saturate(10) },
|
2021-11-16 11:55:36 +00:00
|
|
|
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' },
|
2022-04-04 14:01:49 +00:00
|
|
|
TSVariable { fg = base03.lighten(25) },
|
2021-11-16 11:55:36 +00:00
|
|
|
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
|
2022-07-05 00:18:19 +00:00
|
|
|
IndentGuide { fg = base01, bg = base05 },
|
2021-11-16 11:55:36 +00:00
|
|
|
}
|
|
|
|
end)
|