├── autoload └── airline │ └── themes │ └── materialmonokai.vim ├── colors └── material-monokai.vim └── readme.md /autoload/airline/themes/materialmonokai.vim: -------------------------------------------------------------------------------- 1 | " ============================================================ 2 | " materialmonokai 3 | " Author: skielbasa 4 | " Forked From: Mike Hartington's Oceanicnext 5 | " ============================================================ 6 | 7 | if ! exists("g:materialmonokai_subtle_airline") 8 | let g:materialmonokai_subtle_airline = 0 9 | endif 10 | 11 | " {{{ Colors 12 | let s:base00=['#1F292D', '233'] 13 | let s:base01=['#383a3e', '236'] 14 | let s:base02=['#4f5b66', '240'] 15 | let s:base03=['#B0BEC5', '253'] 16 | let s:base04=['#a7adba', '145'] 17 | let s:base05=['#c0c5ce', '251'] 18 | let s:base06=['#cdd3de', '252'] 19 | let s:base07=['#d8dee9', '253'] 20 | let s:base08=['#ec5f67', '203'] 21 | let s:base09=['#FD9720', '208'] 22 | let s:base0A=['#fac863', '221'] 23 | let s:base0B=['#FC3488', '197'] 24 | let s:base0C=['#62b3b2', '73'] 25 | let s:base0D=['#506E79', '241'] 26 | let s:base0E=['#c594c5', '141'] 27 | let s:base0F=['#ab7967', '137'] 28 | let s:base10=['#ffffff', '15'] 29 | " }}} 30 | 31 | let s:normal1 = [s:base10[0], s:base0D[0], s:base10[1], s:base0D[1]] 32 | let s:normal2 = [s:base00[0], s:base03[0], s:base00[1], s:base03[1]] 33 | let s:normal3 = [s:base07[0], s:base00[0], s:base07[1], s:base00[1]] 34 | let s:inactive1 = [s:base00[0], s:base03[0], s:base00[1], s:base03[1]] 35 | let s:inactive2 = [s:base07[0], s:base00[0], s:base07[1], s:base00[1]] 36 | let s:inactive3 = [s:base03[0], s:base00[0], s:base03[1], s:base00[1]] 37 | let s:insert1 = [s:base10[0], s:base0B[0], s:base10[1], s:base0B[1]] 38 | let s:insert2 = [s:base00[0], s:base03[0], s:base00[1], s:base03[1]] 39 | let s:insert3 = [s:base07[0], s:base00[0], s:base07[1], s:base00[1]] 40 | let s:replace1 = [s:base10[0], s:base08[0], s:base10[1], s:base08[1]] 41 | let s:replace2 = [s:base00[0], s:base03[0], s:base00[1], s:base03[1]] 42 | let s:replace3 = [s:base07[0], s:base00[0], s:base07[1], s:base00[1]] 43 | let s:visual1 = [s:base10[0], s:base09[0], s:base10[1], s:base09[1]] 44 | let s:visual2 = [s:base00[0], s:base03[0], s:base00[1], s:base03[1]] 45 | let s:visual3 = [s:base07[0], s:base00[0], s:base07[1], s:base00[1]] 46 | let s:ctrlp1 = [s:base10[0], s:base00[0], s:base10[1], s:base00[1]] 47 | let s:ctrlp2 = [s:base10[0], s:base03[0], s:base10[1], s:base03[1]] 48 | let s:ctrlp3 = [s:base10[0], s:base0D[0], s:base10[1], s:base0D[1]] 49 | let s:warning = [s:base00[0], s:base09[0], s:base00[1], s:base09[1]] 50 | let s:error = [s:base00[0], s:base08[0], s:base00[1], s:base08[1]] 51 | 52 | let g:airline#themes#materialmonokai#palette = {} 53 | 54 | let g:airline#themes#materialmonokai#palette.inactive = airline#themes#generate_color_map(s:inactive1, s:inactive2, s:inactive3) 55 | 56 | if g:materialmonokai_subtle_airline == 1 57 | let g:airline#themes#materialmonokai#palette.normal = airline#themes#generate_color_map(s:normal1, s:normal2, s:normal3, s:normal3, s:normal2, s:normal1) 58 | let g:airline#themes#materialmonokai#palette.insert = airline#themes#generate_color_map(s:insert1, s:insert2, s:insert3, s:normal3, s:normal2, s:normal1) 59 | let g:airline#themes#materialmonokai#palette.replace = airline#themes#generate_color_map(s:replace1, s:replace2, s:replace3, s:normal3, s:normal2, s:normal1) 60 | let g:airline#themes#materialmonokai#palette.visual = airline#themes#generate_color_map(s:visual1, s:visual2, s:visual3, s:normal3, s:normal2, s:normal1) 61 | let g:airline#themes#materialmonokai#palette.visual.airline_warning = s:warning 62 | let g:airline#themes#materialmonokai#palette.visual.airline_error = s:error 63 | else 64 | let g:airline#themes#materialmonokai#palette.normal = airline#themes#generate_color_map(s:normal1, s:normal2, s:normal3) 65 | let g:airline#themes#materialmonokai#palette.insert = airline#themes#generate_color_map(s:insert1, s:insert2, s:insert3) 66 | let g:airline#themes#materialmonokai#palette.replace = airline#themes#generate_color_map(s:replace1, s:replace2, s:replace3) 67 | let g:airline#themes#materialmonokai#palette.visual = airline#themes#generate_color_map(s:visual1, s:visual2, s:visual3) 68 | endif 69 | 70 | let g:airline#themes#materialmonokai#palette.normal.airline_warning = s:warning 71 | let g:airline#themes#materialmonokai#palette.normal.airline_error = s:error 72 | let g:airline#themes#materialmonokai#palette.insert.airline_warning = s:warning 73 | let g:airline#themes#materialmonokai#palette.insert.airline_error = s:error 74 | 75 | if !get(g:, 'loaded_ctrlp', 0) 76 | finish 77 | endif 78 | let g:airline#themes#materialmonokai#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(s:ctrlp1, s:ctrlp2, s:ctrlp3) 79 | -------------------------------------------------------------------------------- /colors/material-monokai.vim: -------------------------------------------------------------------------------- 1 | " File: matrial-monokai.vim 2 | " Maintainer: skielbasa 3 | " URL: https://github.com/skielbasa/vim-monokai 4 | " License: MIT 5 | " 6 | " A vim port of the Material Monokai Atom theme 7 | " Uses the Monokai theme by crusoexia as a base 8 | 9 | " Initialisation 10 | " -------------- 11 | 12 | if !has("gui_running") && &t_Co < 256 13 | finish 14 | endif 15 | 16 | if ! exists("g:materialmonokai_gui_italic") 17 | let g:materialmonokai_gui_italic = 1 18 | endif 19 | 20 | if ! exists("g:materialmonokai_italic") 21 | let g:materialmonokai_italic = 0 22 | endif 23 | 24 | if ! exists("g:materialmonokai_subtle_spell") 25 | let g:materialmonokai_subtle_spell = 0 26 | endif 27 | 28 | if ! exists("g:materialmonokai_custom_lint_indicators") 29 | let g:materialmonokai_custom_lint_indicators = 1 30 | endif 31 | 32 | let g:materialmonokai_termcolors = 256 " does not support 16 color term right now. 33 | 34 | set background=dark 35 | hi clear 36 | 37 | if exists("syntax_on") 38 | syntax reset 39 | endif 40 | 41 | let colors_name = "material-monokai" 42 | 43 | function! s:h(group, style) 44 | let s:ctermformat = "NONE" 45 | let s:guiformat = "NONE" 46 | if has_key(a:style, "format") 47 | let s:ctermformat = a:style.format 48 | let s:guiformat = a:style.format 49 | endif 50 | if g:materialmonokai_italic == 0 51 | let s:ctermformat = substitute(s:ctermformat, ",italic", "", "") 52 | let s:ctermformat = substitute(s:ctermformat, "italic,", "", "") 53 | let s:ctermformat = substitute(s:ctermformat, "italic", "", "") 54 | endif 55 | if g:materialmonokai_gui_italic == 0 56 | let s:guiformat = substitute(s:guiformat, ",italic", "", "") 57 | let s:guiformat = substitute(s:guiformat, "italic,", "", "") 58 | let s:guiformat = substitute(s:guiformat, "italic", "", "") 59 | endif 60 | if g:materialmonokai_termcolors == 16 61 | let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm16 : "NONE") 62 | let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm16 : "NONE") 63 | else 64 | let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE") 65 | let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE") 66 | end 67 | execute "highlight" a:group 68 | \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE") 69 | \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE") 70 | \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE") 71 | \ "gui=" (!empty(s:guiformat) ? s:guiformat : "NONE") 72 | \ "ctermfg=" . l:ctermfg 73 | \ "ctermbg=" . l:ctermbg 74 | \ "cterm=" (!empty(s:ctermformat) ? s:ctermformat : "NONE") 75 | endfunction 76 | 77 | " Palettes 78 | " -------- 79 | 80 | 81 | let s:white = { "gui": "#CDD3DE", "cterm": "253" } 82 | let s:black = { "gui": "#263238", "cterm": "235" } 83 | let s:lightblack = { "gui": "#2D2E27", "cterm": "234" } 84 | let s:lightblack2 = { "gui": "#383a3e", "cterm": "236" } 85 | let s:darkblack = { "gui": "#1F292D", "cterm": "233" } 86 | let s:grey = { "gui": "#3F565F", "cterm": "238" } 87 | let s:lightgrey = { "gui": "#575b61", "cterm": "241" } 88 | let s:darkgrey = { "gui": "#232E33", "cterm": "236" } 89 | let s:coolgrey = { "gui": "#506E79", "cterm": "241" } 90 | 91 | let s:pink = { "gui": "#FC3488", "cterm": "197" } 92 | let s:green = { "gui": "#A6E22E", "cterm": "148" } 93 | let s:aqua = { "gui": "#66d9ef", "cterm": "81" } 94 | let s:blue = { "gui": "#82B1FF", "cterm": "81" } 95 | let s:yellow = { "gui": "#E6DB74", "cterm": "186" } 96 | let s:orange = { "gui": "#FD9720", "cterm": "208" } 97 | let s:purple = { "gui": "#ae81ff", "cterm": "141" } 98 | let s:red = { "gui": "#e73c50", "cterm": "196" } 99 | let s:darkred = { "gui": "#5f0000", "cterm": "52" } 100 | 101 | let s:addfg = { "gui": "#d7ffaf", "cterm": "193" } 102 | let s:addbg = { "gui": "#5f875f", "cterm": "65" } 103 | let s:delbg = { "gui": "#f75f5f", "cterm": "167" } 104 | let s:changefg = { "gui": "#d7d7ff", "cterm": "189" } 105 | let s:changebg = { "gui": "#5f5f87", "cterm": "60" } 106 | 107 | " Highlighting 108 | " ------------ 109 | 110 | " editor 111 | call s:h("Normal", { "fg": s:white, "bg": s:black }) 112 | call s:h("ColorColumn", { "bg": s:lightgrey }) 113 | call s:h("CursorColumn", { "bg": s:lightblack2 }) 114 | call s:h("CursorLine", { "bg": s:darkblack }) 115 | call s:h("NonText", { "fg": s:lightgrey }) 116 | call s:h("StatusLine", { "fg": s:white, "bg": s:darkblack }) 117 | call s:h("StatusLineNC", { "fg": s:darkgrey, "bg": s:coolgrey, "format": "reverse" }) 118 | call s:h("WildMenu", { "fg": s:white, "bg": s:pink }) 119 | call s:h("TabLine", { "fg": s:white, "bg": s:darkblack, "format": "reverse" }) 120 | call s:h("Visual", { "bg": s:lightgrey }) 121 | call s:h("Search", { "fg": s:black, "bg": s:yellow }) 122 | call s:h("MatchParen", { "fg": s:black, "bg": s:purple }) 123 | call s:h("Question", { "fg": s:yellow }) 124 | call s:h("ModeMsg", { "fg": s:yellow }) 125 | call s:h("MoreMsg", { "fg": s:yellow }) 126 | call s:h("ErrorMsg", { "fg": s:black, "bg": s:red, "format": "standout" }) 127 | call s:h("WarningMsg", { "fg": s:red }) 128 | call s:h("VertSplit", { "fg": s:grey, "bg": s:darkgrey }) 129 | call s:h("LineNr", { "fg": s:grey, "bg": s:darkgrey }) 130 | call s:h("CursorLineNr", { "fg": s:aqua, "bg": s:darkblack }) 131 | call s:h("SignColumn", { "bg": s:lightblack }) 132 | call s:h("SpellCap", { "format": "underline"}) 133 | call s:h("SpellLocal", { "fg": s:yellow, "format": "underline"}) 134 | if g:materialmonokai_subtle_spell == 1 135 | call s:h("SpellBad", { "format": "underline"}) 136 | else 137 | call s:h("SpellBad", { "fg": s:red, "bg": s:yellow }) 138 | endif 139 | 140 | " misc 141 | call s:h("SpecialKey", { "fg": s:grey }) 142 | call s:h("Title", { "fg": s:yellow }) 143 | call s:h("Directory", { "fg": s:aqua }) 144 | 145 | " diff 146 | call s:h("DiffAdd", { "fg": s:addfg, "bg": s:addbg }) 147 | call s:h("DiffDelete", { "fg": s:black, "bg": s:delbg }) 148 | call s:h("DiffChange", { "fg": s:changefg, "bg": s:changebg }) 149 | call s:h("DiffText", { "fg": s:black, "bg": s:aqua }) 150 | 151 | " fold 152 | call s:h("Folded", { "fg": s:coolgrey, "bg": s:darkblack }) 153 | call s:h("FoldColumn", { "bg": s:darkblack }) 154 | " Incsearch" 155 | 156 | " popup menu 157 | call s:h("Pmenu", { "fg": s:white, "bg": s:darkblack }) 158 | call s:h("PmenuSel", { "fg": s:pink, "bg": s:white, "format": "reverse,bold" }) 159 | call s:h("PmenuThumb", { "fg": s:lightblack, "bg": s:grey }) 160 | " PmenuSbar" 161 | 162 | " Generic Syntax Highlighting 163 | " --------------------------- 164 | 165 | call s:h("Constant", { "fg": s:purple }) 166 | call s:h("Number", { "fg": s:purple }) 167 | call s:h("Float", { "fg": s:purple }) 168 | call s:h("Boolean", { "fg": s:purple }) 169 | call s:h("Character", { "fg": s:yellow }) 170 | call s:h("String", { "fg": s:yellow }) 171 | 172 | call s:h("Type", { "fg": s:aqua }) 173 | call s:h("Structure", { "fg": s:aqua }) 174 | call s:h("StorageClass", { "fg": s:aqua }) 175 | call s:h("Typedef", { "fg": s:aqua }) 176 | 177 | call s:h("Identifier", { "fg": s:green }) 178 | call s:h("Function", { "fg": s:green }) 179 | 180 | call s:h("Statement", { "fg": s:pink }) 181 | call s:h("Operator", { "fg": s:pink }) 182 | call s:h("Label", { "fg": s:pink }) 183 | call s:h("Keyword", { "fg": s:aqua }) 184 | " Conditional" 185 | " Repeat" 186 | " Exception" 187 | 188 | call s:h("PreProc", { "fg": s:green }) 189 | call s:h("Include", { "fg": s:pink }) 190 | call s:h("Define", { "fg": s:pink }) 191 | call s:h("Macro", { "fg": s:green }) 192 | call s:h("PreCondit", { "fg": s:green }) 193 | 194 | call s:h("Special", { "fg": s:aqua }) 195 | call s:h("SpecialChar", { "fg": s:pink }) 196 | call s:h("Delimiter", { "fg": s:red }) 197 | call s:h("SpecialComment",{ "fg": s:aqua }) 198 | call s:h("Tag", { "fg": s:pink }) 199 | " Debug" 200 | 201 | call s:h("Todo", { "fg": s:aqua, "format": "bold,italic" }) 202 | call s:h("Comment", { "fg": s:coolgrey, "format": "italic" }) 203 | 204 | call s:h("Underlined", { "fg": s:green }) 205 | call s:h("Ignore", {}) 206 | call s:h("Error", { "fg": s:red, "bg": s:darkred }) 207 | 208 | " ALE 209 | " --- 210 | 211 | if g:materialmonokai_custom_lint_indicators == 1 212 | call s:h("ALEErrorSign", { "fg": s:red, "bg": s:darkgrey }) 213 | call s:h("ALEWarningSign", { "fg": s:yellow, "bg": s:darkgrey }) 214 | 215 | let g:ale_sign_error = '●' 216 | let g:ale_sign_warning = '●' 217 | endif 218 | 219 | " Git Gutter 220 | " --------- 221 | 222 | call s:h("GitGutterAdd", { "fg": s:green, "bg": s:darkgrey}) 223 | call s:h("GitGutterChange", { "fg": s:yellow, "bg": s:darkgrey }) 224 | call s:h("GitGutterDelete", { "fg": s:red, "bg": s:darkgrey }) 225 | call s:h("GitGutterChangeDelete", { "fg": s:yellow, "bg": s:darkgrey }) 226 | 227 | " NerdTree 228 | " -------- 229 | 230 | call s:h("NERDTreeOpenable", { "fg": s:pink }) 231 | call s:h("NERDTreeClosable", { "fg": s:pink }) 232 | call s:h("NERDTreeHelp", { "fg": s:yellow }) 233 | call s:h("NERDTreeBookmarksHeader", { "fg": s:aqua }) 234 | call s:h("NERDTreeBookmarksLeader", { "fg": s:black }) 235 | call s:h("NERDTreeBookmarkName", { "fg": s:yellow }) 236 | call s:h("NERDTreeCWD", { "fg": s:pink }) 237 | call s:h("NERDTreeUp", { "fg": s:white }) 238 | call s:h("NERDTreeDirSlash", { "fg": s:grey }) 239 | call s:h("NERDTreeDir", { "fg": s:coolgrey }) 240 | 241 | " Syntastic 242 | " --------- 243 | 244 | hi! link SyntasticErrorSign Error 245 | call s:h("SyntasticWarningSign", { "fg": s:lightblack, "bg": s:orange }) 246 | 247 | " Language highlight 248 | " ------------------ 249 | 250 | " Java properties 251 | call s:h("jpropertiesIdentifier", { "fg": s:pink }) 252 | 253 | " Vim command 254 | call s:h("vimCommand", { "fg": s:pink }) 255 | 256 | " Javascript 257 | call s:h("jsFuncName", { "fg": s:green }) 258 | call s:h("jsThis", { "fg": s:pink }) 259 | call s:h("jsFunctionKey", { "fg": s:green }) 260 | call s:h("jsPrototype", { "fg": s:aqua }) 261 | call s:h("jsExceptions", { "fg": s:aqua }) 262 | call s:h("jsFutureKeys", { "fg": s:aqua }) 263 | call s:h("jsBuiltins", { "fg": s:aqua }) 264 | call s:h("jsArgsObj", { "fg": s:aqua }) 265 | call s:h("jsStatic", { "fg": s:aqua }) 266 | call s:h("jsSuper", { "fg": s:aqua }) 267 | call s:h("jsFuncArgRest", { "fg": s:purple, "format": "italic" }) 268 | call s:h("jsFuncArgs", { "fg": s:orange, "format": "italic" }) 269 | call s:h("jsStorageClass", { "fg": s:aqua }) 270 | call s:h("jsVariableDef", { "fg": s:purple }) 271 | call s:h("jsDocTags", { "fg": s:aqua, "format": "italic" }) 272 | " pangloss/vim-javascript 273 | call s:h('jsArrowFunction', { "fg": s:green, }) 274 | call s:h('jsAsyncKeyword', { "fg": s:aqua, }) 275 | call s:h('jsExtendsKeyword', { "fg": s:purple, }) 276 | call s:h('jsClassKeyword', { "fg": s:purple, }) 277 | call s:h('jsDocParam', { "fg": s:aqua, }) 278 | call s:h('jsDocTags', { "fg": s:green, }) 279 | call s:h('jsForAwait', { "fg": s:purple, }) 280 | call s:h('jsFlowArgumentDef', { "fg": s:yellow, }) 281 | call s:h('jsFrom', { "fg": s:purple, }) 282 | call s:h('jsImport', { "fg": s:pink, }) 283 | call s:h('jsExport', { "fg": s:pink, }) 284 | call s:h('jsExportDefault', { "fg": s:orange, }) 285 | call s:h('jsFuncCall', { "fg": s:green, }) 286 | call s:h('jsGlobalObjects', { "fg": s:orange, }) 287 | call s:h('jsGlobalNodeObjects', { "fg": s:yellow, }) 288 | call s:h('jsModuleAs', { "fg": s:purple, }) 289 | call s:h('jsNoise', { "fg": s:pink, }) 290 | call s:h('jsNull', { "fg": s:orange, }) 291 | call s:h('jsObjectProp', { "fg": s:orange, }) 292 | call s:h('jsTemplateBraces', { "fg": s:orange, }) 293 | call s:h('jsTemplateExpression', { "fg": s:orange, }) 294 | call s:h('jsThis', { "fg": s:orange, }) 295 | call s:h('jsUndefined', { "fg": s:orange, }) 296 | 297 | " Html 298 | call s:h("htmlTag", { "fg": s:aqua }) 299 | call s:h("htmlEndTag", { "fg": s:aqua }) 300 | call s:h("htmlTagName", { "fg": s:pink }) 301 | call s:h("htmlArg", { "fg": s:green }) 302 | call s:h("htmlSpecialChar", { "fg": s:purple }) 303 | call s:h("htmlh1", { "fg": s:blue }) 304 | call s:h("htmlh2", { "fg": s:blue }) 305 | call s:h("htmlh3", { "fg": s:blue }) 306 | call s:h("htmlh4", { "fg": s:blue }) 307 | call s:h("htmlh5", { "fg": s:blue }) 308 | call s:h("htmlh6", { "fg": s:blue }) 309 | 310 | " PHP 311 | call s:h("phpIdentifier", { "fg": s:orange }) 312 | call s:h("phpRegion", { "fg": s:green }) 313 | call s:h("phpKeyword", { "fg": s:aqua }) 314 | call s:h("phpParent", { "fg": s:white }) 315 | 316 | " Xml 317 | call s:h("xmlTag", { "fg": s:pink }) 318 | call s:h("xmlEndTag", { "fg": s:pink }) 319 | call s:h("xmlTagName", { "fg": s:orange }) 320 | call s:h("xmlAttrib", { "fg": s:green }) 321 | 322 | " CSS 323 | call s:h("cssProp", { "fg": s:aqua, "format": "italic" }) 324 | call s:h("cssUIAttr", { "fg": s:yellow }) 325 | call s:h("cssUnitDecorators", { "fg": s:yellow }) 326 | call s:h("cssFunctionName", { "fg": s:aqua }) 327 | call s:h("cssColor", { "fg": s:purple }) 328 | call s:h("cssPseudoClassId", { "fg": s:purple }) 329 | call s:h("cssClassName", { "fg": s:green }) 330 | call s:h("cssValueLength", { "fg": s:purple }) 331 | call s:h("cssCommonAttr", { "fg": s:pink }) 332 | call s:h("cssBraces" , { "fg": s:white }) 333 | call s:h("cssClassNameDot", { "fg": s:pink }) 334 | call s:h("cssURL", { "fg": s:orange, "format": "underline,italic" }) 335 | call s:h("cssAttributeSelector",{ "fg": s:orange }) 336 | 337 | " SCSS 338 | call s:h("scssAmpersand", { "fg": s:pink }) 339 | call s:h("scssAttribute", { "fg": s:yellow }) 340 | call s:h("scssDefinition", { "fg": s:white }) 341 | call s:h("scssInclude", { "fg": s:pink }) 342 | call s:h("scssVariable", { "fg": s:orange }) 343 | 344 | " LESS 345 | call s:h("lessVariable", { "fg": s:green }) 346 | 347 | " ruby 348 | call s:h("rubyInterpolationDelimiter", {}) 349 | call s:h("rubyInstanceVariable", {}) 350 | call s:h("rubyGlobalVariable", {}) 351 | call s:h("rubyClassVariable", {}) 352 | call s:h("rubyPseudoVariable", {}) 353 | call s:h("rubyFunction", { "fg": s:green }) 354 | call s:h("rubyStringDelimiter", { "fg": s:yellow }) 355 | call s:h("rubyRegexp", { "fg": s:yellow }) 356 | call s:h("rubyRegexpDelimiter", { "fg": s:yellow }) 357 | call s:h("rubySymbol", { "fg": s:purple }) 358 | call s:h("rubyEscape", { "fg": s:purple }) 359 | call s:h("rubyInclude", { "fg": s:pink }) 360 | call s:h("rubyOperator", { "fg": s:pink }) 361 | call s:h("rubyControl", { "fg": s:pink }) 362 | call s:h("rubyClass", { "fg": s:pink }) 363 | call s:h("rubyDefine", { "fg": s:pink }) 364 | call s:h("rubyException", { "fg": s:pink }) 365 | call s:h("rubyRailsARAssociationMethod",{ "fg": s:orange }) 366 | call s:h("rubyRailsARMethod", { "fg": s:orange }) 367 | call s:h("rubyRailsRenderMethod", { "fg": s:orange }) 368 | call s:h("rubyRailsMethod", { "fg": s:orange }) 369 | call s:h("rubyConstant", { "fg": s:aqua }) 370 | call s:h("rubyBlockArgument", { "fg": s:orange }) 371 | call s:h("rubyBlockParameter", { "fg": s:orange }) 372 | 373 | " eruby 374 | call s:h("erubyDelimiter", {}) 375 | call s:h("erubyRailsMethod", { "fg": s:aqua }) 376 | 377 | " c 378 | call s:h("cLabel", { "fg": s:pink }) 379 | call s:h("cStructure", { "fg": s:pink }) 380 | call s:h("cStorageClass", { "fg": s:pink }) 381 | call s:h("cInclude", { "fg": s:green }) 382 | call s:h("cDefine", { "fg": s:green }) 383 | 384 | " Markdown 385 | call s:h("mkdDelimiter", { "fg": s:blue }) 386 | call s:h("mkdCode", { "fg": s:white }) 387 | call s:h("mkdLink", { "fg": s:green }) 388 | call s:h("mkdListItem", { "fg": s:orange }) 389 | call s:h("mkdURL", { "fg": s:pink }) 390 | 391 | " Jinja 392 | call s:h("jinjaVarBlock", { "fg": s:orange }) 393 | call s:h("jinjaTagBlock", { "fg": s:pink }) 394 | 395 | " Org-mode 396 | call s:h("org_heading2", { "fg": s:green }) 397 | call s:h("org_heading3", { "fg": s:purple }) 398 | call s:h("org_heading7", { "fg": s:yellow }) 399 | call s:h("org_shade_stars", { "fg": s:grey }) 400 | call s:h("org_list_unordered", { "fg": s:orange }) 401 | call s:h("org_list_ordered", { "fg": s:orange }) 402 | call s:h("org_timestamp", { "fg": s:pink }) 403 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Material Monokai Color Scheme for Vim 2 | 3 | Inspired by brendanblackwood's [material-monokai-syntax theme](https://github.com/brendanblackwood/material-monokai-syntax), my favorite Atom Syntax theme. 4 | 5 | This theme uses sickill's [vim-monokai](https://github.com/sickill/vim-monokai) as a base with its colors shifted to the Material Design color palette. It is recommended that you use a [matching terminal theme](https://github.com/MartinSeeler/iterm2-material-design). 6 | 7 | > **NOTE:** A terminal that supports true colors is strongly recommended. There is a 256 color fallback, but it doesn't look that great. 8 | 9 | ## Screenshots 10 | 11 | ![Material Monokai](https://i.imgur.com/oDzQb5A.png) 12 | 13 | ## Installation 14 | 15 | Install this color scheme using your preferred Vim plugin manager, then add the following to your .vimrc file: 16 | 17 | ```vim 18 | set background=dark 19 | set termguicolors 20 | colorscheme material-monokai 21 | ``` 22 | 23 | ### Options 24 | 25 | Enable italic comments (terminal permitting) by adding the following to your .vimrc file: 26 | ```vim 27 | let g:materialmonokai_italic=1 28 | ``` 29 | 30 | Enable subtle Spell highlighting: 31 | ```vim 32 | let g:materialmonokai_subtle_spell=1 33 | ``` 34 | 35 | Disable the custom ALE indicators if you want to set your own or like the default ones: 36 | ```vim 37 | let g:materialmonokai_custom_lint_indicators=0 38 | ``` 39 | 40 | ### Vim Airline Support 41 | Includes a matching [Airline](https://github.com/vim-airline/vim-airline) theme. To activate it, add the following to your .vimrc file: 42 | ```vim 43 | let g:airline_theme='materialmonokai' 44 | ``` 45 | 46 | #### Vim Airline Options 47 | Enable subtle mode indicator. By default both sides of the bar will change color based on the current mode. Turning this setting on will make only the mode label change color. To activate it, add the following to your .vimrc file: 48 | ```vim 49 | let g:materialmonokai_subtle_airline=1 50 | ``` 51 | --------------------------------------------------------------------------------