nvim: Drop our yolokai theme and use default
This commit is contained in:
parent
a36d7279f5
commit
07f81f1496
3 changed files with 0 additions and 856 deletions
|
@ -1,697 +0,0 @@
|
|||
lua << EOF
|
||||
vim.g.colors_name = 'yolokai'
|
||||
|
||||
local white = { '#E6E6E6', 252, 'white' }
|
||||
local white2 = { '#FFFFFF', 250, 'white2' }
|
||||
local black = { '#000000', 234, 'black' }
|
||||
local lightblack = { '#181818', 235, 'lightblack' }
|
||||
local lightblack2 = { '#383A3E', 236, 'lightblack2' }
|
||||
local lightblack3 = { '#3F4145', 237, 'lightblack3' }
|
||||
local darkblack = { '#211F1C', 233, 'darkblack' }
|
||||
local grey = { '#8F908A', 243, 'grey' }
|
||||
local lightgrey = { '#575b61', 237, 'lightgrey' }
|
||||
local darkgrey = { '#64645E', 239, 'darkgrey' }
|
||||
local warmgrey = { '#A6A185', 59, 'warmgrey' }
|
||||
|
||||
local pink = { '#F92772', 197, 'pink' }
|
||||
local green = { '#3ECF5B', 148, 'green' }
|
||||
local darkgreen = { '#17E640', 83, 'darkgreen' }
|
||||
local aqua = { '#0BA6DA', 81, 'aqua' }
|
||||
local yellow = { '#CFCF17', 186, 'yellow' }
|
||||
local orange = { '#FD9720', 208, 'orange' }
|
||||
local purple = { '#AE81FF', 141, 'purple' }
|
||||
local red = { '#CF1745', 196, 'red' }
|
||||
local purered = { '#FF0000', 52, 'purered' }
|
||||
local darkred = { '#FF1A53', 52, 'darkred' }
|
||||
|
||||
-- This is the only highlight that must be defined separately.
|
||||
local highlight_group_normal = {bg=black, fg=white}
|
||||
|
||||
-- This is where the rest of your highlights should go.
|
||||
local highlight_groups = {
|
||||
--[[ 4.1. Text Analysis ]]
|
||||
EndOfBuffer = 'NonText' ,
|
||||
Whitespace = 'NonText' ,
|
||||
Comment = { fg=white2 , style='italic' },
|
||||
NonText = { fg=lightgrey },
|
||||
|
||||
--[[ 4.1.1. Literals]]
|
||||
Constant = { fg=purple },
|
||||
String = { fg=yellow },
|
||||
Character = { fg=yellow },
|
||||
Number = { fg=purple },
|
||||
Boolean = { fg=purple },
|
||||
Float = 'Number' ,
|
||||
|
||||
--[[ 4.1.2. Identifiers]]
|
||||
Identifier = { fg=green },
|
||||
Function = { fg=darkgreen },
|
||||
|
||||
--[[ 4.1.3. Syntax]]
|
||||
Repeat = 'Keyword',
|
||||
Noise = 'Delimiter',
|
||||
Statement = { fg=pink },
|
||||
Conditional = { fg=pink, style='italic' },
|
||||
Label = { fg=pink, style='italic' },
|
||||
Operator = { fg=pink },
|
||||
Keyword = { fg=pink, style='bold' },
|
||||
Exception = { fg=red, style='bold' },
|
||||
|
||||
--[[ 4.1.4. Metatextual Information]]
|
||||
PreProc = { fg=green },
|
||||
Include = { fg=pink, style='nocombine' },
|
||||
Define = { fg=pink, style='nocombine' },
|
||||
Macro = { fg=orange, style={'bold', 'nocombine' }},
|
||||
PreCondit = { fg=green, style='nocombine' },
|
||||
|
||||
--[[ 4.1.5. Semantics]]
|
||||
Type = { fg=aqua },
|
||||
StorageClass = { fg=aqua, style='bold' },
|
||||
Structure = { fg=aqua, style='bold' },
|
||||
Typedef = { fg=aqua, style='italic' },
|
||||
|
||||
--[[ 4.1.6. Edge Cases]]
|
||||
SpecialChar = 'Character' ,
|
||||
SpecialKey = 'Character' ,
|
||||
Tag = 'Underlined',
|
||||
Special = { fg=purple },
|
||||
Delimiter = { fg=red },
|
||||
-- SpecialComment affects Haskell Language Extension
|
||||
SpecialComment = { fg=orange , style={'bold', 'nocombine'}},
|
||||
Debug = 'WarningMsg',
|
||||
|
||||
--[[ 4.1.7. Help Syntax]]
|
||||
Ignore = { fg=gray },
|
||||
Error = { bg=black , fg=red },
|
||||
Underlined = { fg=green , style='underline' },
|
||||
Todo = { fg=orange, style={'bold', 'underline' }},
|
||||
Hint = { bg=black , fg=white, style='bold' },
|
||||
Info = { bg=orange, fg=black, style='bold' },
|
||||
Warning = { bg=pink , fg=black, style='bold' },
|
||||
|
||||
--[[ 4.2... Editor UI ]]
|
||||
--[[ 4.2.1. Status Line]]
|
||||
StatusLine = { bg=black, fg=warmgrey },
|
||||
StatusLineNC = { bg=black, fg=darkgrey },
|
||||
StatusLineTerm = 'StatusLine' ,
|
||||
StatusLineTermNC = 'StatusLineNC',
|
||||
|
||||
--[[ 4.2.2. Separators]]
|
||||
WinSeparator= { bg=darkblack, fg=darkgrey },
|
||||
TabLine = { bg=darkblack, fg=white },
|
||||
TabLineFill = { fg=white },
|
||||
TabLineSel = { bg=darkgrey, fg=white, style='inverse' },
|
||||
Title = { style='bold' },
|
||||
|
||||
--[[ 4.2.3. Conditional Line Highlighting]]
|
||||
--Conceal={}
|
||||
debugBreakpoint = 'ErrorMsg' ,
|
||||
debugPC = 'ColorColumn',
|
||||
CursorLine = { bg=lightblack2 },
|
||||
CursorLineNr = { bg=lightblack, fg=orange },
|
||||
LineNr = { bg=black, fg=grey },
|
||||
QuickFixLine = { bg=darkgrey },
|
||||
Visual = { style='inverse' },
|
||||
VisualNOS = { bg=darkgrey },
|
||||
|
||||
--[[ 4.2.4. Popup Menu]]
|
||||
Pmenu = { bg=black, fg=aqua },
|
||||
PmenuSbar = { bg=black },
|
||||
PmenuSel = { bg=warmgrey, fg=white, style='bold' },
|
||||
PmenuThumb = { bg=grey, fg=lightblack },
|
||||
WildMenu = {},
|
||||
|
||||
--[[ 4.2.5. Folds]]
|
||||
FoldColumn = { bg=darkblack, style='bold' },
|
||||
Folded = { bg=darkblack, fg=warmgrey, style='italic' },
|
||||
|
||||
--[[ 4.2.6. Diffs]]
|
||||
DiffAdd = { bg=black, fg=darkgreen },
|
||||
DiffChange = { bg=black, fg=yellow },
|
||||
DiffDelete = { bg=black, fg=red },
|
||||
DiffText = { bg=black },
|
||||
|
||||
--[[ 4.2.7. Searching]]
|
||||
IncSearch = { style='inverse' },
|
||||
Search = { bg=yellow,fg=black, style={'underline', color=white }},
|
||||
CurSearch = { bg=pink, fg=black, style={'underline', color=white }},
|
||||
MatchParen = { fg=orange, style={'bold', 'underline' }},
|
||||
|
||||
--[[ 4.2.8. Spelling]]
|
||||
SpellBad = { style={'undercurl', color=red }},
|
||||
SpellCap = { style={'undercurl', color=purple }},
|
||||
SpellLocal = { style={'undercurl', color=pink }},
|
||||
SpellRare = { style={'undercurl', color=aqua }},
|
||||
|
||||
--[[ 4.2.9. Conditional Column Highlighting]]
|
||||
ColorColumn = { bg=lightblack },
|
||||
SignColumn = { bg=black },
|
||||
|
||||
--[[ 4.2.10. Messages]]
|
||||
ErrorMsg = { bg=black, fg=red },
|
||||
HintMsg = { bg=black, fg=purple, style='bold' },
|
||||
InfoMsg = { bg=black, fg=orange, style='bold' },
|
||||
ModeMsg = { bg=black, fg=yellow },
|
||||
WarningMsg = { bg=black, fg=pink, style='bold' },
|
||||
Question = { bg=black, fg=yellow, style='underline' },
|
||||
|
||||
--[[ 4.2.11. Diagnostics ]]
|
||||
DiagnosticError = 'ErrorMsg' ,
|
||||
DiagnosticWarn = 'WarningMsg',
|
||||
DiagnosticInfo = 'InfoMsg' ,
|
||||
DiagnosticHint = 'HintMsg' ,
|
||||
|
||||
DiagnosticFloatingError = 'ErrorMsg' ,
|
||||
DiagnosticFloatingWarn = 'WarningMsg',
|
||||
DiagnosticFloatingInfo = 'InfoMsg' ,
|
||||
DiagnosticFloatingHint = 'HintMsg' ,
|
||||
|
||||
DiagnosticSignError = 'ErrorMsg' ,
|
||||
DiagnosticSignWarn = 'WarningMsg',
|
||||
DiagnosticSignInfo = 'InfoMsg' ,
|
||||
DiagnosticSignHint = 'HintMsg' ,
|
||||
|
||||
DiagnosticUnderlineError = {style={'undercurl', color=red }},
|
||||
DiagnosticUnderlineWarn = {style={'undercurl', color=pink }},
|
||||
DiagnosticUnderlineInfo = {style={'undercurl', color=orange }},
|
||||
DiagnosticUnderlineHint = {style={'undercurl', color=purple }},
|
||||
|
||||
DiagnosticVirtualTextError = 'ErrorMsg' ,
|
||||
DiagnosticVirtualTextWarn = 'WarningMsg',
|
||||
DiagnosticVirtualTextInfo = 'InfoMsg' ,
|
||||
DiagnosticVirtualTextHint = 'HintMsg' ,
|
||||
|
||||
--[[ 4.2.12. Cursor ]]
|
||||
CursorIM = 'Cursor',
|
||||
Cursor = { bg=white, fg=black, style='inverse' },
|
||||
CursorColumn = { bg=lightblack2 },
|
||||
|
||||
--[[ 4.2.13. Misc ]]
|
||||
Terminal = 'Normal',
|
||||
Directory = { fg=aqua, style='bold' },
|
||||
NormalFloat = { bg=black, fg=white },
|
||||
|
||||
--[[ 4.2.14. LSP Highlight ]]
|
||||
LspReferenceText = 'InfoMsg',
|
||||
LspReferenceRead = 'InfoMsg',
|
||||
LspReferenceWrite = 'InfoMsg',
|
||||
LspInlayHint = 'NonText',
|
||||
|
||||
--[[ 4.2.15. LSP (for Semantic Token highlighting) ]]
|
||||
['@lsp.type.boolean'] = '@boolean' ,
|
||||
['@lsp.type.character'] = '@character' ,
|
||||
['@lsp.type.class'] = '@type' ,
|
||||
['@lsp.mod.constant'] = '@constant' ,
|
||||
['@lsp.type.decorator'] = '@function' ,
|
||||
['@lsp.type.enum'] = '@type' ,
|
||||
['@lsp.type.enumMember'] = '@constant' ,
|
||||
['@lsp.type.float'] = '@float' ,
|
||||
['@lsp.type.function'] = '@function' ,
|
||||
['@lsp.type.interface'] = '@type' ,
|
||||
['@lsp.type.macro'] = '@macro' ,
|
||||
['@lsp.type.method'] = '@method' ,
|
||||
['@lsp.type.namespace'] = '@namespace' ,
|
||||
['@lsp.type.number'] = '@number' ,
|
||||
['@lsp.type.operator'] = '@operator' ,
|
||||
['@lsp.type.parameter'] = '@parameter' ,
|
||||
['@lsp.type.property'] = '@property' ,
|
||||
['@lsp.mod.readonly'] = '@lsp.mod.constant',
|
||||
['@lsp.type.string'] = '@string' ,
|
||||
['@lsp.type.struct'] = '@structure' ,
|
||||
['@lsp.type.type'] = '@type' ,
|
||||
['@lsp.type.variable'] = '@variable' ,
|
||||
['@lsp.typemod.type.readonly'] = '@lsp.type.type' ,
|
||||
|
||||
--[[ 4.3. Programming Languages
|
||||
Everything in this section is OPTIONAL. Feel free to remove everything
|
||||
here if you don't want to define it, or add more if there's something
|
||||
missing.
|
||||
]]
|
||||
|
||||
--[[ 4.3.1. C ]]
|
||||
cConstant = 'Constant',
|
||||
cCustomClass = 'Type' ,
|
||||
|
||||
--[[ 4.3.2. C++ ]]
|
||||
cppSTLexception = 'Exception',
|
||||
cppSTLnamespace = 'String' ,
|
||||
|
||||
--[[ 4.3.3 C# ]]
|
||||
csBraces = 'Delimiter',
|
||||
csClass = 'Structure',
|
||||
csClassType = 'Type',
|
||||
csContextualStatement = 'Conditional',
|
||||
csEndColon = 'Delimiter',
|
||||
csGeneric = 'Typedef',
|
||||
csInterpolation = 'Include',
|
||||
csInterpolationDelimiter = 'SpecialChar',
|
||||
csLogicSymbols = 'Operator',
|
||||
csModifier = 'Keyword',
|
||||
csNew = 'Operator',
|
||||
csNewType = 'Type',
|
||||
csParens = 'Delimiter',
|
||||
csPreCondit = 'PreProc',
|
||||
csQuote = 'Delimiter',
|
||||
csRepeat = 'Repeat',
|
||||
csStorage = 'StorageClass',
|
||||
csUnspecifiedStatement = 'Statement',
|
||||
csXmlTag = 'Define',
|
||||
csXmlTagName = 'Define',
|
||||
razorCode = 'PreProc',
|
||||
razorcsLHSMemberAccessOperator = 'Noise',
|
||||
razorcsRHSMemberAccessOperator = 'razorcsLHSMemberAccessOperator',
|
||||
razorcsStringDelimiter = 'razorhtmlValueDelimiter',
|
||||
razorcsTypeNullable = 'Special',
|
||||
razorcsUnaryOperatorKeyword = 'Operator',
|
||||
razorDelimiter = 'Delimiter',
|
||||
razorEventAttribute = 'PreCondit',
|
||||
razorFor = 'razorIf',
|
||||
razorhtmlAttribute = 'htmlArg',
|
||||
razorhtmlAttributeOperator = 'Operator',
|
||||
razorhtmlTag = 'htmlTag',
|
||||
razorhtmlValueDelimiter = 'Delimiter',
|
||||
razorIf = 'PreCondit',
|
||||
razorImplicitExpression = 'PreProc',
|
||||
razorLine = 'Constant',
|
||||
razorUsing = 'Include',
|
||||
|
||||
--[[ 4.3.4. CSS ]]
|
||||
cssAtRule = 'PreCondit',
|
||||
cssAttr = 'Keyword',
|
||||
cssAttrComma = 'Noise',
|
||||
cssAttrRegion = 'Keyword',
|
||||
cssBraces = 'Delimiter',
|
||||
cssClassName = 'Identifier',
|
||||
cssClassNameDot = 'Noise',
|
||||
cssFlexibleBoxAttr = 'cssAttr',
|
||||
cssFunctionComma = 'Noise',
|
||||
cssImportant = 'Exception',
|
||||
cssNoise = 'Noise',
|
||||
cssProp = 'Label',
|
||||
cssPseudoClass = 'Special',
|
||||
cssPseudoClassId = 'cssSelectorOp',
|
||||
cssSelectorOp = 'Operator',
|
||||
cssTagName = 'Structure',
|
||||
cssUnitDecorators = 'Type',
|
||||
scssAmpersand = 'Special',
|
||||
scssAttribute = 'Noise',
|
||||
scssBoolean = 'Boolean',
|
||||
scssDefault = 'Keyword',
|
||||
scssElse = 'scssIf',
|
||||
scssMixinName = function(self)
|
||||
local super = self.cssClassName
|
||||
return {bg = super.bg, fg=super.fg, style='italic'}
|
||||
end,
|
||||
scssIf = 'PreCondit',
|
||||
scssInclude = 'Include',
|
||||
scssSelectorChar = 'Delimiter',
|
||||
scssDefinition = 'PreProc',
|
||||
scssSelectorName = 'Identifier',
|
||||
scssVariable = 'Define',
|
||||
scssVariableAssignment = 'Operator',
|
||||
|
||||
--[[ 4.3.5. Dart ]]
|
||||
dartLibrary = 'Statement',
|
||||
|
||||
--[[ 4.3.6. dot ]]
|
||||
dotKeyChar = 'Character',
|
||||
dotType = 'Type' ,
|
||||
|
||||
--[[ 4.3.7. Go ]]
|
||||
goBlock = 'Delimiter' ,
|
||||
goBoolean = 'Boolean' ,
|
||||
goBuiltins = 'Operator' ,
|
||||
goField = 'Identifier',
|
||||
goFloat = 'Float' ,
|
||||
goFormatSpecifier = 'Character' ,
|
||||
goFunction = 'Function' ,
|
||||
goFunctionCall = 'goFunction',
|
||||
goFunctionReturn = {},
|
||||
goMethodCall = 'goFunctionCall',
|
||||
goParamType = 'goReceiverType',
|
||||
goPointerOperator = 'SpecialChar' ,
|
||||
goPredefinedIdentifiers = 'Constant' ,
|
||||
goReceiver = 'goBlock' ,
|
||||
goReceiverType = 'goTypeName' ,
|
||||
goSimpleParams = 'goBlock' ,
|
||||
goType = 'Type' ,
|
||||
goTypeConstructor = 'goFunction' ,
|
||||
goTypeName = 'Type' ,
|
||||
goVarAssign = 'Identifier' ,
|
||||
goVarDefs = 'goVarAssign' ,
|
||||
|
||||
--[[ 4.3.8. HTML ]]
|
||||
htmlArg = 'Label',
|
||||
htmlBold = { fg=lightgrey, style='bold' },
|
||||
htmlTitle = 'htmlBold',
|
||||
htmlEndTag = 'htmlTag',
|
||||
htmlH1 = 'markdownH1',
|
||||
htmlH2 = 'markdownH2',
|
||||
htmlH3 = 'markdownH3',
|
||||
htmlH4 = 'markdownH4',
|
||||
htmlH5 = 'markdownH5',
|
||||
htmlH6 = 'markdownH6',
|
||||
htmlItalic = { style='italic' },
|
||||
htmlSpecialTagName = 'Keyword',
|
||||
htmlTag = 'Special',
|
||||
htmlTagN = 'Typedef',
|
||||
htmlTagName = 'Type',
|
||||
|
||||
--[[ 4.3.9. Java ]]
|
||||
javaClassDecl = 'Structure',
|
||||
|
||||
--[[ 4.3.10. JavaScript ]]
|
||||
jsFuncBlock = 'Function' ,
|
||||
jsObjectKey = 'Type' ,
|
||||
jsReturn = 'Keyword' ,
|
||||
jsVariableDef = 'Identifier',
|
||||
|
||||
--[[ 4.3.11. JSON ]]
|
||||
jsonBraces = 'Structure',
|
||||
jsonKeywordMatch = 'Delimiter',
|
||||
jsonNull = 'Constant' ,
|
||||
jsonQuote = 'String' ,
|
||||
jsonString = 'Normal' ,
|
||||
jsonStringSQError = 'Exception',
|
||||
|
||||
--[[ 4.3.12. Make ]]
|
||||
makeCommands = 'Statment',
|
||||
makeSpecTarget = 'Type' ,
|
||||
|
||||
--[[ 4.3.13. Markdown ]]
|
||||
markdownH1 = { fg=green_dark, style='bold' },
|
||||
markdownH2 = { fg=red_light, style='bold' },
|
||||
markdownH3 = { fg=green, style='bold' },
|
||||
markdownH4 = { fg=purple, style='bold' },
|
||||
markdownH5 = { fg=orange, style='bold' },
|
||||
markdownH6 = { fg=yellow, style='bold' },
|
||||
mkdBold = 'SpecialComment' ,
|
||||
mkdCode = 'Keyword' ,
|
||||
mkdCodeDelimiter = 'mkdBold' ,
|
||||
mkdCodeStart = 'mkdCodeDelimiter',
|
||||
mkdCodeEnd = 'mkdCodeStart' ,
|
||||
mkdHeading = 'Delimiter' ,
|
||||
mkdItalic = 'mkdBold' ,
|
||||
mkdListItem = 'Special' ,
|
||||
mkdRule = 'Underlined' ,
|
||||
texMathMatcher = 'Number' ,
|
||||
texMathZoneX = 'Number' ,
|
||||
texMathZoneY = 'Number' ,
|
||||
|
||||
--[[ 4.3.14. Python ]]
|
||||
pythonBrackets = 'Delimiter' ,
|
||||
pythonBuiltinFunc = 'Operator' ,
|
||||
pythonBuiltinObj = 'Type' ,
|
||||
pythonBuiltinType = 'Type' ,
|
||||
pythonClass = 'Structure' ,
|
||||
pythonClassParameters = 'pythonParameters',
|
||||
pythonDecorator = 'PreProc' ,
|
||||
pythonDottedName = 'Identifier' ,
|
||||
pythonError = 'Error' ,
|
||||
pythonException = 'Exception' ,
|
||||
pythonInclude = 'Include' ,
|
||||
pythonIndentError = 'pythonError' ,
|
||||
pythonLambdaExpr = 'pythonOperator' ,
|
||||
pythonOperator = 'Operator' ,
|
||||
pythonParam = 'Identifier' ,
|
||||
pythonParameters = 'Delimiter' ,
|
||||
pythonSelf = 'Statement' ,
|
||||
pythonSpaceError = 'pythonError' ,
|
||||
pythonStatement = 'Statement' ,
|
||||
|
||||
--[[ 4.3.15. Ruby ]]
|
||||
rubyClass = 'Structure',
|
||||
rubyDefine = 'Define' ,
|
||||
rubyInterpolationDelimiter = 'Delimiter',
|
||||
|
||||
--[[ 4.3.16. Rust ]]
|
||||
rustAssert = 'Debug' ,
|
||||
rustConstraint = 'Operator' ,
|
||||
rustDynKeyword = 'rustStorage',
|
||||
rustGeneric = 'Delimiter' ,
|
||||
rustEscape = 'SpecialChar',
|
||||
rustIdentifier = 'Identifier' ,
|
||||
rustKeyword = 'Keyword' ,
|
||||
rustLifetime = 'Label' ,
|
||||
rustModPath = 'Include' ,
|
||||
rustNoise = 'Delimiter' ,
|
||||
rustPanic = 'Exception' ,
|
||||
rustRepeat = 'Repeat' ,
|
||||
rustScopeDecl = 'Delimiter' ,
|
||||
rustStructure = 'Structure' ,
|
||||
rustUnused = 'Special' ,
|
||||
|
||||
--[[ 4.3.17. Scala ]]
|
||||
scalaKeyword = 'Keyword' ,
|
||||
scalaNameDefinition = 'Identifier',
|
||||
|
||||
--[[ 4.3.18. shell ]]
|
||||
shDerefSimple = 'SpecialChar',
|
||||
shFunctionKey = 'Function' ,
|
||||
shLoop = 'Repeat' ,
|
||||
shParen = 'Delimiter' ,
|
||||
shQuote = 'Delimiter' ,
|
||||
shSet = 'Statement' ,
|
||||
shTestOpr = 'Debug' ,
|
||||
|
||||
--[[ 4.3.19. Solidity ]]
|
||||
solBuiltinType = 'Type' ,
|
||||
solContract = 'Typedef' ,
|
||||
solContractName = 'Function',
|
||||
|
||||
--[[ 4.3.20. TOML ]]
|
||||
tomlComment = 'Comment' ,
|
||||
tomlDate = 'Special' ,
|
||||
tomlFloat = 'Float' ,
|
||||
tomlKey = 'Label' ,
|
||||
tomlTable = 'StorageClass',
|
||||
|
||||
--[[ 4.3.21. VimScript ]]
|
||||
vimFgBgAttrib = 'Constant' ,
|
||||
vimHiCterm = 'Label' ,
|
||||
vimHiCtermFgBg = 'vimHiCterm',
|
||||
vimHiGroup = 'Typedef' ,
|
||||
vimHiGui = 'vimHiCterm',
|
||||
vimHiGuiFgBg = 'vimHiGui' ,
|
||||
vimHiKeyList = 'Operator' ,
|
||||
vimOption = 'Keyword' ,
|
||||
vimScriptDelim = 'Ignore' ,
|
||||
vimSet = 'String' ,
|
||||
vimSetEqual = 'Operator' ,
|
||||
vimSetSep = 'Delimiter' ,
|
||||
|
||||
--[[ 4.3.22. XML ]]
|
||||
xmlAttrib = 'Label' ,
|
||||
xmlEndTag = 'Exception',
|
||||
xmlEqual = 'Operator' ,
|
||||
xmlTag = 'Delimiter',
|
||||
xmlTagName = 'Define' ,
|
||||
|
||||
--[[ 4.3.23 Haskell ]]
|
||||
haskellType = 'Type' ,
|
||||
haskellIdentifier = 'Identifier',
|
||||
haskellOperators = 'Operator' ,
|
||||
haskellWhere = 'Keyword' ,
|
||||
haskellDelimiter = 'Delimiter' ,
|
||||
haskellImportKeywords = 'Include' ,
|
||||
haskellStatement = 'Statement' ,
|
||||
|
||||
--[[ 4.3.24 Lua ]]
|
||||
luaBraces = 'Structure',
|
||||
luaBrackets = 'Delimiter',
|
||||
luaBuiltin = 'Keyword',
|
||||
luaComma = 'Delimiter',
|
||||
luaFuncArgName = 'Identifier',
|
||||
luaFuncCall = 'Function',
|
||||
luaFuncId = 'luaNoise',
|
||||
luaFuncKeyword = 'Type',
|
||||
luaFuncName = 'Function',
|
||||
luaFuncParens = 'Delimiter',
|
||||
luaFuncTable = 'Structure',
|
||||
luaIn = 'luaRepeat',
|
||||
luaLocal = 'Type',
|
||||
luaNoise = 'Delimiter',
|
||||
luaParens = 'Delimiter',
|
||||
luaSpecialTable = 'Structure',
|
||||
luaSpecialValue = 'Function',
|
||||
luaStringLongTag = function(self)
|
||||
local delimiter = self.Delimiter
|
||||
return {bg = delimiter.bg, fg=delimiter.fg, style='italic'}
|
||||
end,
|
||||
|
||||
--[[ 4.3.25. SQL ]]
|
||||
sqlKeyword = 'Keyword' ,
|
||||
sqlParen = 'Delimiter',
|
||||
sqlSpecial = 'Constant' ,
|
||||
sqlStatement = 'Statement',
|
||||
sqlParenFunc = 'Function' ,
|
||||
|
||||
--[[ 4.3.26. dos INI ]]
|
||||
dosiniHeader = 'Title',
|
||||
dosiniLabel = 'Label',
|
||||
|
||||
--[[ 4.3.27. Crontab ]]
|
||||
crontabDay = 'StorageClass',
|
||||
crontabDow = 'String' ,
|
||||
crontabHr = 'Number' ,
|
||||
crontabMin = 'Float' ,
|
||||
crontabMnth = 'Structure' ,
|
||||
|
||||
--[[ 4.3.28. PlantUML ]]
|
||||
plantumlArrowLR = 'Statement',
|
||||
plantumlColonLine = {} ,
|
||||
plantumlMindmap = 'Label' ,
|
||||
plantumlMindmap2 = 'Label' ,
|
||||
|
||||
--[[ 4.3.33. YAML ]]
|
||||
yamlKey = 'Label',
|
||||
yamlBlockMappingKey = { bg=black, fg=red },
|
||||
yamlPlainScalar = { bg=black, fg=green },
|
||||
|
||||
--[[ 4.3.34. Git ]]
|
||||
diffAdded = 'DiffAdd' ,
|
||||
diffRemoved = 'DiffDelete' ,
|
||||
gitcommitHeader = 'SpecialComment' ,
|
||||
gitcommitDiscardedFile = 'gitcommitSelectedFile',
|
||||
gitcommitOverFlow = 'Error' ,
|
||||
gitcommitSelectedFile = 'Directory' ,
|
||||
gitcommitSummary = 'Title' ,
|
||||
gitcommitUntrackedFile = 'gitcommitSelectedFile',
|
||||
gitconfigAssignment = 'String' ,
|
||||
gitconfigEscape = 'SpecialChar' ,
|
||||
gitconfigNone = 'Operator' ,
|
||||
gitconfigSection = 'Structure' ,
|
||||
gitconfigVariable = 'Label' ,
|
||||
gitrebaseBreak = 'Keyword' ,
|
||||
gitrebaseCommit = 'Tag' ,
|
||||
gitrebaseDrop = 'Exception' ,
|
||||
gitrebaseEdit = 'Define' ,
|
||||
gitrebaseExec = 'PreProc' ,
|
||||
gitrebaseFixup = 'gitrebaseSquash' ,
|
||||
gitrebaseMerge = 'PreProc' ,
|
||||
gitrebasePick = 'Include' ,
|
||||
gitrebaseReset = 'gitrebaseLabel' ,
|
||||
gitrebaseReword = 'gitrebasePick' ,
|
||||
gitrebaseSquash = 'Macro' ,
|
||||
gitrebaseSummary = 'Normal' ,
|
||||
-- Needed for treesitter diff
|
||||
['@text.diff.add'] = 'DiffAdd' ,
|
||||
['@text.diff.delete'] = 'DiffDelete' ,
|
||||
|
||||
--[[ 4.3.35 Help ]]
|
||||
helpHeader = 'Label' ,
|
||||
helpOption = 'Keyword' ,
|
||||
helpHeadline = 'Title' ,
|
||||
helpSectionDelim = 'Delimiter' ,
|
||||
helpHyperTextJump = 'Underlined',
|
||||
|
||||
--[[ 4.4. Plugins
|
||||
Everything in this section is OPTIONAL. Feel free to remove everything
|
||||
here if you don't want to define it, or add more if there's something
|
||||
missing.
|
||||
]]
|
||||
--[[ 4.4.1. ALE ]]
|
||||
ALEErrorSign = 'ErrorMsg' ,
|
||||
ALEWarningSign = 'WarningMsg',
|
||||
|
||||
--[[ 4.4.2. vim-jumpmotion / vim-easymotion ]]
|
||||
EasyMotion = 'IncSearch' ,
|
||||
JumpMotion = 'EasyMotion',
|
||||
|
||||
--[[ 4.4.3. vim-markdown ]]
|
||||
htmlH1 = 'markdownH1',
|
||||
htmlH2 = 'markdownH2',
|
||||
htmlH3 = 'markdownH3',
|
||||
htmlH4 = 'markdownH4',
|
||||
htmlH5 = 'markdownH5',
|
||||
htmlH6 = 'markdownH6',
|
||||
|
||||
--[[ 4.4.4. vim-gitgutter / vim-signify ]]
|
||||
GitGutterAdd = { fg=green },
|
||||
GitGutterChange = { fg=yellow },
|
||||
GitGutterDelete = { fg=red },
|
||||
GitGutterChangeDelete = { fg=orange },
|
||||
|
||||
SignifySignAdd = 'GitGutterAdd' ,
|
||||
SignifySignChange = 'GitGutterChange' ,
|
||||
SignifySignDelete = 'GitGutterDelete' ,
|
||||
SignifySignChangeDelete = 'GitGutterChangeDelete',
|
||||
|
||||
--[[ 4.4.5. vim-indent-guides ]]
|
||||
IndentGuidesOdd = { bg=darkgrey },
|
||||
IndentGuidesEven = { bg=grey },
|
||||
|
||||
--[[ 4.4.7. NERDTree ]]
|
||||
NERDTreeCWD = 'Label' ,
|
||||
NERDTreeUp = 'Operator' ,
|
||||
NERDTreeDir = 'Directory' ,
|
||||
NERDTreeDirSlash = 'Delimiter' ,
|
||||
NERDTreeOpenable = 'NERDTreeDir' ,
|
||||
NERDTreeClosable = 'NERDTreeOpenable',
|
||||
NERDTreeExecFile = 'Function' ,
|
||||
NERDTreeLinkTarget = 'Tag' ,
|
||||
|
||||
--[[ 4.4.8 SearchLight ]]
|
||||
SearchLight = { bg=black, fg=orange, style={'bold', 'italic', 'underline' }},
|
||||
|
||||
--[[ 4.4.9 Sneak ]]
|
||||
Sneak = { bg=red, fg=black, style='bold' },
|
||||
SneakScope = { bg=black, fg=orange, style={'bold', 'underline' }},
|
||||
|
||||
--[[ 4.4.10 Which key ]]
|
||||
WhichKey = 'Function' ,
|
||||
WhichKeySeperator = {bg=black, fg=green},
|
||||
WhichKeyGroup = 'Keyword' ,
|
||||
WhichKeyDesc = {bg=black, fg=orange},
|
||||
WhichKeyFloating = 'Pmenu' ,
|
||||
|
||||
--[[ 4.4.11 conflict-marker ]]
|
||||
ConflictMarkerBegin = { bg=black, fg=purple },
|
||||
ConflictMarkerEnd = { bg=black, fg=purple },
|
||||
ConflictMarkerOurs = { bg=black, fg=green },
|
||||
ConflictMarkerTheirs = { bg=black, fg=red },
|
||||
ConflictMarkerCommonAncestorsHunk = { bg=black, fg=orange },
|
||||
|
||||
--[[ 4.4.12 hlslens ]]
|
||||
HlSearchLensCur = 'SearchLight',
|
||||
HlSearchLens = 'IncSearch',
|
||||
HlSearchCur = 'SearchLight',
|
||||
|
||||
--[[ 4.4.13 pandoc ]]
|
||||
pandocAtxHeader = { bg=black, fg=aqua },
|
||||
pandocAtxStart = { bg=black, fg=orange },
|
||||
pandocDelimitedCodeBlockStart = { bg=black, fg=green },
|
||||
pandocDelimitedCodeBlockEnd = { bg=black, fg=green },
|
||||
pandocDelimitedCodeBlockLanguage = 'Comment',
|
||||
pandocListItemBullet = { bg=black, fg=purple },
|
||||
pandocUListItemBullet = { bg=black, fg=purple },
|
||||
pandocReferenceURL = { bg=black, fg=pink, style={'underline' }},
|
||||
pandocReferenceDefinition = { bg=black, fg=aqua, style={'bold' }},
|
||||
pandocEmphasis = { bg=black, fg=purple, style={'italic' }},
|
||||
pandocStrong = { bg=black, fg=purple, style={'bold' }},
|
||||
pandocStrongEmphasis = { bg=black, fg=purple, style={'bold', 'italic' }},
|
||||
pandocStrongInEmphasis = 'pandocStrongEmphasis',
|
||||
pandocEmphasisInStrong = 'pandocStrongEmphasis',
|
||||
|
||||
--[[ 4.4.14 Hop ]]
|
||||
HopNextKey = { bg=red , fg=black , style='bold' },
|
||||
HopNextKey1 = { bg=black, fg=orange , style='bold' },
|
||||
HopNextKey2 = { bg=black, fg=purple , style='bold' },
|
||||
HopUnmatched = { bg=black, fg=lightgrey, style='bold' },
|
||||
HopCursor = { bg=black, fg=aqua , style='bold' },
|
||||
|
||||
--[[ 4.4.15 Mini ]]
|
||||
MiniTrailspace = { fg = red , style={ 'bold' , 'inverse' }},
|
||||
MiniJump = { fg = red , style={ 'underline', 'nocombine' }},
|
||||
MiniJump2dDim = 'NonText' ,
|
||||
MiniJump2dSpot = { fg = red , style={ 'underline', 'nocombine' }},
|
||||
MiniJump2dSpotUnique = { fg = red , style={ 'bold' , 'nocombine' }},
|
||||
MiniJump2dSpotAhead = { fg = white, style={ 'nocombine' }},
|
||||
}
|
||||
|
||||
require('yolokai')(
|
||||
highlight_group_normal,
|
||||
highlight_groups
|
||||
)
|
||||
|
||||
EOF
|
|
@ -126,6 +126,3 @@ require 'autocmd'
|
|||
require 'keymappings'
|
||||
require 'lsp'
|
||||
require 'treesitter'
|
||||
|
||||
-- Load our custom color scheme
|
||||
vim.cmd.colorscheme('yolokai')
|
||||
|
|
|
@ -1,156 +0,0 @@
|
|||
--- @class Yolokai.Definition
|
||||
--- @field bg? string|table the background color
|
||||
--- @field blend? number the transparency value
|
||||
--- @field dark? Yolokai.Definition special highlight definition for when `&bg` is 'dark'
|
||||
--- @field fg? string|table the foreground color
|
||||
--- @field light? Yolokai.Definition special highlight definition for when `&bg` is 'light'
|
||||
--- @field style? Yolokai.Style special appearance alterations
|
||||
|
||||
--- @class Yolokai.Style
|
||||
--- @field color string|table color of underline or undercurl
|
||||
|
||||
--[[/* Vars */]]
|
||||
|
||||
--- Which index to use for `gui` highlights.
|
||||
local _PALETTE_HEX = 1
|
||||
|
||||
--- The `string` type.
|
||||
local _TYPE_STRING = type ''
|
||||
|
||||
--- The `table` type.
|
||||
local _TYPE_TABLE = type {}
|
||||
|
||||
--[[/* Helper Functions */]]
|
||||
|
||||
--- @param color? string|table the color name or definition
|
||||
--- @param index number
|
||||
--- @return nil|number|string color_value a hex, 16-bit, or ANSI color. "NONE" by default
|
||||
local function get(color, index) -- {{{ †
|
||||
if color and color[index] then
|
||||
return color[index]
|
||||
elseif type(color) == _TYPE_STRING then
|
||||
--- @diagnostic disable-next-line:return-type-mismatch (we test for `color == string`, which is a subtype of `(number|string)?`
|
||||
return color
|
||||
end
|
||||
end --}}} ‡
|
||||
|
||||
--- @param rgb string some string of RGB colors.
|
||||
--- @return string hex
|
||||
local function tohex(rgb) return string.format('#%06x', rgb) end
|
||||
|
||||
--- Create a metatable which prioritizes entries in the `&bg` index of `definition`
|
||||
--- @param definition Yolokai.Definition the definition of the highlight group
|
||||
--- @return table
|
||||
local function use_background_with(definition)
|
||||
return setmetatable(definition[vim.go.background], {__index = definition})
|
||||
end
|
||||
|
||||
--[[/* Module */]]
|
||||
|
||||
--- A Neovim plugin to create more straightforward syntax for Lua `:map`ping and `:unmap`ping.
|
||||
--- @class Yolokai
|
||||
local yolokai = {}
|
||||
|
||||
--- @param name string the name of the highlight group
|
||||
--- @return Yolokai.Definition definition an nvim-yolokai compliant table describing the highlight group `name`
|
||||
function yolokai.group(name)
|
||||
local no_errors, definition = pcall(vim.api.nvim_get_hl_by_name, name, vim.go.termguicolors)
|
||||
|
||||
if not no_errors then definition = {} end
|
||||
|
||||
-- the style of the highlight group
|
||||
local style = {}
|
||||
for k, v in pairs(definition) do
|
||||
if k == 'special' then
|
||||
style.color = tohex(v)
|
||||
elseif k ~= 'background' and k ~= 'blend' and k ~= 'foreground' then
|
||||
style[#style+1] = k
|
||||
end
|
||||
end
|
||||
|
||||
return
|
||||
{
|
||||
fg = definition.foreground and tohex(definition.foreground),
|
||||
bg = definition.background and tohex(definition.background),
|
||||
blend = definition.blend,
|
||||
style = style,
|
||||
}
|
||||
end
|
||||
|
||||
-- Generate a `:highlight` command from a group and some definition.
|
||||
|
||||
--- Generate and execute `:highlight` command from a group and some definition.
|
||||
--- @param group_name string the `{group-name}` argument for `:highlight`
|
||||
--- @param definition Yolokai.Definition|string a link or an attribute map
|
||||
function yolokai.highlight(group_name, definition) -- {{{ †
|
||||
local highlight = {}
|
||||
if type(definition) == _TYPE_STRING then -- `highlight_group` is a link to another group.
|
||||
highlight.link = definition
|
||||
else
|
||||
-- Take care of special instructions for certain background colors.
|
||||
if definition[vim.go.background] then
|
||||
--- @diagnostic disable-next-line: param-type-mismatch (`str.dark` and `str.light` are `nil`)
|
||||
definition = use_background_with(definition)
|
||||
end
|
||||
|
||||
highlight.bg = get(definition.bg, _PALETTE_HEX)
|
||||
highlight.fg = get(definition.fg, _PALETTE_HEX)
|
||||
|
||||
highlight.blend = definition.blend
|
||||
|
||||
local style = definition.style
|
||||
if type(style) == _TYPE_TABLE then
|
||||
--- @diagnostic disable-next-line:param-type-mismatch (we check `type(style) == 'table'` right above this)
|
||||
for _, option in ipairs(style) do highlight[option] = true end
|
||||
--- @diagnostic disable-next-line:need-check-nil (we check `type(style) == 'table'` right above this)
|
||||
highlight.special = get(style.color, _PALETTE_HEX)
|
||||
elseif style then
|
||||
highlight[style] = true
|
||||
end
|
||||
|
||||
highlight.reverse = highlight.inverse
|
||||
highlight.inverse = nil
|
||||
end
|
||||
|
||||
vim.api.nvim_set_hl(0, group_name, highlight)
|
||||
end --}}} ‡
|
||||
|
||||
return setmetatable(yolokai, {__call = function(self, normal, highlights)
|
||||
--- resolve highlight groups being defined by function calls.
|
||||
--- @param tbl table the current table being indexed.
|
||||
--- @param key string the key to resolve the value for.
|
||||
--- @param resolve_links boolean whether to translate highlight links into full values
|
||||
--- @returns the value at `tbl[key]`, when highlight links and embedded functions have been accounted for.
|
||||
local function resolve(tbl, key, resolve_links)
|
||||
local original_value = tbl[key]
|
||||
local original_value_type = type(original_value)
|
||||
|
||||
if original_value_type == 'function' then -- call and cache the result; next time, if it isn't a function this step will be skipped
|
||||
tbl[key] = original_value(setmetatable({},
|
||||
{
|
||||
__index = function(_, inner_key) return resolve(tbl, inner_key, true) end
|
||||
}))
|
||||
elseif resolve_links and original_value_type == _TYPE_STRING and not string.find(original_value, '^#') then
|
||||
return resolve(tbl, original_value, resolve_links)
|
||||
end
|
||||
|
||||
return tbl[key]
|
||||
end
|
||||
|
||||
-- save the colors_name before syntax reset
|
||||
local color_name = vim.g.colors_name
|
||||
|
||||
-- If the syntax has been enabled, reset it.
|
||||
if vim.fn.exists 'syntax_on' then vim.api.nvim_command 'syntax reset' end
|
||||
|
||||
-- replace the colors_name
|
||||
vim.g.colors_name = color_name
|
||||
|
||||
-- Highlight the baseline.
|
||||
self.highlight('Normal', normal)
|
||||
|
||||
-- Highlight everything else.
|
||||
for group_name, _ in pairs(highlights) do
|
||||
self.highlight(group_name, resolve(highlights, group_name, false))
|
||||
end
|
||||
end})
|
Loading…
Reference in a new issue