nvim: Switch to using a color scheme template engine
Use this color scheme template to have a proper custom monokai color scheme variant. https://github.com/Iron-E/nvim-highlite We will call it yolokai. YOLO monokai. While at it, drop all earlier ones. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
This commit is contained in:
parent
402d7e0c30
commit
8b9e46b8b8
7 changed files with 561 additions and 228 deletions
|
@ -1,5 +1,3 @@
|
|||
colorscheme wombat
|
||||
|
||||
" Create folds based on files syntax
|
||||
setlocal foldmethod=syntax
|
||||
" Scanning included files when ^n is troublesome
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
colorscheme wombat
|
||||
|
||||
augroup rust_maps
|
||||
au!
|
||||
" Taken from http://seenaburns.com/vim-setup-for-rust/
|
||||
|
|
|
@ -1,122 +0,0 @@
|
|||
" Vim color file
|
||||
"
|
||||
" Author: Tomas Restrepo <tomas@winterdom.com>
|
||||
" 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
|
|
@ -1,101 +0,0 @@
|
|||
" vombato.vim
|
||||
" ------------------------------------------------------------------------------
|
||||
" Version: 0.1.2
|
||||
" Authors: Alessio 'molok' Bolognino <alessio.bolognino+vim@gmail.com>
|
||||
" 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
|
453
nvim/.config/nvim/colors/yolokai.vim
Normal file
453
nvim/.config/nvim/colors/yolokai.vim
Normal file
|
@ -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
|
|
@ -107,4 +107,4 @@ let g:loaded_zipPlugin = 1
|
|||
packadd cfilter
|
||||
|
||||
" Colorscheme
|
||||
colorscheme molokai
|
||||
colorscheme yolokai
|
||||
|
|
107
nvim/.config/nvim/lua/yolokai.lua
Normal file
107
nvim/.config/nvim/lua/yolokai.lua
Normal file
|
@ -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
|
Loading…
Reference in a new issue