From 4b0d6b9af7bd7c1d218a22e9cfad082aed0a169f Mon Sep 17 00:00:00 2001 From: Patrick Stockwell Date: Wed, 5 Dec 2018 17:07:08 +1100 Subject: [PATCH] initial commit --- README.md | 10 ++ colors/monokaiTasty.vim | 279 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 289 insertions(+) create mode 100644 README.md create mode 100644 colors/monokaiTasty.vim diff --git a/README.md b/README.md new file mode 100644 index 0000000..e50520f --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# vim-monokai-tasty.vim + +Inspired by Sublime Text's interpretation of monokai, this colour scheme makes use of cterm color numbers to support VIM running on a wide range of systems. +It focuses mostly on Javascript highlighting, although there are bindings for the standard VIM highlights which will map for most languages. + +This colour scheme makes use of and has a dependency on [`vim/pangloss`](https://github.com/pangloss/vim-javascript), a VIM syntax file for javascript. + +## Installation + +[Plug](https://github.com/junegunn/vim-plug) - `Plug 'patstockwell/vim-monokai-tasty'` diff --git a/colors/monokaiTasty.vim b/colors/monokaiTasty.vim new file mode 100644 index 0000000..eac8d0c --- /dev/null +++ b/colors/monokaiTasty.vim @@ -0,0 +1,279 @@ +" Vim color file +" +" Author: Patrick Stockwell +" +" hi clear "Reset all highlighting to the defaults. Removes all highlighting for groups added by the user + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name = "tastySublime" + +" prefix with s: for local script-only functions or variables + +let s:fg = " ctermfg=" " foreground +let s:bg = " ctermbg=" " background +let s:style = " cterm=" + +let s:yellow = 228 +let s:purple = 141 +let s:light_green = 148 +let s:light_blue = 81 +let s:magenta = 197 +let s:orange = 208 + +let s:white = 231 +let s:light_grey = 250 +let s:grey = 245 +let s:dark_grey = 59 +let s:darker_grey = 238 +let s:charcoal = 235 +let s:pale_yellow = 186 +let s:danger = 197 +let s:olive = 64 +let s:dark_red = 88 +let s:blood_red = 52 +let s:dark_green = 22 +let s:light_sea_blue = 33 +let s:sea_blue = 25 + +let s:none = " ctermfg=NONE ctermbg=NONE cterm=NONE" + +exec "hi Cursor" . s:fg . s:charcoal . s:bg . s:light_blue . s:style . "NONE" + +exec "hi Normal" . s:fg . s:white . s:bg . s:charcoal . s:style . "NONE" +exec "hi Special" . s:fg . s:purple . s:style . "NONE" +exec "hi Title" . s:fg . s:white . s:style . "bold" + +exec "hi DiffChange" . s:fg . s:white . s:bg . s:sea_blue . s:style . "NONE" +exec "hi DiffText" . s:fg . s:white . s:bg . s:light_sea_blue . s:style . "NONE" +exec "hi DiffDelete" . s:fg . s:dark_red . s:bg . s:blood_red . s:style . "NONE" +exec "hi DiffAdd" . s:fg . s:white . s:bg . s:dark_green . s:style . "NONE" + +exec "hi Error" . s:fg . s:white . s:bg . s:danger . s:style . "NONE" +exec "hi ErrorMsg" . s:fg . s:white . s:bg . s:danger . s:style . "NONE" +exec "hi WarningMsg" . s:fg . s:white . s:bg . s:danger . s:style . "NONE" +exec "hi SpellBad" . s:fg . s:white . s:bg . s:danger . s:style . "NONE" +exec "hi SpellRare" . s:fg . s:white . s:bg . s:danger . s:style . "NONE" + +exec "hi CursorLineNR" . s:fg . s:pale_yellow . s:style . "NONE" + +exec "hi CursorColumn" . s:none +exec "hi ColorColumn" . s:none +exec "hi Conceal" . s:none +exec "hi CursorLine" . s:none +exec "hi ColorColumn" . s:none +exec "hi Type" . s:none + +exec "hi Visual " . s:bg . s:dark_grey . s:style . "NONE" +exec "hi TabLine" . s:fg . s:light_grey . s:bg . s:dark_grey . s:style . "underline" + +exec "hi TabLineSel" . s:bg . s:charcoal . s:style . "bold" + +exec "hi SignColumn" . s:fg . s:grey . s:bg . s:darker_grey . s:style . "NONE" +exec "hi NonText" . s:fg . s:darker_grey . s:style . "NONE" +exec "hi TabLineFill" . s:bg . s:darker_grey . s:style . "NONE" +exec "hi LineNr" . s:fg . s:darker_grey . s:style . "NONE" +exec "hi VertSplit" . s:fg . s:darker_grey . s:bg . s:charcoal . s:style . "NONE" +exec "hi StatusLine" . s:fg . s:white . s:bg . s:darker_grey . s:style . "NONE" +exec "hi StatusLineNC" . s:fg . s:white . s:bg . s:darker_grey . s:style . "NONE" + +exec "hi Exception" . s:fg . s:magenta . s:style . "bold" +exec "hi MatchParen" . s:fg . s:magenta . s:bg . "NONE" . s:style . "underline" +exec "hi Include" . s:fg . s:magenta . s:style . "NONE" +exec "hi Conditional" . s:fg . s:magenta . s:style . "NONE" +exec "hi Define" . s:fg . s:magenta . s:style . "NONE" +exec "hi Debug" . s:fg . s:magenta . s:style . "NONE" +exec "hi Delimiter" . s:fg . s:magenta . s:style . "NONE" +exec "hi Keyword" . s:fg . s:magenta . s:style . "NONE" +exec "hi Macro" . s:fg . s:magenta . s:style . "NONE" +exec "hi Operator" . s:fg . s:magenta . s:style . "NONE" +exec "hi PreProc" . s:fg . s:magenta . s:style . "NONE" +exec "hi Statement" . s:fg . s:magenta . s:style . "NONE" +exec "hi Repeat" . s:fg . s:magenta . s:style . "NONE" + +exec "hi SpecialKey" . s:fg . s:dark_grey . s:bg . s:darker_grey . s:style . "NONE" +exec "hi IncSearch" . s:fg . "NONE" . s:bg . s:darker_grey . s:style . "bold,underline" +exec "hi Search" . s:fg . "NONE" . s:bg . s:darker_grey . s:style . "bold,underline" + +exec "hi Identifier" . s:fg . s:light_blue . s:style . "NONE" +exec "hi Question" . s:fg . s:light_blue . s:style . "NONE" +exec "hi StorageClass" . s:fg . s:light_blue . s:style . "italic" +exec "hi Structure" . s:fg . s:light_blue . s:style . "NONE" + +exec "hi Function" . s:fg . s:light_green . s:style . "NONE" + +exec "hi Constant" . s:fg . s:purple . s:style . "NONE" +exec "hi Directory" . s:fg . s:purple . s:style . "NONE" +exec "hi Tag" . s:fg . s:purple . s:style . "NONE" + +exec "hi Folded" . s:fg . s:grey . s:bg . s:charcoal +exec "hi Comment" . s:fg . s:grey . s:style . "italic" + +exec "hi Boolean" . s:fg . s:purple . s:style . "NONE" +exec "hi Character" . s:fg . s:purple . s:style . "NONE" +exec "hi Float" . s:fg . s:purple . s:style . "NONE" +exec "hi Number" . s:fg . s:purple . s:style . "NONE" + +exec "hi Label" . s:fg . s:yellow . s:style . "NONE" +exec "hi String" . s:fg . s:yellow . s:style . "NONE" + +exec "hi Todo" . s:fg . s:yellow . s:bg . s:dark_grey . s:style . "bold" +exec "hi Underlined" . s:style . "underline" + +exec "hi Pmenu" . s:fg . s:light_blue . s:bg . s:darker_grey . s:style . "NONE" +exec "hi PmenuSel" . s:fg . s:yellow . s:bg . s:dark_grey . s:style . "NONE" +exec "hi PmenuSbar" . s:bg . s:grey . s:style . "NONE" +exec "hi PmenuThumb" . s:bg . s:white . s:style . "NONE" + +" Javascript syntax overwrites from vim-javascript plugin +syntax region jsObject contained matchgroup=jsObjectBraces start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectShorthandProp,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsTemplateString,jsDecorator,jsAsyncKeyword extend fold + +" Javascript colour highlighting rules +exec "hi Noise" . s:fg . s:magenta . s:style . "NONE" +hi def link jsComment Comment +hi def link jsEnvComment Comment +exec "hi jsParensIfElse" . s:fg . s:white . s:style . "NONE" +exec "hi jsParensRepeat" . s:fg . s:white . s:style . "NONE" +exec "hi jsParensSwitch" . s:fg . s:white . s:style . "NONE" +exec "hi jsParensCatch" . s:fg . s:white . s:style . "NONE" +hi def link jsCommentTodo Todo +hi def link jsString String +hi def link jsObjectKeyString String +hi def link jsTemplateString String +hi def link jsObjectStringKey String +hi def link jsClassStringKey String +exec "hi jsArrowFunction" . s:fg . s:light_blue . s:style . "NONE" +exec "hi jsArrowFuncArgs" . s:fg . s:orange . s:style . "italic" +hi def link jsStorageClass StorageClass +hi def link jsNumber Number + +exec "hi jsBrackets" . s:fg . s:light_green . s:style . "NONE" +exec "hi jsBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsFuncBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsClassBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsIfElseBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsTryCatchBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsModuleBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsObjectBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsFinallyBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsRepeatBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsSwitchBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsTemplateBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsDestructuringBraces" . s:fg . s:white . s:style . "NONE" +exec "hi jsFuncName" . s:fg . s:light_green . s:style . "NONE" +exec "hi jsFuncCall" . s:fg . s:light_blue . s:style . "NONE" +exec "hi jsClassFuncName" . s:fg . s:light_green . s:style . "NONE" +exec "hi jsArguments" . s:fg . s:orange . s:style . "italic" +exec "hi jsFuncArgs" . s:fg . s:orange . s:style . "italic" +exec "hi jsClassKeyword" . s:fg . s:light_blue . s:style . "italic" +exec "hi jsThis" . s:fg . s:orange . s:style . "italic" +exec "hi jsUndefined" . s:fg . s:purple . s:style . "NONE" +exec "hi jsParens" . s:fg . s:white . s:style . "NONE" +exec "hi jsFuncParens" . s:fg . s:white . s:style . "NONE" +exec "hi jsGlobalObjects" . s:fg . s:light_blue . s:style . "NONE" + +hi def link jsImport Include +hi def link jsExport Include +hi def link jsModuleComma Operator + +hi def link jsTaggedTemplate StorageClass +hi def link jsTernaryIfOperator Operator +hi def link jsRegexpString String +hi def link jsRegexpBoundary SpecialChar +hi def link jsRegexpQuantifier SpecialChar +hi def link jsRegexpOr Conditional +hi def link jsRegexpMod SpecialChar +hi def link jsRegexpBackRef SpecialChar +hi def link jsRegexpGroup String + +hi def link jsRegexpCharClass Character +hi def link jsCharacter Character +hi def link jsPrototype Special +hi def link jsConditional Conditional +hi def link jsBranch Conditional +hi def link jsLabel Label +hi def link jsReturn Statement +hi def link jsRepeat Repeat +hi def link jsDo Repeat +hi def link jsStatement Statement +hi def link jsException Exception +hi def link jsTry Exception +hi def link jsFinally Exception +hi def link jsCatch Exception +hi def link jsAsyncKeyword Keyword +hi def link jsForAwait Keyword +hi def link jsFunction Type +hi def link jsObjectFuncName Function +hi def link jsError Error +hi def link jsParensError Error +hi def link jsOperatorKeyword jsOperator +hi def link jsOperator Operator +hi def link jsOf Operator +hi def link jsExtendsKeyword Keyword +hi def link jsSuper Constant +hi def link jsNan Number +hi def link jsNull Type +hi def link jsFloat Float +hi def link jsBooleanTrue Boolean +hi def link jsBooleanFalse Boolean +hi def link jsObjectColon jsNoise +hi def link jsNoise Noise +hi def link jsDot Noise +hi def link jsClassNoise Noise +hi def link jsGenerator jsFunction + +hi def link jsObjectSeparator Noise +hi def link jsSpecial Special +hi def link jsGlobalNodeObjects Constant +hi def link jsExceptions Constant +hi def link jsBuiltins Constant +hi def link jsExportDefault StorageClass +hi def link jsExportDefaultGroup jsExportDefault +hi def link jsModuleAs Include +hi def link jsModuleAsterisk Noise +hi def link jsFrom Include +hi def link jsDecorator Special +hi def link jsDecoratorFunction Function +hi def link jsParensDecorator jsParens +hi def link jsFuncArgOperator jsFuncArgs +hi def link jsClassProperty jsObjectKey +hi def link jsObjectShorthandProp jsObjectKey +hi def link jsSpreadOperator Operator +hi def link jsRestOperator Operator +hi def link jsRestExpression jsFuncArgs +hi def link jsSwitchColon Noise +hi def link jsClassMethodType Type +hi def link jsObjectMethodType Type +hi def link jsClassDefinition jsFuncName +hi def link jsBlockLabel Identifier +hi def link jsBlockLabelKey jsBlockLabel +hi def link jsDestructuringProperty jsFuncArgs +hi def link jsDestructuringAssignment jsObjectKey +hi def link jsDestructuringNoise Noise +hi def link jsCommentFunction jsComment +hi def link jsCommentClass jsComment +hi def link jsCommentIfElse jsComment +hi def link jsCommentRepeat jsComment +hi def link jsDomErrNo Constant +hi def link jsDomNodeConsts Constant +hi def link jsDomElemAttrs Label +hi def link jsDomElemFuncs PreProc +hi def link jsHtmlEvents Special +hi def link jsHtmlElemAttrs Label +hi def link jsHtmlElemFuncs PreProc +hi def link jsCssStyles Label + + +" XML highlighting. +hi def link xmlTodo Todo +exec "hi xmlTag" . s:fg . s:light_blue +exec "hi xmlTagName" . s:fg . s:light_blue +exec "hi xmlEndTag" . s:fg . s:light_blue +exec "hi xmlEqual" . s:fg . s:magenta + +" Must be at the end, because of ctermbg=234 bug. +" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ +set background=dark +