lua << EOF --[[ Build using Highlite, a Neovim colorscheme template. * Author: Iron-E (https://github.com/Iron-E) * Repository: https://github.com/nvim-highlite Rewrite of RNB, a Vim colorsheme template. * Author: Romain Lafourcade (https://github.com/romainl) * Canonical URL: https://github.com/romainl/vim-rnb Yolokai colorscheme based on monokai/molokai with minor changes * Background is completely black. No washed out greyish backgrounds * Comment highlight is slightly different * Slightly different colors for errors, floating windows, quickfix line selection and such * Author: Sanchayan Maity (https://gitlab.com/SanchayanMaity) ]] vim.g.colors_name = 'yolokai' local white = { '#E8E8E3', 252, 'white' } local white2 = { '#d8d8d3', 250, 'white2' } local black = { '#000000', 234, 'black' } local lightblack = { '#2D2E27', 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 = { '#A6E22D', 148, 'green' } local darkgreen = { '#50de60', 83, 'darkgreen' } local aqua = { '#66d9ef', 81, 'aqua' } local yellow = { '#E6DB74', 186, 'yellow' } local orange = { '#FD9720', 208, 'orange' } local purple = { '#ae81ff', 141, 'purple' } local red = { '#e73c50', 196, 'red' } local purered = { '#ff0000', 52, 'purered' } local darkred = { '#5f0000', 52, 'darkred' } --[[ DO NOT EDIT `BG`, `FG`, or `NONE`. Feel free to uncomment `BG`. It is not used by default so it is commented out. ]] local BG = 'bg' local FG = 'fg' local NONE = 'NONE' --[[ These are the ones you should edit. ]] -- This is the only highlight that must be defined separately. local highlight_group_normal = {bg=black, fg=white, style=NONE} -- This is where the rest of your highlights should go. local highlight_groups = { --[[ 4.1. Text Analysis ]] Comment = {bg=NONE, fg=warmgrey, style='italic'}, EndOfBuffer = {link='NonText' }, NonText = {bg=NONE, fg=lightgrey, style=NONE }, Whitespace = {link='NonText' }, --[[ 4.1.1. Literals]] Constant = {bg=NONE, fg=purple, style=NONE}, String = {bg=NONE, fg=yellow, style=NONE}, Character = {bg=NONE, fg=yellow, style=NONE}, Number = {bg=NONE, fg=purple, style=NONE}, Boolean = {bg=NONE, fg=purple, style=NONE}, Float = {link='Number' }, --[[ 4.1.2. Identifiers]] Identifier = {bg=NONE, fg=green, style=NONE}, Function = {bg=NONE, fg=green, style=NONE}, --[[ 4.1.3. Syntax]] Statement = {bg=NONE, fg=pink, style=NONE }, Conditional = {bg=NONE, fg=pink, style='italic'}, Repeat = {link='Keyword' }, Label = {bg=NONE, fg=pink, style='italic'}, Operator = {bg=NONE, fg=pink, style=NONE }, Keyword = {bg=NONE, fg=pink, style='bold' }, Exception = {bg=NONE, fg=red, style='bold' }, --[[ 4.1.4. Metatextual Information]] PreProc = {bg=NONE, fg=green, style=NONE }, Include = {bg=NONE, fg=pink, style='nocombine'}, Define = {bg=NONE, fg=pink, style='nocombine'}, Macro = {link='Define' }, PreCondit = {bg=NONE, fg=green, style='nocombine'}, --[[ 4.1.5. Semantics]] Type = {bg=NONE, fg=aqua, style=NONE }, StorageClass = {bg=NONE, fg=aqua, style='bold' }, Structure = {bg=NONE, fg=aqua, style='bold' }, Typedef = {bg=NONE, fg=aqua, style='italic'}, --[[ 4.1.6. Edge Cases]] Special = {bg=NONE, fg=purple, style=NONE }, SpecialChar = {link='Character' }, SpecialKey = {link='Character' }, Tag = {link='Underlined' }, Delimiter = {bg=NONE, fg=pink, style=NONE }, -- SpecialComment affects Haskell Language Extension SpecialComment = {bg=NONE, fg=orange, style={'bold', 'nocombine'}}, Debug = {link='WarningMsg' }, --[[ 4.1.7. Help Syntax]] Underlined = {bg=NONE, fg=green, style='underline' }, Ignore = {bg=NONE, fg=gray, style=NONE }, Error = {bg=black, fg=red, style=NONE }, Todo = {bg=NONE, fg=orange, style={'bold', 'underline'}}, helpHyperTextJump = {link='Underlined' }, helpSpecial = {link='Function' }, Hint = {bg=lightblack3, fg=white, style='bold' }, Info = {bg=pink, fg=black, style='bold' }, Warning = {bg=orange, fg=black, style='bold' }, --[[ 4.2... Editor UI ]] --[[ 4.2.1. Status Line]] StatusLine = {bg=black, fg=warmgrey, style='inverse'}, StatusLineNC = {bg=black, fg=darkgrey, style='inverse'}, StatusLineTerm = {link='StatusLine' }, StatusLineTermNC = {link='StatusLineNC' }, --[[ 4.2.2. Separators]] VertSplit = {bg=darkblack, fg=darkgrey, style=NONE }, TabLine = {bg=darkblack, fg=white, style=NONE }, TabLineFill = {bg=NONE, fg=FG, style=NONE }, TabLineSel = {bg=darkgrey, fg=FG, style='inverse'}, Title = {bg=NONE, fg=NONE, style='bold' }, --[[ 4.2.3. Conditional Line Highlighting]] --Conceal={} CursorLine = {bg=lightblack2, fg=NONE, style=NONE }, CursorLineNr = {bg=lightblack, fg=orange,style=NONE }, debugBreakpoint = {link='ErrorMsg' }, debugPC = {link='ColorColumn' }, LineNr = {bg=lightblack, fg=grey, style=NONE }, QuickFixLine = {bg=darkgrey, fg=NONE, style=NONE }, Visual = {bg=NONE, fg=NONE, style='inverse'}, VisualNOS = {bg=darkgrey, fg=NONE, style=NONE }, --[[ 4.2.4. Popup Menu]] Pmenu = {bg=black, fg=aqua, style=NONE }, PmenuSbar = {bg=black, fg=NONE, style=NONE }, PmenuSel = {bg=warmgrey, fg=white, style='bold' }, PmenuThumb = {bg=grey, fg=lightblack, style=NONE }, WildMenu = {bg=NONE, fg=NONE, style=NONE }, --[[ 4.2.5. Folds]] FoldColumn = {bg=darkblack, fg=NONE, style='bold' }, Folded = {bg=darkblack, fg=warmgrey, style='italic'}, --[[ 4.2.6. Diffs]] DiffAdd = {bg=NONE, fg=darkgreen, style='inverse'}, DiffChange = {bg=NONE, fg=yellow, style='inverse'}, DiffDelete = {bg=NONE, fg=red, style='inverse'}, DiffText = {bg=NONE, fg=NONE, style='inverse'}, --[[ 4.2.7. Searching]] IncSearch = {bg=NONE, fg=NONE, style='inverse' }, Search = {bg=yellow,fg=black, style={'underline', color=white}}, MatchParen = {bg=NONE, fg=purple, style={'bold', 'underline' }}, --[[ 4.2.8. Spelling]] SpellBad = {bg=NONE, fg=NONE, style={'undercurl', color=red }}, SpellCap = {bg=NONE, fg=NONE, style={'undercurl', color=purple}}, SpellLocal = {bg=NONE, fg=NONE, style={'undercurl', color=pink }}, SpellRare = {bg=NONE, fg=NONE, style={'undercurl', color=aqua }}, --[[ 4.2.9. Conditional Column Highlighting]] ColorColumn = {bg=lightblack, fg=NONE, style=NONE }, SignColumn = {bg=lightblack, fg=NONE, style=NONE }, --[[ 4.2.10. Messages]] ErrorMsg = {bg=black, fg=red, style=NONE }, HintMsg = {bg=black, fg=purple, style='bold' }, InfoMsg = {bg=black, fg=pink, style='bold' }, ModeMsg = {bg=black, fg=yellow, style=NONE }, WarningMsg = {bg=black, fg=red, style='bold' }, Question = {bg=black, fg=yellow, style='underline'}, --[[ 4.2.11. LSP ]] LspDiagnosticsError = {link='Error' }, LspDiagnosticsErrorFloating = {link='ErrorMsg'}, LspDiagnosticsErrorSign = {link='ErrorMsg' }, LspDiagnosticsWarning = {link='Warning' }, LspDiagnosticsWarningFloating = {link='WarningMsg'}, LspDiagnosticsWarningSign = {link='WarningMsg' }, LspDiagnosticsHint = {link='Hint' }, LspDiagnosticsHintFloating = {link='HintMsg'}, LspDiagnosticsHintSign = {link='HintMsg' }, LspDiagnosticsInformation = {link='Info' }, LspDiagnosticsInformationFloating = {link='InfoMsg'}, LspDiagnosticsInformationSign = {link='InfoMsg' }, --[[ 4.2.12. Cursor ]] Cursor = {bg=white, fg=black, style='inverse'}, CursorIM = {link='Cursor' }, CursorColumn = {bg=lightblack2,fg=NONE, style=NONE }, --[[ 4.2.13. Misc ]] Directory = {bg=NONE, fg=aqua, style='bold'}, Terminal = {link='Normal' }, NormalFloat = {bg=black, fg=white, style=NONE }, --[[ 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 = {link='Constant'}, cCustomClass = {link='Type' }, --[[ 4.3.2. C++ ]] cppSTLexception = {link='Exception'}, cppSTLnamespace = {link='String' }, --[[ 4.3.3 C# ]] csLogicSymbols = {link='Operator'}, --[[ 4.3.4. CSS ]] cssProp = {link='Keyword'}, cssTagName = {link='Type' }, --[[ 4.3.5. Dart ]] dartLibrary = {link='Statement'}, --[[ 4.3.6. dot ]] dotKeyChar = {link='Character'}, dotType = {link='Type' }, --[[ 4.3.7. Go ]] goBlock = {link='Delimiter' }, goBoolean = {link='Boolean' }, goBuiltins = {link='Operator' }, goField = {link='Identifier' }, goFloat = {link='Float' }, goFormatSpecifier = {link='Character' }, goFunction = {link='Function' }, goFunctionCall = {link='goFunction' }, goFunctionReturn = {bg=NONE, fg=NONE, style=NONE}, goMethodCall = {link='goFunctionCall' }, goParamType = {link='goReceiverType' }, goPointerOperator = {link='SpecialChar' }, goPredefinedIdentifiers = {link='Constant' }, goReceiver = {link='goBlock' }, goReceiverType = {link='goTypeName' }, goSimpleParams = {link='goBlock' }, goType = {link='Type' }, goTypeConstructor = {link='goFunction' }, goTypeName = {link='Type' }, goVarAssign = {link='Identifier' }, goVarDefs = {link='goVarAssign' }, --[[ 4.3.8. HTML ]] htmlBold = {bg=NONE, fg=NONE, style='bold' }, htmlItalic = {bg=NONE, fg=NONE, style='italic'}, htmlSpecialTagName = {link='Tag' }, --[[ 4.3.9. Java ]] javaClassDecl = {link='Structure'}, --[[ 4.3.10. JavaScript ]] jsFuncBlock = {link='Function' }, jsObjectKey = {link='Type' }, jsReturn = {link='Keyword' }, jsVariableDef = {link='Identifier'}, --[[ 4.3.11. JSON ]] jsonStringSQError = {link='Exception'}, --[[ 4.3.12. Make ]] makeCommands = {link='Statment'}, makeSpecTarget = {link='Type' }, --[[ 4.3.13. Markdown ]] markdownH1 = {bg=NONE, fg=green_dark, style='bold' }, markdownH2 = {bg=NONE, fg=red_light, style='bold' }, markdownH3 = {bg=NONE, fg=green, style='bold' }, markdownH4 = {bg=NONE, fg=purple, style='bold' }, markdownH5 = {bg=NONE, fg=orange, style='bold' }, markdownH6 = {bg=NONE, fg=yellow, style='bold' }, mkdBold = {bg=NONE, fg='green', style='bold' }, mkdCode = {link='Comment' }, mkdCodeDelimiter = {link='Delimiter' }, mkdItalic = {bg=NONE, fg=green, style='italic'}, mkdListItem = {link='Special' }, mkdNonListItemBlock = {link='Normal' }, texMathZoneY = {link='String' }, --[[ 4.3.20. Python ]] pythonBrackets = {link='Delimiter' }, pythonBuiltinFunc = {link='Operator' }, pythonBuiltinObj = {link='Type' }, pythonBuiltinType = {link='Type' }, pythonClass = {link='Structure' }, pythonClassParameters = {link='pythonParameters'}, pythonDecorator = {link='PreProc' }, pythonDottedName = {link='Identifier' }, pythonError = {link='Error' }, pythonException = {link='Exception' }, pythonInclude = {link='Include' }, pythonIndentError = {link='pythonError' }, pythonLambdaExpr = {link='pythonOperator' }, pythonOperator = {link='Operator' }, pythonParam = {link='Identifier' }, pythonParameters = {link='Delimiter' }, pythonSelf = {link='Statement' }, pythonSpaceError = {link='pythonError' }, pythonStatement = {link='Statement' }, --[[ 4.3.21. Ruby ]] rubyClass = {link='Structure'}, rubyDefine = {link='Define' }, rubyInterpolationDelimiter = {link='Delimiter'}, --[[ 4.3.22. Rust ]] rustKeyword = {link='Keyword' }, rustModPath = {link='Include' }, rustScopeDecl = {link='Delimiter' }, rustTrait = {link='StorageClass'}, --[[ 4.3.23. Scala ]] scalaKeyword = {link='Keyword' }, scalaNameDefinition = {link='Identifier'}, --[[ 4.3.24. shell ]] shFunctionKey = {link='Function' }, shLoop = {link='Repeat' }, shSet = {link='Statement'}, shTestOpr = {link='Debug' }, --[[ 4.3.25. Solidity ]] solBuiltinType = {link='Type' }, solContract = {link='Typedef' }, solContractName = {link='Function'}, --[[ 4.3.26. TOML ]] tomlComment = {link='Comment' }, tomlKey = {link='Label' }, tomlTable = {link='StorageClass'}, --[[ 4.3.27. VimScript ]] vimCommand = {link = 'Keyword' }, vimFuncKey = {link = 'Function' }, vimGroup = {link = 'Type' }, vimHiGroup = {link = 'Typedef' }, vimIsCommand = {link = 'vimCommand'}, vimLet = {link = 'Operator' }, vimMap = {link = 'vimCommand'}, --[[ 4.3.28. XML ]] xmlAttrib = {link='Label' }, xmlEndTag = {link='Exception'}, xmlEqual = {link='Operator' }, xmlTag = {link='Delimiter'}, xmlTagName = {link='Define' }, --[[ 4.3.29 Haskell ]] haskellType = {link='Type' }, haskellIdentifier = {link='Identifier' }, haskellOperators = {link='Operator' }, haskellWhere = {link='Keyword' }, haskellDelimiter = {link='Delimiter' }, haskellImportKeywords = {link='Include' }, haskellStatement = {link='Statement' }, --[[ 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 = {link='ErrorMsg' }, ALEWarningSign = {link='WarningMsg'}, --[[ 4.4.2. coc.nvim ]] CocErrorHighlight = {bg=NONE, fg=NONE, style={'undercurl', color='red' }}, CocErrorSign = {link='ALEErrorSign' }, CocHintHighlight = {bg=NONE, fg=NONE, style={'undercurl', color='purple' }}, CocHintSign = {link='HintMsg' }, CocInfoHighlight = {bg=NONE, fg=NONE, style={'undercurl', color='pink' }}, CocInfoSign = {link='InfoMsg' }, CocWarningHighlight = {bg=NONE, fg=NONE, style={'undercurl', color='orange' }}, CocWarningSign = {link='ALEWarningSign' }, --[[ 4.4.2. vim-jumpmotion / vim-easymotion ]] EasyMotion = {link = 'IncSearch' }, JumpMotion = {link = 'EasyMotion'}, --[[ 4.4.3. vim-markdown ]] htmlH1 = {link='markdownH1'}, htmlH2 = {link='markdownH2'}, htmlH3 = {link='markdownH3'}, htmlH4 = {link='markdownH4'}, htmlH5 = {link='markdownH5'}, htmlH6 = {link='markdownH6'}, --[[ 4.4.4. vim-gitgutter / vim-signify ]] GitGutterAdd = {bg=NONE, fg=green, style=NONE}, GitGutterChange = {bg=NONE, fg=yellow, style=NONE}, GitGutterDelete = {bg=NONE, fg=red, style=NONE}, GitGutterChangeDelete = {bg=NONE, fg=orange, style=NONE}, SignifySignAdd = {link='GitGutterAdd' }, SignifySignChange = {link='GitGutterChange' }, SignifySignDelete = {link='GitGutterDelete' }, SignifySignChangeDelete = {link='GitGutterChangeDelete'}, --[[ 4.4.5. vim-indent-guides ]] IndentGuidesOdd = {bg=darkgrey, fg=NONE, style=NONE}, IndentGuidesEven = {bg=grey, fg=NONE, style=NONE}, --[[ 4.4.7. NERDTree ]] NERDTreeCWD = {link='Label' }, NERDTreeUp = {link='Operator' }, NERDTreeDir = {link='Directory' }, NERDTreeDirSlash = {link='Delimiter' }, NERDTreeOpenable = {link='NERDTreeDir' }, NERDTreeClosable = {link='NERDTreeOpenable'}, NERDTreeExecFile = {link='Function' }, NERDTreeLinkTarget = {link='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 = {link='Function' }, WhichKeySeperator = {link='DiffAdded' }, WhichKeyGroup = {link='Keyword' }, WhichKeyDesc = {bg=black, fg=orange, style=NONE }, WhichKeyFloating = {link='Pmenu' }, } -- We do not care about terminals which do not support 256 colors local terminal_ansi_colors = { } require('yolokai')( highlight_group_normal, highlight_groups, terminal_ansi_colors ) EOF