You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
270 lines
10 KiB
270 lines
10 KiB
" Vim Color File
|
|
" Name: plastic.vim
|
|
" Description: VSCode Plastic theme vim/neovim port
|
|
" Author: Florian Prz
|
|
" Repository: https://github.com/flrnprz/plastic.vim/
|
|
" License: The MIT License (MIT)
|
|
|
|
" Init {{{
|
|
scriptencoding utf-8
|
|
|
|
set background=dark
|
|
hi clear
|
|
|
|
if exists('syntax_on')
|
|
syntax reset
|
|
endif
|
|
|
|
let g:colors_name = 'plastic'
|
|
|
|
" Highlighting function (inspiration from https://github.com/chriskempson/base16-vim)
|
|
fun! <sid>hi(group, fg, bg, attr, sp)
|
|
if !empty(a:fg)
|
|
exec "hi " . a:group . " guifg=" . a:fg.gui . " ctermfg=" . a:fg.cterm256
|
|
endif
|
|
if !empty(a:bg)
|
|
exec "hi " . a:group . " guibg=" . a:bg.gui . " ctermbg=" . a:bg.cterm256
|
|
endif
|
|
if a:attr != ""
|
|
exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
|
|
endif
|
|
if !empty(a:sp)
|
|
exec "hi " . a:group . " guisp=" . a:sp.gui
|
|
endif
|
|
endfun
|
|
"}}}
|
|
|
|
" colors definition {{{
|
|
|
|
let s:red = {'gui': '#e06c75', 'cterm256': '204'}
|
|
let s:green = { 'gui': '#98c379', 'cterm256': '114'}
|
|
let s:yellow = { 'gui': '#e5c07b', 'cterm256': '180'}
|
|
let s:whisky = { 'gui': '#d19a66', 'cterm256': '173' }
|
|
let s:blue = { 'gui': '#61afef', 'cterm256': '39'}
|
|
let s:purple = { 'gui': '#af98e6', 'cterm256': '170'}
|
|
let s:aqua = { 'gui': '#56b6c2', 'cterm256': '38'}
|
|
let s:white = { 'gui': '#d7d7d7', 'cterm256': '145'}
|
|
let s:black = { 'gui': '#181a1f', 'cterm256': '234'}
|
|
let s:visual_black = { 'gui': 'NONE', 'cterm256': 'NONE'}
|
|
let s:background = {'gui': '#21252b', 'cterm256': '235'}
|
|
let s:foreground = {'gui': '#a9b2c3', 'cterm256': '235'}
|
|
let s:grey = { 'gui': '#abb2bf', 'cterm256': '59' }
|
|
let s:punctuation = { 'gui': '#7c8696', 'cterm256': '238' }
|
|
let s:none = {'gui': 'NONE', 'cterm256': 'NONE'}
|
|
|
|
" }}}
|
|
|
|
"--------------------
|
|
" Syntax Definitions
|
|
"--------------------
|
|
" <sid>hi(GROUP, FOREGROUND, BACKGROUND, ATTRIBUTE, SPECIAL)
|
|
call <sid>hi('Normal', s:white, s:background, 'none', {})
|
|
|
|
" UI {{{
|
|
call <sid>hi('Cursor', s:none, s:none, 'inverse', {})
|
|
hi link lCursor Cursor
|
|
hi link CursorIM Cursor
|
|
call <sid>hi('CursorLine', s:white, s:none, 'bold', {})
|
|
call <sid>hi('EndOfBuffer', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('Conceal', s:blue, s:none, 'none', {})
|
|
call <sid>hi('CursorColumn', s:none, s:blue, 'none', {})
|
|
call <sid>hi('ColorColumn', s:none, s:punctuation, 'none', {})
|
|
call <sid>hi('FoldColumn', s:punctuation, s:background, 'none', {})
|
|
call <sid>hi('SignColumn', s:none, s:background, 'none', {})
|
|
call <sid>hi('VertSplit', s:grey, s:background, 'none', {})
|
|
call <sid>hi('LineNr', s:punctuation, s:background, 'none', {})
|
|
call <sid>hi('CursorLineNr', s:punctuation, s:background, 'none', {})
|
|
|
|
call <sid>hi('DiffAdd', s:black, s:green, 'none', {})
|
|
call <sid>hi('DiffChange', s:black, s:purple, 'none', {})
|
|
call <sid>hi('DiffDelete', s:black, s:red, 'none', {})
|
|
call <sid>hi('DiffText', s:black, s:aqua, 'none', {})
|
|
|
|
call <sid>hi('ErrorMsg', s:red, s:background, 'bold', {})
|
|
call <sid>hi('ModeMsg', s:yellow, s:none, 'bold', {})
|
|
call <sid>hi('MoreMsg', s:aqua, s:none, 'bold', {})
|
|
call <sid>hi('WarningMsg', s:whisky, s:none, 'italic', {})
|
|
call <sid>hi('Noise', s:punctuation, s:none, 'none', {})
|
|
call <sid>hi('NonText', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('Folded', s:grey, s:none, 'none', {})
|
|
call <sid>hi('IncSearch', s:yellow, s:black, 'none', {})
|
|
call <sid>hi('Search', s:yellow, s:background, 'reverse', {})
|
|
|
|
call <sid>hi('Pmenu', s:none, s:black, 'none', {})
|
|
call <sid>hi('PmenuSel', s:black, s:white, 'none', {})
|
|
|
|
call <sid>hi('Question', s:white, s:background, 'bold', {})
|
|
call <sid>hi('MatchParen', s:blue, s:none, 'bold', {})
|
|
call <sid>hi('Directory', s:white, s:background, 'bold', {})
|
|
call <sid>hi('QuickFixLine', s:black, s:yellow, 'none', {})
|
|
|
|
call <sid>hi('SpecialKey', s:purple, s:none, 'none', {})
|
|
call <sid>hi('SpellBad', s:red, s:none, 'undercurl', s:red)
|
|
call <sid>hi('SpellCap', s:none, s:none, 'undercurl', {})
|
|
call <sid>hi('SpellLocal', s:none, s:none, 'undercurl', {})
|
|
call <sid>hi('SpellRare', s:none, s:none, 'undercurl', {})
|
|
|
|
call <sid>hi('StatusLine', s:white, s:background, 'none', {})
|
|
call <sid>hi('StatusLineNC', s:white, s:background, 'none', {})
|
|
hi link StatusLineTerm StatusLine
|
|
hi link StatusLineTermNC StatusLineNC
|
|
|
|
call <sid>hi('TabLine', s:white, s:black, 'none', {})
|
|
hi link TabLineFill TabLine
|
|
call <sid>hi('TabLineSel', s:whisky, s:black, 'none', {})
|
|
|
|
call <sid>hi('Title', s:white, s:none, 'none', {})
|
|
call <sid>hi('Visual', s:black, s:white, 'none', {})
|
|
hi link VisualNOS Visual
|
|
call <sid>hi('TabLine', s:white, s:black, 'none', {})
|
|
call <sid>hi('WildMenu', s:black, s:white, 'bold', {})
|
|
"}}}
|
|
|
|
"----------------------------------------------------
|
|
" Syntax groups and naming convenions
|
|
" http://vimdoc.sourceforge.net/htmldoc/syntax.html
|
|
"----------------------------------------------------
|
|
" {{{
|
|
call <sid>hi('Comment', s:grey, s:none, 'italic', {})
|
|
|
|
call <sid>hi('Constant', s:aqua, s:none, 'none', {})
|
|
call <sid>hi('String', s:green, s:none, 'none', {})
|
|
hi link Character Constant
|
|
hi link Number Constant
|
|
hi link Boolean Constant
|
|
hi link Float Number
|
|
|
|
call <sid>hi('Identifier', s:white, s:none, 'none', {})
|
|
call <sid>hi('Function', s:whisky, s:none, 'none', {})
|
|
|
|
call <sid>hi('Statement', s:red, s:none, 'none', {})
|
|
hi link Conditional Statement
|
|
|
|
call <sid>hi('PreProc', s:aqua, s:none, 'none', {})
|
|
|
|
call <sid>hi('Type', s:blue, s:none, 'none', {})
|
|
|
|
call <sid>hi('Special', s:punctuation, s:none, 'none', {})
|
|
|
|
call <sid>hi('Underlined', s:blue, s:none, 'underline', {})
|
|
|
|
call <sid>hi('Ignore', s:none, s:none, 'none', {})
|
|
|
|
call <sid>hi('Error', s:red, s:black, 'undercurl', {})
|
|
|
|
call <sid>hi('Todo', s:aqua, s:none, 'italic', {})
|
|
|
|
"}}}
|
|
|
|
"--------------------------
|
|
" Language specific syntax
|
|
"--------------------------
|
|
|
|
" HTML {{{
|
|
call <sid>hi('htmlTag', s:punctuation, s:none, 'none', {})
|
|
hi link htmlEndTag htmlTag
|
|
call <sid>hi('htmlTagName', s:blue, s:none, 'none', {})
|
|
call <sid>hi('htmlArg', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('htmlTitle', s:white, s:none, 'none', {})
|
|
"}}}
|
|
|
|
" XML {{{
|
|
call <sid>hi('xmlRegion', s:white, s:none, 'none', {})
|
|
hi link xmlTag xmlRegion
|
|
call <sid>hi('xmlTagName', s:yellow, s:none, 'none', {})
|
|
call <sid>hi('xmlEndTag', s:punctuation, s:none, 'none', {})
|
|
" }}}
|
|
|
|
" Css {{{
|
|
call <sid>hi('cssAttrComma', s:punctuation, s:none, 'none', {})
|
|
call <sid>hi('cssAttributeSelector', s:green, s:none, 'none', {})
|
|
call <sid>hi('cssBraces', s:punctuation, s:none, 'none', {})
|
|
call <sid>hi('cssClassName', s:aqua, s:none, 'none', {})
|
|
call <sid>hi('cssDefinition', s:purple, s:none, 'none', {})
|
|
call <sid>hi('cssFontAttr', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('cssFontDescriptor', s:purple, s:none, 'none', {})
|
|
call <sid>hi('cssFunctionName', s:blue, s:none, 'none', {})
|
|
call <sid>hi('cssIdentifier', s:blue, s:none, 'none', {})
|
|
call <sid>hi('cssImportant', s:purple, s:none, 'none', {})
|
|
call <sid>hi('cssInclude', s:white, s:none, 'none', {})
|
|
call <sid>hi('cssIncludeKeyword', s:red, s:none, 'none', {})
|
|
call <sid>hi('cssMediaType', s:aqua, s:none, 'none', {})
|
|
call <sid>hi('cssProp', s:white, s:none, 'none', {})
|
|
call <sid>hi('cssPseudoClassId', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('cssTagName', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('cssSelectorOp', s:purple, s:none, 'none', {})
|
|
call <sid>hi('cssSelectorOp2', s:purple, s:none, 'none', {})
|
|
"}}}
|
|
|
|
" Javascript {{{
|
|
call <sid>hi('jsImport', s:red, s:none, 'none', {})
|
|
hi link jsExport jsImport
|
|
hi link jsFrom jsImport
|
|
hi link jsExportDefault jsExport
|
|
hi link jsArrowFunction jsImport
|
|
call <sid>hi('jsStorageClass', s:blue, s:none, 'none', {})
|
|
call <sid>hi('jsClassKeyword', s:blue, s:none, 'none', {})
|
|
call <sid>hi('jsExtendsKeyword', s:blue, s:none, 'none', {})
|
|
call <sid>hi('jsThis', s:yellow, s:none, 'none', {})
|
|
"}}}
|
|
|
|
" JSX {{{
|
|
" https://github.com/MaxMEllon/vim-jsx-pretty
|
|
call <sid>hi('jsxTagName', s:yellow, s:none, 'none', {})
|
|
call <sid>hi('jsxPunct', s:punctuation, s:none, 'none', {})
|
|
call <sid>hi('jsClosePunct', s:punctuation, s:none, 'none', {})
|
|
call <sid>hi('jsxAttrib', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('jsxComponentName', s:blue, s:none, 'none', {})
|
|
hi link jsxCloseString jsClosePunct
|
|
"}}}
|
|
|
|
" Golang {{{
|
|
call <sid>hi('goDirective', s:aqua, s:none, 'none', {})
|
|
call <sid>hi('goConstants', s:white, s:none, 'none', {})
|
|
call <sid>hi('goDeclaration', s:red, s:none, 'none', {})
|
|
call <sid>hi('goDeclType', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('goBuiltins', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('goFunctionCall', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('goVarAssign', s:white, s:none, 'none', {})
|
|
hi link goVarDefs goVarAssign
|
|
"}}}
|
|
|
|
" Markdown {{{
|
|
call <sid>hi('markdownCode', s:green, s:none, 'none', {})
|
|
hi link markdownCodeBlock markdownCode
|
|
hi link markdownCodeDelimiter markdownCode
|
|
call <sid>hi('markdownHeadingDelimiter', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('markdownRule', s:punctuation, s:none, 'none', {})
|
|
call <sid>hi('markdownHeadingRule', s:punctuation, s:none, 'none', {})
|
|
call <sid>hi('markdownH1', s:whisky, s:none, 'none', {})
|
|
hi link markdownH2 markdownH1
|
|
hi link markdownH3 markdownH1
|
|
hi link markdownH4 markdownH1
|
|
hi link markdownH5 markdownH1
|
|
hi link markdownH6 markdownH1
|
|
call <sid>hi('markdownIdDelimiter', s:purple, s:none, 'none', {})
|
|
call <sid>hi('markdownId', s:purple, s:none, 'none', {})
|
|
call <sid>hi('markdownBlockquote', s:aqua, s:none, 'none', {})
|
|
call <sid>hi('markdowItalic', s:none, s:none, 'italic', {})
|
|
call <sid>hi('markdownBold', s:none, s:none, 'bold', {})
|
|
call <sid>hi('markdownListMarker', s:blue, s:none, 'none', {})
|
|
call <sid>hi('markdownOrderedListMarker', s:blue, s:none, 'none', {})
|
|
call <sid>hi('markdownIdDeclaration', s:blue, s:none, 'none', {})
|
|
call <sid>hi('markdownLinkText', s:blue, s:none, 'none', {})
|
|
call <sid>hi('markdownLinkDelimiter', s:white, s:none, 'none', {})
|
|
call <sid>hi('markdownUrl', s:purple, s:none, 'none', {})
|
|
|
|
"}}}
|
|
|
|
" NERDTree {{{
|
|
call <sid>hi('NERDTreeDir', s:blue, s:none, 'none', {})
|
|
call <sid>hi('NERDTreeDirSlash', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('NERDTreeFile', s:aqua, s:none, 'none', {})
|
|
call <sid>hi('NERDTreeExecFile', s:green, s:none, 'none', {})
|
|
call <sid>hi('NERDTreeOpenable', s:whisky, s:none, 'none', {})
|
|
call <sid>hi('NERDTreeClosable', s:red, s:none, 'none', {})
|
|
call <sid>hi('NERDTreeCWD', s:blue, s:none, 'bold', {})
|
|
call <sid>hi('NERDTreeUp', s:punctuation, s:none, 'none', {})
|
|
" }}}
|
|
|
|
" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0:
|