diff --git a/nvim/.config/nvim/after/ftplugin/c.vim b/nvim/.config/nvim/after/ftplugin/c.vim index a9cc49a..8aab67f 100644 --- a/nvim/.config/nvim/after/ftplugin/c.vim +++ b/nvim/.config/nvim/after/ftplugin/c.vim @@ -1,5 +1,3 @@ -colorscheme wombat - " Create folds based on files syntax setlocal foldmethod=syntax " Scanning included files when ^n is troublesome diff --git a/nvim/.config/nvim/after/ftplugin/rust.vim b/nvim/.config/nvim/after/ftplugin/rust.vim index 5d089a6..fd06c83 100644 --- a/nvim/.config/nvim/after/ftplugin/rust.vim +++ b/nvim/.config/nvim/after/ftplugin/rust.vim @@ -1,5 +1,3 @@ -colorscheme wombat - augroup rust_maps au! " Taken from http://seenaburns.com/vim-setup-for-rust/ diff --git a/nvim/.config/nvim/colors/molokai.vim b/nvim/.config/nvim/colors/molokai.vim deleted file mode 100644 index a3a30b7..0000000 --- a/nvim/.config/nvim/colors/molokai.vim +++ /dev/null @@ -1,122 +0,0 @@ -" Vim color file -" -" Author: Tomas Restrepo -" https://github.com/tomasr/molokai -" -" Note: Based on the Monokai theme for TextMate -" by Wimer Hazenberg and its darker variant -" by Hamish Stuart Macpherson -" -" Modified to drop terminal support and guifg to -" be pitch black by Sanchayan Maity -" - -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="molokai" - -set background=dark - -" vertical split lines should look like a line instead of a dashed one -set fillchars+=vert:│ - -hi Boolean guifg=#AE81FF -hi Character guifg=#E6DB74 -hi Number guifg=#AE81FF -hi String guifg=#E6DB74 -hi Conditional guifg=#F92672 gui=bold -hi Constant guifg=#AE81FF gui=bold -hi Cursor guifg=#000000 guibg=#F8F8F0 -hi iCursor guifg=#000000 guibg=#F8F8F0 -hi Debug guifg=#BCA3A3 gui=bold -hi Define guifg=#66D9EF -hi Delimiter guifg=#8F8F8F -hi DiffAdd guibg=#13354A -hi DiffChange guifg=#89807D guibg=#4C4745 -hi DiffDelete guifg=#960050 guibg=#1E0010 -hi DiffText guibg=#4C4745 gui=italic,bold - -hi Directory guifg=#A6E22E gui=bold -hi Error guifg=#E6DB74 guibg=#1E0010 -hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold -hi Exception guifg=#A6E22E gui=bold -hi Float guifg=#AE81FF -hi FoldColumn guifg=#465457 guibg=#000000 -hi Folded guifg=#465457 guibg=#000000 -hi Function guifg=#A6E22E -hi Identifier guifg=#FD971F -hi Ignore guifg=#808080 guibg=bg -hi IncSearch guifg=#C4BE89 guibg=#000000 - -hi Keyword guifg=#F92672 gui=bold -hi Label guifg=#E6DB74 gui=none -hi Macro guifg=#C4BE89 gui=italic -hi SpecialKey guifg=#66D9EF gui=italic - -hi MatchParen guifg=#000000 guibg=#FD971F gui=bold -hi ModeMsg guifg=#E6DB74 -hi MoreMsg guifg=#E6DB74 -hi Operator guifg=#F92672 - -" complete menu -hi Pmenu guifg=#66D9EF guibg=#000000 -hi PmenuSel guibg=#808080 -hi PmenuSbar guibg=#080808 -hi PmenuThumb guifg=#66D9EF - -hi PreCondit guifg=#A6E22E gui=bold -hi PreProc guifg=#A6E22E -hi Question guifg=#66D9EF -hi Repeat guifg=#F92672 gui=bold -hi Search guifg=#000000 guibg=#FFE792 -" marks -hi SignColumn guifg=#A6E22E guibg=#232526 -hi SpecialChar guifg=#F92672 gui=bold -hi SpecialComment guifg=#7E8E91 gui=bold -hi Special guifg=#66D9EF guibg=bg gui=italic -if has("spell") - hi SpellBad guisp=#FF0000 gui=undercurl - hi SpellCap guisp=#7070F0 gui=undercurl - hi SpellLocal guisp=#70F0F0 gui=undercurl - hi SpellRare guisp=#FFFFFF gui=undercurl -endif -hi Statement guifg=#F92672 gui=bold -hi StatusLine guifg=#455354 guibg=fg -hi StatusLineNC guifg=#808080 guibg=#080808 -hi StorageClass guifg=#FD971F gui=italic -hi Structure guifg=#66D9EF -hi Tag guifg=#F92672 gui=italic -hi Title guifg=#ef5939 -hi Todo guifg=#FFFFFF guibg=bg gui=bold - -hi Typedef guifg=#66D9EF -hi Type guifg=#66D9EF gui=none -hi Underlined guifg=#808080 gui=underline - -hi VertSplit guifg=#808080 guibg=#080808 gui=bold -hi VisualNOS guibg=#403D3D -hi Visual guibg=#403D3D -hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold -hi WildMenu guifg=#66D9EF guibg=#000000 - -hi TabLineFill guifg=#1B1D1E guibg=#1B1D1E -hi TabLine guibg=#1B1D1E guifg=#808080 gui=none -hi TabLineSel guibg=#141414 guifg=#ffb700 gui=bold - -hi Normal guifg=#F8F8F2 guibg=#000000 -hi Comment guifg=#A6A185 guibg=#000000 -hi CursorLine guibg=#293739 -hi CursorLineNr guifg=#FD971F gui=none -hi CursorColumn guibg=#293739 -hi ColorColumn guibg=#232526 -hi LineNr guifg=#465457 guibg=#1B1D1E -hi NonText guifg=#465457 -hi SpecialKey guifg=#465457 -hi Conceal guifg=#f92672 guibg=bg - -hi Searchlight guifg=#FF00FF guibg=#000000 - -hi QuickDefaultBackground guifg=#F8F8F2 guibg=NONE gui=NONE -hi QuickDefaultPreview guibg=NONE diff --git a/nvim/.config/nvim/colors/wombat.vim b/nvim/.config/nvim/colors/wombat.vim deleted file mode 100644 index 7d38cd1..0000000 --- a/nvim/.config/nvim/colors/wombat.vim +++ /dev/null @@ -1,101 +0,0 @@ -" vombato.vim -" ------------------------------------------------------------------------------ -" Version: 0.1.2 -" Authors: Alessio 'molok' Bolognino -" Last Modified: 2013-12-09 -" License: GPL (Gnu Public License) -" ------------------------------------------------------------------------------ - -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="wombat" - -set background=dark - -if version >= 700 - hi CursorLine guifg=NONE guibg=#2D2D2D gui=NONE - hi CursorColumn guifg=NONE guibg=#2D2D2D gui=NONE - hi MatchParen guifg=NONE guibg=#906000 gui=NONE - hi Pmenu guifg=#F6F3E8 guibg=#444444 gui=NONE - hi PmenuSel guifg=#000000 guibg=#8AC6F2 gui=NONE - hi PmenuSbar guifg=NONE guibg=#303030 gui=NONE - hi PmenuThumb guifg=NONE guibg=#808080 gui=NONE - if version >= 703 - hi CursorLineNr guifg=#F6F3E8 guibg=NONE gui=NONE - hi ColorColumn guifg=NONE guibg=#202020 gui=NONE - hi Conceal guifg=#EDEA61 guibg=#303030 gui=NONE - endif -endif - -" General colors -hi Cursor guifg=NONE guibg=#656565 gui=NONE -hi Normal guifg=#F6F3E8 guibg=#000000 gui=NONE -hi NonText guifg=#404040 guibg=NONE gui=NONE -hi LineNr guifg=#857B6F guibg=#000000 gui=NONE -hi StatusLine guifg=#F6F3E8 guibg=#444444 gui=NONE -hi StatusLineNC guifg=#857B6F guibg=#444444 gui=NONE -hi VertSplit guifg=#444444 guibg=#444444 gui=NONE -hi Title guifg=#95e454 guibg=NONE gui=NONE -hi Visual guifg=#F6F3E8 guibg=#444444 gui=NONE -hi SpecialKey guifg=#353535 guibg=NONE gui=NONE - -" Syntax highlighting -hi Comment guifg=#99968B guibg=NONE gui=NONE -hi Todo guifg=#FF4400 guibg=NONE gui=NONE -hi Constant guifg=#E5786D guibg=NONE gui=NONE -hi String guifg=#95E454 guibg=NONE gui=NONE -hi Identifier guifg=#CAE682 guibg=NONE gui=NONE -hi Function guifg=#CAE682 guibg=NONE gui=NONE -hi Type guifg=#CAE682 guibg=NONE gui=NONE -hi Statement guifg=#8AC6F2 guibg=NONE gui=NONE -hi Keyword guifg=#8AC6F2 guibg=NONE gui=NONE -hi PreProc guifg=#E5786D guibg=NONE gui=NONE -hi Number guifg=#E5786D guibg=NONE gui=NONE -hi Special guifg=#E7F6DA guibg=NONE gui=NONE -hi Float guifg=#FFAA50 guibg=NONE gui=NONE -hi Boolean guifg=#8AC6F2 guibg=NONE gui=NONE - -" I use guifg and reverse because using guibg allows the colorcolumn highlight -" to overwrite the bg color -hi Search guifg=#FFFF00 guibg=NONE gui=reverse -hi IncSearch guifg=#8AC6F2 guibg=NONE gui=reverse -hi DiffAdd guifg=#CAE682 guibg=NONE gui=reverse -hi DiffChange guifg=#FFAA50 guibg=NONE gui=reverse -hi DiffDelete guifg=#e64e53 guibg=NONE gui=reverse -hi DiffText guifg=#FF0000 guibg=NONE gui=reverse - -hi FoldColumn guifg=#EDEA61 guibg=#303030 gui=NONE -hi Folded guifg=#EDEA61 guibg=#303030 gui=NONE - -hi SpellBad guisp=#FF0000 gui=undercurl -hi SpellCap guisp=#8AC6F2 gui=undercurl -hi SpellLocal guisp=#FFFF00 gui=undercurl -hi SpellRare guisp=#E454BA gui=undercurl - -hi SignColumn guifg=#857B6F guibg=#000000 gui=NONE - -hi Directory guifg=#CAE682 guibg=NONE -hi ErrorMsg guifg=#FFFFFF guibg=#FF0000 gui=NONE -hi Question guifg=#95E454 guibg=NONE gui=NONE - -hi TabLine guifg=#808080 guibg=#202020 gui=NONE -hi TabLineSel guifg=#95e454 guibg=#202020 gui=underline -hi TabLineFill guifg=#444444 guibg=#444444 gui=NONE - -hi VisualNOS guifg=NONE guibg=NONE gui=underline -hi WarningMsg guifg=#FFAA50 guibg=NONE gui=NONE -hi WildMenu guifg=#000000 guibg=#8AC6F2 gui=NONE -hi MoreMsg NONE -hi link MoreMsg Question - -hi ModeMsg guifg=#F6F3E8 guibg=NONE gui=NONE - -hi Searchlight guifg=#FF00FF guibg=#000000 - -hi QuickDefaultBackground guifg=#F6F3E8 guibg=#000000 gui=NONE -hi QuickDefaultPreview guibg=#000000 - -" Custom stuff -hi Modified guifg=black guibg=#FFA500 diff --git a/nvim/.config/nvim/colors/yolokai.vim b/nvim/.config/nvim/colors/yolokai.vim new file mode 100644 index 0000000..cded178 --- /dev/null +++ b/nvim/.config/nvim/colors/yolokai.vim @@ -0,0 +1,453 @@ +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 diff --git a/nvim/.config/nvim/config.vim b/nvim/.config/nvim/config.vim index a9171ee..75bb79a 100644 --- a/nvim/.config/nvim/config.vim +++ b/nvim/.config/nvim/config.vim @@ -107,4 +107,4 @@ let g:loaded_zipPlugin = 1 packadd cfilter " Colorscheme -colorscheme molokai +colorscheme yolokai diff --git a/nvim/.config/nvim/lua/yolokai.lua b/nvim/.config/nvim/lua/yolokai.lua new file mode 100644 index 0000000..1282b60 --- /dev/null +++ b/nvim/.config/nvim/lua/yolokai.lua @@ -0,0 +1,107 @@ +--[[ NOTHING INSIDE THIS FILE NEEDS TO BE EDITED BY THE USER. ]] + +-- Clear the highlighting. +vim.cmd('hi clear') + +-- Set the background to dark. +vim.o.background = 'dark' + +-- Disable automatic coloring for the IndentGuides plugin. +vim.g.indent_guides_auto_colors = 0 + +-- If the syntax has been enabled, reset it. +if vim.fn.exists('syntax_on') then vim.cmd('syntax reset') end + +-- Determine which set of colors to use. +local use_hex_and_256 = string.find(vim.fn.expand('$TERM'), '256') + or vim.g.t_Co >= 256 + or vim.fn.has('gui_running') + +-- If we aren't using the hex and 256 colorset, then set the &t_Co variable to 16. +if not use_hex_and_256 then vim.g.t_Co = 16 end + +-- These are constants for the indexes in the colors that were defined before. +local BIT_16 = 3 +local BIT_256 = 2 +local HEX = 1 + +-- Get the color value of a color variable, or "NONE" as a default. +local function get(color, index) + if type(color) == 'table' and color[index] then + return color[index] + elseif type(color) == 'string' then + return color + else + return "NONE" + end +end + +-- Generate a `:highlight` command from a group and some attributes. +local function highlight(highlight_group, attributes) -- {{{ † + local highlight_cmd = {'hi! ', highlight_group} + local link = attributes.link + + -- If the `highlight_group` is a link to another group. + if attributes.link then + highlight_cmd[3] = highlight_cmd[2] .. ' ' + highlight_cmd[2] = 'link ' + highlight_cmd[4] = attributes.link + else -- the `highlight_group` is uniquely defined. + local bg = attributes.bg + local fg = attributes.fg + local style = attributes.style + + -- If using hex and 256-bit colors, then populate the gui* and cterm* args. + if use_hex_and_256 then highlight_cmd[#highlight_cmd + 1] = + ' ctermbg=' .. get(bg, BIT_256) + .. ' ctermfg=' .. get(fg, BIT_256) + .. ' guibg=' .. get(bg, HEX) + .. ' guifg=' .. get(fg, HEX) + -- If using 16-bit colors, just populate the cterm* args. + else highlight_cmd[#highlight_cmd + 1] = + ' ctermbg=' .. get(bg, BIT_16) + .. ' ctermfg=' .. get(fg, BIT_16) + end + + -- This function appends `selected_attributes` to the end of the `highlight_cmd`. + local function append_style(selected_attributes) + highlight_cmd[#highlight_cmd + 1] = ' cterm=' .. selected_attributes + + -- If we're using hex populate the gui* attr args. + if use_hex_and_256 then highlight_cmd[#highlight_cmd + 1] = + ' gui=' .. selected_attributes + end + end + + if type(style) == 'table' then + -- Concat all of the entries together with a comma between. + local style_all = table.concat(style, ',') + + -- There will always be a cterm attr arg. + append_style(style_all) + + -- There won't always be a `guisp`. + if style.color then highlight_cmd[#highlight_cmd + 1] = + ' guisp=' .. get(style.color, HEX) + end + else append_style(style) + end + end + + vim.cmd(table.concat(highlight_cmd)) +end --}}} ‡ + +return function(Normal, highlights, terminal_ansi_colors) + -- Highlight the baseline. + highlight('Normal', Normal) + + -- Highlight everything else. + for highlight_group, attributes in pairs(highlights) do + highlight(highlight_group, attributes) + end + + -- Set the terminal colors. + for index, color in ipairs(terminal_ansi_colors) do + vim.g['terminal_color_' .. index] = get(color, HEX) + end +end