dotfiles/nvim/lua/lush_theme/fds-theme.lua

398 lines
13 KiB
Lua
Raw Normal View History

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 ?>
]]--
local base00 = hsl('#2b221f')
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
IndentGuide { fg = base01 },
}
end)