diff --git a/.vim/pack/themes/start/dracula/after/plugin/dracula.vim b/.vim/pack/themes/start/dracula/after/plugin/dracula.vim new file mode 100644 index 0000000..dd76de0 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/plugin/dracula.vim @@ -0,0 +1,192 @@ +if dracula#should_abort() + finish +endif + +" Fzf: {{{ +if exists('g:loaded_fzf') && ! exists('g:fzf_colors') + let g:fzf_colors = { + \ 'fg': ['fg', 'Normal'], + \ 'bg': ['bg', 'Normal'], + \ 'hl': ['fg', 'Search'], + \ 'fg+': ['fg', 'Normal'], + \ 'bg+': ['bg', 'Normal'], + \ 'hl+': ['fg', 'DraculaOrange'], + \ 'info': ['fg', 'DraculaPurple'], + \ 'border': ['fg', 'Ignore'], + \ 'prompt': ['fg', 'DraculaGreen'], + \ 'pointer': ['fg', 'Exception'], + \ 'marker': ['fg', 'Keyword'], + \ 'spinner': ['fg', 'Label'], + \ 'header': ['fg', 'Comment'], + \} +endif +"}}} +" ALE: {{{ +if exists('g:ale_enabled') + hi! link ALEError DraculaErrorLine + hi! link ALEWarning DraculaWarnLine + hi! link ALEInfo DraculaInfoLine + + hi! link ALEErrorSign DraculaRed + hi! link ALEWarningSign DraculaOrange + hi! link ALEInfoSign DraculaCyan + + hi! link ALEVirtualTextError Comment + hi! link ALEVirtualTextWarning Comment +endif +" }}} +" CtrlP: {{{ +if exists('g:loaded_ctrlp') + hi! link CtrlPMatch IncSearch + hi! link CtrlPBufferHid Normal +endif +" }}} +" GitGutter / gitsigns: {{{ +if exists('g:loaded_gitgutter') + hi! link GitGutterAdd DiffAdd + hi! link GitGutterChange DiffChange + hi! link GitGutterDelete DiffDelete +endif +if has('nvim-0.5') && luaeval("pcall(require, 'gitsigns')") + " https://github.com/lewis6991/gitsigns.nvim requires nvim > 0.5 + " has('nvim-0.5') checks >= 0.5, so this should be future-proof. + hi! link GitSignsAdd DiffAdd + hi! link GitSignsAddLn DiffAdd + hi! link GitSignsAddNr DiffAdd + hi! link GitSignsChange DiffChange + hi! link GitSignsChangeLn DiffChange + hi! link GitSignsChangeNr DiffChange + hi! link GitSignsDelete DiffDelete + hi! link GitSignsDeleteLn DiffDelete + hi! link GitSignsDeleteNr DiffDelete +endif +" }}} +" Tree-sitter: {{{ +" The nvim-treesitter library defines many global highlight groups that are +" linked to the regular vim syntax highlight groups. We only need to redefine +" those highlight groups when the defaults do not match the dracula +" specification. +" https://github.com/nvim-treesitter/nvim-treesitter/blob/master/plugin/nvim-treesitter.vim +if exists('g:loaded_nvim_treesitter') + " deprecated TS* highlight groups + " see https://github.com/nvim-treesitter/nvim-treesitter/pull/3656 + " # Misc + hi! link TSPunctSpecial Special + " # Constants + hi! link TSConstMacro Macro + hi! link TSStringEscape Character + hi! link TSSymbol DraculaPurple + hi! link TSAnnotation DraculaYellow + hi! link TSAttribute DraculaGreenItalic + " # Functions + hi! link TSFuncBuiltin DraculaCyan + hi! link TSFuncMacro Function + hi! link TSParameter DraculaOrangeItalic + hi! link TSParameterReference DraculaOrange + hi! link TSField DraculaOrange + hi! link TSConstructor DraculaCyan + " # Keywords + hi! link TSLabel DraculaPurpleItalic + " # Variable + hi! link TSVariableBuiltin DraculaPurpleItalic + " # Text + hi! link TSStrong DraculaFgBold + hi! link TSEmphasis DraculaFg + hi! link TSUnderline Underlined + hi! link TSTitle DraculaYellow + hi! link TSLiteral DraculaYellow + hi! link TSURI DraculaYellow + " HTML and JSX tag attributes. By default, this group is linked to TSProperty, + " which in turn links to Identifer (white). + hi! link TSTagAttribute DraculaGreenItalic + + if has('nvim-0.8.1') + " # Misc + hi! link @punctuation.delimiter Delimiter + hi! link @punctuation.bracket DraculaFg + hi! link @punctuation.special Special + " # Constants + hi! link @constant Constant + hi! link @constant.builtin Constant + hi! link @constant.macro Macro + hi! link @string.regex String + hi! link @string.escape Character + hi! link @symbol DraculaPurple + hi! link @annotation DraculaYellow + hi! link @attribute DraculaGreenItalic + hi! link @namespace Structure + " # Functions + hi! link @function.builtin DraculaCyan + hi! link @funcion.macro Function + hi! link @parameter DraculaOrangeItalic + hi! link @parameter.reference DraculaOrange + hi! link @field DraculaOrange + hi! link @property DraculaFg + hi! link @constructor DraculaCyan + " # Keywords + hi! link @label DraculaPurpleItalic + hi! link @keyword.function DraculaPink + hi! link @keyword.operator Operator + hi! link @exception DraculaPurple + " # Variable + hi! link @variable DraculaFg + hi! link @variable.builtin DraculaPurpleItalic + " # Text + hi! link @text DraculaFg + hi! link @text.strong DraculaFgBold + hi! link @text.emphasis DraculaFg + hi! link @text.underline Underlined + hi! link @text.title DraculaYellow + hi! link @text.literal DraculaYellow + hi! link @text.uri DraculaYellow + hi! link @text.diff.add DiffAdd + hi! link @text.diff.delete DiffDelete + " # Tags + hi! link @tag DraculaCyan + hi! link @tag.delimiter DraculaFg + " HTML and JSX tag attributes. By default, this group is linked to TSProperty, + " which in turn links to Identifer (white). + hi! link @tag.attribute DraculaGreenItalic + endif +endif +" }}} +" nvim-cmp: {{{ +" A completion engine plugin for neovim written in Lua. +" https://github.com/hrsh7th/nvim-cmp +if exists('g:loaded_cmp') + hi! link CmpItemAbbrDeprecated DraculaError + + hi! link CmpItemAbbrMatch DraculaCyan + hi! link CmpItemAbbrMatchFuzzy DraculaCyan + + hi! link CmpItemKindText DraculaFg + hi! link CmpItemKindMethod Function + hi! link CmpItemKindFunction Function + hi! link CmpItemKindConstructor DraculaCyan + hi! link CmpItemKindField DraculaOrange + hi! link CmpItemKindVariable DraculaPurpleItalic + hi! link CmpItemKindClass DraculaCyan + hi! link CmpItemKindInterface DraculaCyan + hi! link CmpItemKindModule DraculaYellow + hi! link CmpItemKindProperty DraculaPink + hi! link CmpItemKindUnit DraculaFg + hi! link CmpItemKindValue DraculaYellow + hi! link CmpItemKindEnum DraculaPink + hi! link CmpItemKindKeyword DraculaPink + hi! link CmpItemKindSnippet DraculaFg + hi! link CmpItemKindColor DraculaYellow + hi! link CmpItemKindFile DraculaYellow + hi! link CmpItemKindReference DraculaOrange + hi! link CmpItemKindFolder DraculaYellow + hi! link CmpItemKindEnumMember DraculaPurple + hi! link CmpItemKindConstant DraculaPurple + hi! link CmpItemKindStruct DraculaPink + hi! link CmpItemKindEvent DraculaFg + hi! link CmpItemKindOperator DraculaPink + hi! link CmpItemKindTypeParameter DraculaCyan + + hi! link CmpItemMenu Comment +endif +" }}} + +" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0: diff --git a/.vim/pack/themes/start/dracula/after/syntax/css.vim b/.vim/pack/themes/start/dracula/after/syntax/css.vim new file mode 100644 index 0000000..764e0af --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/css.vim @@ -0,0 +1,15 @@ +if dracula#should_abort('css') + finish +endif + +hi! link cssAttrComma Delimiter +hi! link cssAttrRegion DraculaPink +hi! link cssAttributeSelector DraculaGreenItalic +hi! link cssBraces Delimiter +hi! link cssFunctionComma Delimiter +hi! link cssNoise DraculaPink +hi! link cssProp DraculaCyan +hi! link cssPseudoClass DraculaPink +hi! link cssPseudoClassId DraculaGreenItalic +hi! link cssUnitDecorators DraculaPink +hi! link cssVendor DraculaGreenItalic diff --git a/.vim/pack/themes/start/dracula/after/syntax/gitcommit.vim b/.vim/pack/themes/start/dracula/after/syntax/gitcommit.vim new file mode 100644 index 0000000..08099e5 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/gitcommit.vim @@ -0,0 +1,12 @@ +if dracula#should_abort('gitcommit') + finish +endif + +" The following two are misnomers. Colors are correct. +hi! link diffFile DraculaGreen +hi! link diffNewFile DraculaRed + +hi! link diffAdded DraculaGreen +hi! link diffLine DraculaCyanItalic +hi! link diffRemoved DraculaRed + diff --git a/.vim/pack/themes/start/dracula/after/syntax/html.vim b/.vim/pack/themes/start/dracula/after/syntax/html.vim new file mode 100644 index 0000000..243aef6 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/html.vim @@ -0,0 +1,9 @@ +if dracula#should_abort('html') + finish +endif + +hi! link htmlTag DraculaFg +hi! link htmlArg DraculaGreenItalic +hi! link htmlTitle DraculaFg +hi! link htmlH1 DraculaFg +hi! link htmlSpecialChar DraculaPurple diff --git a/.vim/pack/themes/start/dracula/after/syntax/javascript.vim b/.vim/pack/themes/start/dracula/after/syntax/javascript.vim new file mode 100644 index 0000000..e5754ae --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/javascript.vim @@ -0,0 +1,45 @@ +if dracula#should_abort('javascript', 'javascriptreact', 'javascript.jsx') + finish +endif + +hi! link javaScriptBraces Delimiter +hi! link javaScriptNumber Constant +hi! link javaScriptNull Constant +hi! link javaScriptFunction Keyword + +" pangloss/vim-javascript {{{ + +hi! link jsArrowFunction Operator +hi! link jsBuiltins DraculaCyan +hi! link jsClassDefinition DraculaCyan +hi! link jsClassMethodType Keyword +hi! link jsDestructuringAssignment DraculaOrangeItalic +hi! link jsDocParam DraculaOrangeItalic +hi! link jsDocTags Keyword +hi! link jsDocType Type +hi! link jsDocTypeBrackets DraculaCyan +hi! link jsFuncArgOperator Operator +hi! link jsFuncArgs DraculaOrangeItalic +hi! link jsFunction Keyword +hi! link jsNull Constant +hi! link jsObjectColon DraculaPink +hi! link jsSuper DraculaPurpleItalic +hi! link jsTemplateBraces Special +hi! link jsThis DraculaPurpleItalic +hi! link jsUndefined Constant + +"}}} + +" maxmellon/vim-jsx-pretty {{{ + +hi! link jsxTag Keyword +hi! link jsxTagName Keyword +hi! link jsxComponentName Type +hi! link jsxCloseTag Type +hi! link jsxAttrib DraculaGreenItalic +hi! link jsxCloseString Identifier +hi! link jsxOpenPunct Identifier + +" }}} + +" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0: diff --git a/.vim/pack/themes/start/dracula/after/syntax/javascriptreact.vim b/.vim/pack/themes/start/dracula/after/syntax/javascriptreact.vim new file mode 100644 index 0000000..b5b557c --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/javascriptreact.vim @@ -0,0 +1 @@ +runtime! syntax/javascript.vim diff --git a/.vim/pack/themes/start/dracula/after/syntax/json.vim b/.vim/pack/themes/start/dracula/after/syntax/json.vim new file mode 100644 index 0000000..a45d135 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/json.vim @@ -0,0 +1,6 @@ +if dracula#should_abort('json') + finish +endif + +hi! link jsonKeyword DraculaCyan +hi! link jsonKeywordMatch DraculaPink diff --git a/.vim/pack/themes/start/dracula/after/syntax/lua.vim b/.vim/pack/themes/start/dracula/after/syntax/lua.vim new file mode 100644 index 0000000..664848d --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/lua.vim @@ -0,0 +1,22 @@ +if dracula#should_abort('lua') + finish +endif + +hi! link luaFunc DraculaCyan +hi! link luaTable DraculaFg + +" tbastos/vim-lua {{{ + +hi! link luaBraces DraculaFg +hi! link luaBuiltIn Constant +hi! link luaDocTag Keyword +hi! link luaErrHand DraculaCyan +hi! link luaFuncArgName DraculaOrangeItalic +hi! link luaFuncCall Function +hi! link luaLocal Keyword +hi! link luaSpecialTable Constant +hi! link luaSpecialValue DraculaCyan + +" }}} + +" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0: diff --git a/.vim/pack/themes/start/dracula/after/syntax/markdown.vim b/.vim/pack/themes/start/dracula/after/syntax/markdown.vim new file mode 100644 index 0000000..0283a86 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/markdown.vim @@ -0,0 +1,50 @@ +if dracula#should_abort('markdown', 'mkd') + finish +endif + +if b:current_syntax ==# 'mkd' +" plasticboy/vim-markdown {{{1 + hi! link htmlBold DraculaOrangeBold + hi! link htmlBoldItalic DraculaOrangeBoldItalic + hi! link htmlH1 DraculaPurpleBold + hi! link htmlItalic DraculaYellowItalic + hi! link mkdBlockquote DraculaYellowItalic + hi! link mkdBold DraculaOrangeBold + hi! link mkdBoldItalic DraculaOrangeBoldItalic + hi! link mkdCode DraculaGreen + hi! link mkdCodeEnd DraculaGreen + hi! link mkdCodeStart DraculaGreen + hi! link mkdHeading DraculaPurpleBold + hi! link mkdInlineUrl DraculaLink + hi! link mkdItalic DraculaYellowItalic + hi! link mkdLink DraculaPink + hi! link mkdListItem DraculaCyan + hi! link mkdRule DraculaComment + hi! link mkdUrl DraculaLink +"}}}1 +elseif b:current_syntax ==# 'markdown' +" Builtin: {{{1 + hi! link markdownBlockquote DraculaCyan + hi! link markdownBold DraculaOrangeBold + hi! link markdownBoldItalic DraculaOrangeBoldItalic + hi! link markdownCodeBlock DraculaGreen + hi! link markdownCode DraculaGreen + hi! link markdownCodeDelimiter DraculaGreen + hi! link markdownH1 DraculaPurpleBold + hi! link markdownH2 markdownH1 + hi! link markdownH3 markdownH1 + hi! link markdownH4 markdownH1 + hi! link markdownH5 markdownH1 + hi! link markdownH6 markdownH1 + hi! link markdownHeadingDelimiter markdownH1 + hi! link markdownHeadingRule markdownH1 + hi! link markdownItalic DraculaYellowItalic + hi! link markdownLinkText DraculaPink + hi! link markdownListMarker DraculaCyan + hi! link markdownOrderedListMarker DraculaCyan + hi! link markdownRule DraculaComment + hi! link markdownUrl DraculaLink +"}}} +endif + +" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0: diff --git a/.vim/pack/themes/start/dracula/after/syntax/ocaml.vim b/.vim/pack/themes/start/dracula/after/syntax/ocaml.vim new file mode 100644 index 0000000..60c76c9 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/ocaml.vim @@ -0,0 +1,7 @@ +if dracula#should_abort('ocaml') + finish +endif + +hi! link ocamlModule Type +hi! link ocamlModPath Normal +hi! link ocamlLabel DraculaOrangeItalic diff --git a/.vim/pack/themes/start/dracula/after/syntax/perl.vim b/.vim/pack/themes/start/dracula/after/syntax/perl.vim new file mode 100644 index 0000000..67f3923 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/perl.vim @@ -0,0 +1,38 @@ +if dracula#should_abort('perl') + finish +endif + +" Regex +hi! link perlMatchStartEnd DraculaRed + +" Builtin functions +hi! link perlOperator DraculaCyan +hi! link perlStatementFiledesc DraculaCyan +hi! link perlStatementFiles DraculaCyan +hi! link perlStatementFlow DraculaCyan +hi! link perlStatementHash DraculaCyan +hi! link perlStatementIOfunc DraculaCyan +hi! link perlStatementIPC DraculaCyan +hi! link perlStatementList DraculaCyan +hi! link perlStatementMisc DraculaCyan +hi! link perlStatementNetwork DraculaCyan +hi! link perlStatementNumeric DraculaCyan +hi! link perlStatementProc DraculaCyan +hi! link perlStatementPword DraculaCyan +hi! link perlStatementRegexp DraculaCyan +hi! link perlStatementScalar DraculaCyan +hi! link perlStatementSocket DraculaCyan +hi! link perlStatementTime DraculaCyan +hi! link perlStatementVector DraculaCyan + +" Highlighting for quoting constructs, tied to existing option in vim-perl +if get(g:, 'perl_string_as_statement', 0) + hi! link perlStringStartEnd DraculaRed +endif + +" Signatures +hi! link perlSignature DraculaOrangeItalic +hi! link perlSubPrototype DraculaOrangeItalic + +" Hash keys +hi! link perlVarSimpleMemberName DraculaPurple diff --git a/.vim/pack/themes/start/dracula/after/syntax/php.vim b/.vim/pack/themes/start/dracula/after/syntax/php.vim new file mode 100644 index 0000000..1475b01 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/php.vim @@ -0,0 +1,10 @@ +if dracula#should_abort('php') + finish +endif + +hi! link phpClass Type +hi! link phpClasses Type +hi! link phpDocTags DraculaCyanItalic +hi! link phpFunction Function +hi! link phpParent Normal +hi! link phpSpecialFunction DraculaCyan diff --git a/.vim/pack/themes/start/dracula/after/syntax/plantuml.vim b/.vim/pack/themes/start/dracula/after/syntax/plantuml.vim new file mode 100644 index 0000000..b9bf365 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/plantuml.vim @@ -0,0 +1,13 @@ +if dracula#should_abort('plantuml') + finish +endif + +hi! link plantumlClassPrivate SpecialKey +hi! link plantumlClassProtected DraculaOrange +hi! link plantumlClassPublic Function +hi! link plantumlColonLine String +hi! link plantumlDirectedOrVerticalArrowLR Constant +hi! link plantumlDirectedOrVerticalArrowRL Constant +hi! link plantumlHorizontalArrow Constant +hi! link plantumlSkinParamKeyword DraculaCyan +hi! link plantumlTypeKeyword Keyword diff --git a/.vim/pack/themes/start/dracula/after/syntax/purescript.vim b/.vim/pack/themes/start/dracula/after/syntax/purescript.vim new file mode 100644 index 0000000..ca32818 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/purescript.vim @@ -0,0 +1,9 @@ +if dracula#should_abort('purescript') + finish +endif + +hi! link purescriptModule Type +hi! link purescriptImport DraculaCyan +hi! link purescriptImportAs DraculaCyan +hi! link purescriptOperator Operator +hi! link purescriptBacktick Operator diff --git a/.vim/pack/themes/start/dracula/after/syntax/python.vim b/.vim/pack/themes/start/dracula/after/syntax/python.vim new file mode 100644 index 0000000..171eddd --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/python.vim @@ -0,0 +1,11 @@ +if dracula#should_abort('python') + finish +endif + +hi! link pythonBuiltinObj Type +hi! link pythonBuiltinObject Type +hi! link pythonBuiltinType Type +hi! link pythonClassVar DraculaPurpleItalic +hi! link pythonExClass Type +hi! link pythonNone Type +hi! link pythonRun Comment diff --git a/.vim/pack/themes/start/dracula/after/syntax/rst.vim b/.vim/pack/themes/start/dracula/after/syntax/rst.vim new file mode 100644 index 0000000..8cb6924 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/rst.vim @@ -0,0 +1,26 @@ +if dracula#should_abort('rst') + finish +endif + +hi! link rstComment Comment +hi! link rstTransition Comment +hi! link rstCodeBlock DraculaGreen +hi! link rstInlineLiteral DraculaGreen +hi! link rstLiteralBlock DraculaGreen +hi! link rstQuotedLiteralBlock DraculaGreen +hi! link rstStandaloneHyperlink DraculaLink +hi! link rstStrongEmphasis DraculaOrangeBold +hi! link rstSections DraculaPurpleBold +hi! link rstEmphasis DraculaYellowItalic +hi! link rstDirective Keyword +hi! link rstSubstitutionDefinition Keyword +hi! link rstCitation String +hi! link rstExDirective String +hi! link rstFootnote String +hi! link rstCitationReference Tag +hi! link rstFootnoteReference Tag +hi! link rstHyperLinkReference Tag +hi! link rstHyperlinkTarget Tag +hi! link rstInlineInternalTargets Tag +hi! link rstInterpretedTextOrHyperlinkReference Tag +hi! link rstTodo Todo diff --git a/.vim/pack/themes/start/dracula/after/syntax/ruby.vim b/.vim/pack/themes/start/dracula/after/syntax/ruby.vim new file mode 100644 index 0000000..fec0058 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/ruby.vim @@ -0,0 +1,16 @@ +if dracula#should_abort('ruby') + finish +endif + +if ! exists('g:ruby_operators') + let g:ruby_operators=1 +endif + +hi! link rubyBlockArgument DraculaOrangeItalic +hi! link rubyBlockParameter DraculaOrangeItalic +hi! link rubyCurlyBlock DraculaPink +hi! link rubyGlobalVariable DraculaPurple +hi! link rubyInstanceVariable DraculaPurpleItalic +hi! link rubyInterpolationDelimiter DraculaPink +hi! link rubyRegexpDelimiter DraculaRed +hi! link rubyStringDelimiter DraculaYellow diff --git a/.vim/pack/themes/start/dracula/after/syntax/rust.vim b/.vim/pack/themes/start/dracula/after/syntax/rust.vim new file mode 100644 index 0000000..410334b --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/rust.vim @@ -0,0 +1,5 @@ +if dracula#should_abort('rust') + finish +endif + +hi! link rustCommentLineDoc Comment diff --git a/.vim/pack/themes/start/dracula/after/syntax/sass.vim b/.vim/pack/themes/start/dracula/after/syntax/sass.vim new file mode 100644 index 0000000..35a810f --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/sass.vim @@ -0,0 +1,12 @@ +if dracula#should_abort('sass') + finish +endif + +hi! link sassClass cssClassName +hi! link sassClassChar cssClassNameDot +hi! link sassId cssIdentifier +hi! link sassIdChar cssIdentifier +hi! link sassInterpolationDelimiter DraculaPink +hi! link sassMixinName Function +hi! link sassProperty cssProp +hi! link sassVariableAssignment Operator diff --git a/.vim/pack/themes/start/dracula/after/syntax/sh.vim b/.vim/pack/themes/start/dracula/after/syntax/sh.vim new file mode 100644 index 0000000..8d471ef --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/sh.vim @@ -0,0 +1,8 @@ +if dracula#should_abort('bash', 'ksh', 'posix', 'sh') + finish +endif + +hi! link shCommandSub NONE +hi! link shEscape DraculaRed +hi! link shParen NONE +hi! link shParenError NONE diff --git a/.vim/pack/themes/start/dracula/after/syntax/tex.vim b/.vim/pack/themes/start/dracula/after/syntax/tex.vim new file mode 100644 index 0000000..a46132c --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/tex.vim @@ -0,0 +1,16 @@ +if dracula#should_abort('tex') + finish +endif + +hi! link texBeginEndName DraculaOrangeItalic +hi! link texBoldItalStyle DraculaOrangeBoldItalic +hi! link texBoldStyle DraculaOrangeBold +hi! link texInputFile DraculaOrangeItalic +hi! link texItalStyle DraculaYellowItalic +hi! link texLigature DraculaPurple +hi! link texMath DraculaPurple +hi! link texMathMatcher DraculaPurple +hi! link texMathSymbol DraculaPurple +hi! link texSpecialChar DraculaPurple +hi! link texSubscripts DraculaPurple +hi! link texTitle DraculaFgBold diff --git a/.vim/pack/themes/start/dracula/after/syntax/typescript.vim b/.vim/pack/themes/start/dracula/after/syntax/typescript.vim new file mode 100644 index 0000000..c368fb5 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/typescript.vim @@ -0,0 +1,57 @@ +if dracula#should_abort('typescript', 'typescriptreact', 'typescript.tsx') + finish +endif + +" HerringtonDarkholme/yats.vim {{{ + +hi! link typescriptAliasDeclaration Type +hi! link typescriptArrayMethod Function +hi! link typescriptArrowFunc Operator +hi! link typescriptArrowFuncArg DraculaOrangeItalic +hi! link typescriptAssign Operator +hi! link typescriptBOMWindowProp Constant +hi! link typescriptBinaryOp Operator +hi! link typescriptBraces Delimiter +hi! link typescriptCall typescriptArrowFuncArg +hi! link typescriptClassHeritage Type +hi! link typescriptClassName Type +hi! link typescriptDateMethod DraculaCyan +hi! link typescriptDateStaticMethod Function +hi! link typescriptDecorator DraculaGreenItalic +hi! link typescriptDefaultParam Operator +hi! link typescriptES6SetMethod DraculaCyan +hi! link typescriptEndColons Delimiter +hi! link typescriptEnum Type +hi! link typescriptEnumKeyword Keyword +hi! link typescriptFuncComma Delimiter +hi! link typescriptFuncKeyword Keyword +hi! link typescriptFuncType DraculaOrangeItalic +hi! link typescriptFuncTypeArrow Operator +hi! link typescriptGlobal Type +hi! link typescriptGlobalMethod DraculaCyan +hi! link typescriptGlobalObjects Type +hi! link typescriptIdentifier DraculaPurpleItalic +hi! link typescriptInterfaceHeritage Type +hi! link typescriptInterfaceName Type +hi! link typescriptInterpolationDelimiter Keyword +hi! link typescriptKeywordOp Keyword +hi! link typescriptLogicSymbols Operator +hi! link typescriptMember Identifier +hi! link typescriptMemberOptionality Special +hi! link typescriptObjectColon Special +hi! link typescriptObjectLabel Identifier +hi! link typescriptObjectSpread Operator +hi! link typescriptOperator Operator +hi! link typescriptParamImpl DraculaOrangeItalic +hi! link typescriptParens Delimiter +hi! link typescriptPredefinedType Type +hi! link typescriptRestOrSpread Operator +hi! link typescriptTernaryOp Operator +hi! link typescriptTypeAnnotation Special +hi! link typescriptTypeCast Operator +hi! link typescriptTypeParameter DraculaOrangeItalic +hi! link typescriptTypeReference Type +hi! link typescriptUnaryOp Operator +hi! link typescriptVariable Keyword + +" }}} diff --git a/.vim/pack/themes/start/dracula/after/syntax/typescriptreact.vim b/.vim/pack/themes/start/dracula/after/syntax/typescriptreact.vim new file mode 100644 index 0000000..ec8062e --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/typescriptreact.vim @@ -0,0 +1,22 @@ +if dracula#should_abort('typescriptreact', 'typescript.tsx') + finish +endif + +runtime! syntax/typescript.vim + +hi! link tsxAttrib DraculaGreenItalic +hi! link tsxEqual Operator +hi! link tsxIntrinsicTagName Keyword +hi! link tsxTagName Type + +" maxmellon/vim-jsx-pretty {{{ + +hi! link jsxTag Keyword +hi! link jsxTagName Keyword +hi! link jsxComponentName Type +hi! link jsxCloseTag Type +hi! link jsxAttrib DraculaGreenItalic +hi! link jsxCloseString Identifier +hi! link jsxOpenPunct Identifier + +" }}} diff --git a/.vim/pack/themes/start/dracula/after/syntax/vim.vim b/.vim/pack/themes/start/dracula/after/syntax/vim.vim new file mode 100644 index 0000000..a49a93a --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/vim.vim @@ -0,0 +1,14 @@ +if dracula#should_abort('vim') + finish +endif + +hi! link vimAutoCmdSfxList Type +hi! link vimAutoEventList Type +hi! link vimEnvVar Constant +hi! link vimFunction Function +hi! link vimHiBang Keyword +hi! link vimOption Type +hi! link vimSetMod Keyword +hi! link vimSetSep Delimiter +hi! link vimUserAttrbCmpltFunc Function +hi! link vimUserFunc Function diff --git a/.vim/pack/themes/start/dracula/after/syntax/xml.vim b/.vim/pack/themes/start/dracula/after/syntax/xml.vim new file mode 100644 index 0000000..4b82698 --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/xml.vim @@ -0,0 +1,13 @@ +if dracula#should_abort('xml') + finish +endif + +hi! link xmlAttrib DraculaGreenItalic +hi! link xmlEqual Operator +hi! link xmlTag Delimiter +hi! link xmlTagName Statement + +" Fixes missing highlight over end tags +syn region xmlTagName + \ matchgroup=xmlTag start=+"']\@=+ + \ matchgroup=xmlTag end=+>+ diff --git a/.vim/pack/themes/start/dracula/after/syntax/yaml.vim b/.vim/pack/themes/start/dracula/after/syntax/yaml.vim new file mode 100644 index 0000000..fedc41f --- /dev/null +++ b/.vim/pack/themes/start/dracula/after/syntax/yaml.vim @@ -0,0 +1,12 @@ +if dracula#should_abort('yaml') + finish +endif + +hi! link yamlAlias DraculaGreenItalicUnderline +hi! link yamlAnchor DraculaPinkItalic +hi! link yamlBlockMappingKey DraculaCyan +hi! link yamlFlowCollection DraculaPink +hi! link yamlFlowIndicator Delimiter +hi! link yamlNodeTag DraculaPink +hi! link yamlPlainScalar DraculaYellow + diff --git a/.vim/pack/themes/start/dracula/autoload/airline/themes/dracula.vim b/.vim/pack/themes/start/dracula/autoload/airline/themes/dracula.vim new file mode 100644 index 0000000..42172ca --- /dev/null +++ b/.vim/pack/themes/start/dracula/autoload/airline/themes/dracula.vim @@ -0,0 +1,160 @@ +" Dracula Airline Theme: {{{ +" +" Copyright 2016, All rights reserved +" +" Code licensed under the MIT license +" http://zenorocha.mit-license.org +" +" @author Extrante +" @author Zeno Rocha +"}}} +" Helpers: {{{ + +" Takes a foreground color name, background color name, and optionally one or +" more attr-list items as input, transforms it to the format accepted by +" airline#themes#generate_color_map and returns that value +func! s:clr(fg, bg, ...) + let l:fg = g:dracula#palette[a:fg] + let l:bg = g:dracula#palette[a:bg] + return [ l:fg[0], l:bg[0], l:fg[1], l:bg[1] ] + + \ filter(copy(a:000), 'type(v:val) == 1 && len(v:val) > 0') +endfunc + +" Takes three ['fg', 'bg'] color lists and optionally a dictionary of extra +" key-value pairs and returns the value generated by +" airline#themes#generate_color_map after optionally merging the dictionary of +" extra key-value pairs. +" +" a:a -> airline_a, airline_x +" a:b -> airline_b, airline_y +" a:c -> airline_c, airline_z +func! s:color_map(a, b, c, ...) + if a:0 == 0 + return call('airline#themes#generate_color_map', [call('s:clr', a:a), call('s:clr', a:b), call('s:clr', a:c)]) + else + return call('extend', [ call('airline#themes#generate_color_map', [call('s:clr', a:a), call('s:clr', a:b), call('s:clr', a:c)]) ] + a:000) + endif +endfunc + +"}}} + +let g:airline#themes#dracula#palette = { +\ 'normal': s:color_map( +\ ['bg', 'purple'], +\ ['fg', 'comment'], +\ ['fg', 'selection'], +\ { +\ 'airline_warning': s:clr('bg', 'orange'), +\ 'airline_error': s:clr('bg', 'red'), +\ }, +\ ), +\ 'normal_modified': s:color_map( +\ ['bg', 'purple'], +\ ['fg', 'comment'], +\ ['fg', 'bgdark'], +\ { +\ 'airline_warning': s:clr('bg', 'orange'), +\ 'airline_error': s:clr('bg', 'red'), +\ }, +\ ), +\ 'insert': s:color_map( +\ ['bg', 'green'], +\ ['fg', 'comment'], +\ ['fg', 'selection'], +\ { +\ 'airline_warning': s:clr('bg', 'orange'), +\ 'airline_error': s:clr('bg', 'red'), +\ }, +\ ), +\ 'insert_modified': s:color_map( +\ ['bg', 'green'], +\ ['fg', 'comment'], +\ ['fg', 'bgdark'], +\ { +\ 'airline_warning': s:clr('bg', 'orange'), +\ 'airline_error': s:clr('bg', 'red'), +\ }, +\ ), +\ 'replace': s:color_map( +\ ['bg', 'orange'], +\ ['fg', 'comment'], +\ ['fg', 'selection'], +\ { +\ 'airline_warning': s:clr('bg', 'orange'), +\ 'airline_error': s:clr('bg', 'red'), +\ }, +\ ), +\ 'replace_modified': s:color_map( +\ ['bg', 'orange'], +\ ['fg', 'comment'], +\ ['fg', 'bgdark'], +\ { +\ 'airline_warning': s:clr('bg', 'orange'), +\ 'airline_error': s:clr('bg', 'red'), +\ }, +\ ), +\ 'visual': s:color_map( +\ ['bg', 'yellow'], +\ ['fg', 'comment'], +\ ['fg', 'selection'], +\ { +\ 'airline_warning': s:clr('bg', 'orange'), +\ 'airline_error': s:clr('bg', 'red'), +\ }, +\ ), +\ 'visual_modified': s:color_map( +\ ['bg', 'yellow'], +\ ['fg', 'comment'], +\ ['fg', 'bgdark'], +\ { +\ 'airline_warning': s:clr('bg', 'orange'), +\ 'airline_error': s:clr('bg', 'red'), +\ }, +\ ), +\ 'inactive': s:color_map( +\ ['bg', 'comment'], +\ ['fg', 'bgdark'], +\ ['fg', 'selection'], +\ { +\ 'airline_warning': s:clr('bg', 'orange'), +\ 'airline_error': s:clr('bg', 'red'), +\ }, +\ ), +\ 'terminal': s:color_map( +\ ['bg', 'green'], +\ ['fg', 'comment'], +\ ['fg', 'selection'], +\ { +\ 'airline_term': s:clr('fg', 'selection'), +\ }, +\ ), +\} + +" Extensions: {{{ +" Tabline: {{{ +if get(g:, 'airline#extensions#tabline#enabled', 0) + let g:airline#themes#dracula#palette.tabline = { + \ 'airline_tabfill': s:clr('bg', 'bglight'), + \ + \ 'airline_tab': s:clr('comment', 'bg'), + \ 'airline_tabsel': s:clr('bg', 'purple'), + \ 'airline_tabmod': s:clr('green', 'bg'), + \ + \ 'airline_tab_right': s:clr('comment', 'bg'), + \ 'airline_tabsel_right': s:clr('fg', 'bg', ), + \ 'airline_tabmod_right': s:clr('green', 'bg'), + \} +endif +"}}} +" CtrlP: {{{2 +if exists('g:loaded_ctrlp') + let g:airline#themes#dracula#palette.ctrlp = airline#extensions#ctrlp#generate_color_map( + \ s:clr('fg', 'selection'), + \ s:clr('fg', 'comment'), + \ s:clr('fg', 'purple'), + \) +endif +"}}}2 +"}}} + +" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0: diff --git a/.vim/pack/themes/start/dracula/autoload/dracula.vim b/.vim/pack/themes/start/dracula/autoload/dracula.vim new file mode 100644 index 0000000..23f9656 --- /dev/null +++ b/.vim/pack/themes/start/dracula/autoload/dracula.vim @@ -0,0 +1,57 @@ +" Palette: {{{ + +let g:dracula#palette = {} +let g:dracula#palette.fg = ['#F8F8F2', 253] + +let g:dracula#palette.bglighter = ['#424450', 238] +let g:dracula#palette.bglight = ['#343746', 237] +let g:dracula#palette.bg = ['#282A36', 236] +let g:dracula#palette.bgdark = ['#21222C', 235] +let g:dracula#palette.bgdarker = ['#191A21', 234] + +let g:dracula#palette.comment = ['#6272A4', 61] +let g:dracula#palette.selection = ['#44475A', 239] +let g:dracula#palette.subtle = ['#424450', 238] + +let g:dracula#palette.cyan = ['#8BE9FD', 117] +let g:dracula#palette.green = ['#50FA7B', 84] +let g:dracula#palette.orange = ['#FFB86C', 215] +let g:dracula#palette.pink = ['#FF79C6', 212] +let g:dracula#palette.purple = ['#BD93F9', 141] +let g:dracula#palette.red = ['#FF5555', 203] +let g:dracula#palette.yellow = ['#F1FA8C', 228] + +" +" ANSI +" +let g:dracula#palette.color_0 = '#21222C' +let g:dracula#palette.color_1 = '#FF5555' +let g:dracula#palette.color_2 = '#50FA7B' +let g:dracula#palette.color_3 = '#F1FA8C' +let g:dracula#palette.color_4 = '#BD93F9' +let g:dracula#palette.color_5 = '#FF79C6' +let g:dracula#palette.color_6 = '#8BE9FD' +let g:dracula#palette.color_7 = '#F8F8F2' +let g:dracula#palette.color_8 = '#6272A4' +let g:dracula#palette.color_9 = '#FF6E6E' +let g:dracula#palette.color_10 = '#69FF94' +let g:dracula#palette.color_11 = '#FFFFA5' +let g:dracula#palette.color_12 = '#D6ACFF' +let g:dracula#palette.color_13 = '#FF92DF' +let g:dracula#palette.color_14 = '#A4FFFF' +let g:dracula#palette.color_15 = '#FFFFFF' + +" }}} + +" Helper function that takes a variadic list of filetypes as args and returns +" whether or not the execution of the ftplugin should be aborted. +func! dracula#should_abort(...) + if ! exists('g:colors_name') || g:colors_name !=# 'dracula' + return 1 + elseif a:0 > 0 && (! exists('b:current_syntax') || index(a:000, b:current_syntax) == -1) + return 1 + endif + return 0 +endfunction + +" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0: diff --git a/.vim/pack/themes/start/dracula/autoload/lightline/colorscheme/dracula.vim b/.vim/pack/themes/start/dracula/autoload/lightline/colorscheme/dracula.vim new file mode 100644 index 0000000..42ed79d --- /dev/null +++ b/.vim/pack/themes/start/dracula/autoload/lightline/colorscheme/dracula.vim @@ -0,0 +1,42 @@ +" ============================================================================= +" Filename: autoload/lightline/colorscheme/dracula.vim +" Author: adamalbrecht +" License: MIT License +" Last Change: 2018/04/11 +" ============================================================================= + +let s:black = g:dracula#palette.bg +let s:gray = g:dracula#palette.selection +let s:white = g:dracula#palette.fg +let s:darkblue = g:dracula#palette.comment +let s:cyan = g:dracula#palette.cyan +let s:green = g:dracula#palette.green +let s:orange = g:dracula#palette.orange +let s:purple = g:dracula#palette.purple +let s:red = g:dracula#palette.red +let s:yellow = g:dracula#palette.yellow + +if exists('g:lightline') + + let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}} + let s:p.normal.left = [ [ s:black, s:purple ], [ s:cyan, s:gray ] ] + let s:p.normal.right = [ [ s:black, s:purple ], [ s:white, s:darkblue ] ] + let s:p.inactive.right = [ [ s:black, s:darkblue ], [ s:white, s:black ] ] + let s:p.inactive.left = [ [ s:cyan, s:black ], [ s:white, s:black ] ] + let s:p.insert.left = [ [ s:black, s:green ], [ s:cyan, s:gray ] ] + let s:p.replace.left = [ [ s:black, s:red ], [ s:cyan, s:gray ] ] + let s:p.visual.left = [ [ s:black, s:orange ], [ s:cyan, s:gray ] ] + let s:p.normal.middle = [ [ s:white, s:gray ] ] + let s:p.inactive.middle = [ [ s:white, s:gray ] ] + let s:p.tabline.left = [ [ s:darkblue, s:gray ] ] + let s:p.tabline.tabsel = [ [ s:cyan, s:black ] ] + let s:p.tabline.middle = [ [ s:darkblue, s:gray ] ] + let s:p.tabline.right = copy(s:p.normal.right) + let s:p.normal.error = [ [ s:red, s:black ] ] + let s:p.normal.warning = [ [ s:yellow, s:black ] ] + + let g:lightline#colorscheme#dracula#palette = lightline#colorscheme#flatten(s:p) + +endif + +" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0: diff --git a/.vim/pack/themes/start/dracula/colors/dracula.vim b/.vim/pack/themes/start/dracula/colors/dracula.vim new file mode 100644 index 0000000..9ec78c5 --- /dev/null +++ b/.vim/pack/themes/start/dracula/colors/dracula.vim @@ -0,0 +1,352 @@ +" Dracula Theme: {{{ +" +" https://github.com/zenorocha/dracula-theme +" +" Copyright 2016, All rights reserved +" +" Code licensed under the MIT license +" http://zenorocha.mit-license.org +" +" @author Trevor Heins <@heinst> +" @author Éverton Ribeiro +" @author Derek Sifford +" @author Zeno Rocha +scriptencoding utf8 +" }}} + +" Configuration: {{{ + +if v:version > 580 + highlight clear + if exists('syntax_on') + syntax reset + endif +endif + +let g:colors_name = 'dracula' + +if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256 + finish +endif + +" Palette: {{{2 + +let s:fg = g:dracula#palette.fg + +let s:bglighter = g:dracula#palette.bglighter +let s:bglight = g:dracula#palette.bglight +let s:bg = g:dracula#palette.bg +let s:bgdark = g:dracula#palette.bgdark +let s:bgdarker = g:dracula#palette.bgdarker + +let s:comment = g:dracula#palette.comment +let s:selection = g:dracula#palette.selection +let s:subtle = g:dracula#palette.subtle + +let s:cyan = g:dracula#palette.cyan +let s:green = g:dracula#palette.green +let s:orange = g:dracula#palette.orange +let s:pink = g:dracula#palette.pink +let s:purple = g:dracula#palette.purple +let s:red = g:dracula#palette.red +let s:yellow = g:dracula#palette.yellow + +let s:none = ['NONE', 'NONE'] + +if has('nvim') + for s:i in range(16) + let g:terminal_color_{s:i} = g:dracula#palette['color_' . s:i] + endfor +endif + +if has('terminal') + let g:terminal_ansi_colors = [] + for s:i in range(16) + call add(g:terminal_ansi_colors, g:dracula#palette['color_' . s:i]) + endfor +endif + +" }}}2 +" User Configuration: {{{2 + +if !exists('g:dracula_bold') + let g:dracula_bold = 1 +endif + +if !exists('g:dracula_italic') + let g:dracula_italic = 1 +endif + +if !exists('g:dracula_underline') + let g:dracula_underline = 1 +endif + +if !exists('g:dracula_undercurl') + let g:dracula_undercurl = g:dracula_underline +endif + +if !exists('g:dracula_full_special_attrs_support') + let g:dracula_full_special_attrs_support = has('gui_running') +endif + +if !exists('g:dracula_inverse') + let g:dracula_inverse = 1 +endif + +if !exists('g:dracula_colorterm') + let g:dracula_colorterm = 1 +endif + +if !exists('g:dracula_high_contrast_diff') + let g:dracula_high_contrast_diff = 0 +endif + +"}}}2 +" Script Helpers: {{{2 + +let s:attrs = { + \ 'bold': g:dracula_bold == 1 ? 'bold' : 0, + \ 'italic': g:dracula_italic == 1 ? 'italic' : 0, + \ 'underline': g:dracula_underline == 1 ? 'underline' : 0, + \ 'undercurl': g:dracula_undercurl == 1 ? 'undercurl' : 0, + \ 'inverse': g:dracula_inverse == 1 ? 'inverse' : 0, + \} + +function! s:h(scope, fg, ...) " bg, attr_list, special + let l:fg = copy(a:fg) + let l:bg = get(a:, 1, ['NONE', 'NONE']) + + let l:attr_list = filter(get(a:, 2, ['NONE']), 'type(v:val) == 1') + let l:attrs = len(l:attr_list) > 0 ? join(l:attr_list, ',') : 'NONE' + + " If the UI does not have full support for special attributes (like underline and + " undercurl) and the highlight does not explicitly set the foreground color, + " make the foreground the same as the attribute color to ensure the user will + " get some highlight if the attribute is not supported. The default behavior + " is to assume that terminals do not have full support, but the user can set + " the global variable `g:dracula_full_special_attrs_support` explicitly if the + " default behavior is not desirable. + let l:special = get(a:, 3, ['NONE', 'NONE']) + if l:special[0] !=# 'NONE' && l:fg[0] ==# 'NONE' && !g:dracula_full_special_attrs_support + let l:fg[0] = l:special[0] + let l:fg[1] = l:special[1] + endif + + let l:hl_string = [ + \ 'highlight', a:scope, + \ 'guifg=' . l:fg[0], 'ctermfg=' . l:fg[1], + \ 'guibg=' . l:bg[0], 'ctermbg=' . l:bg[1], + \ 'gui=' . l:attrs, 'cterm=' . l:attrs, + \ 'guisp=' . l:special[0], + \] + + execute join(l:hl_string, ' ') +endfunction + +"}}}2 +" Dracula Highlight Groups: {{{2 + +call s:h('DraculaBgLight', s:none, s:bglight) +call s:h('DraculaBgLighter', s:none, s:bglighter) +call s:h('DraculaBgDark', s:none, s:bgdark) +call s:h('DraculaBgDarker', s:none, s:bgdarker) + +call s:h('DraculaFg', s:fg) +call s:h('DraculaFgUnderline', s:fg, s:none, [s:attrs.underline]) +call s:h('DraculaFgBold', s:fg, s:none, [s:attrs.bold]) + +call s:h('DraculaComment', s:comment) +call s:h('DraculaCommentBold', s:comment, s:none, [s:attrs.bold]) + +call s:h('DraculaSelection', s:none, s:selection) + +call s:h('DraculaSubtle', s:subtle) + +call s:h('DraculaCyan', s:cyan) +call s:h('DraculaCyanItalic', s:cyan, s:none, [s:attrs.italic]) + +call s:h('DraculaGreen', s:green) +call s:h('DraculaGreenBold', s:green, s:none, [s:attrs.bold]) +call s:h('DraculaGreenItalic', s:green, s:none, [s:attrs.italic]) +call s:h('DraculaGreenItalicUnderline', s:green, s:none, [s:attrs.italic, s:attrs.underline]) + +call s:h('DraculaOrange', s:orange) +call s:h('DraculaOrangeBold', s:orange, s:none, [s:attrs.bold]) +call s:h('DraculaOrangeItalic', s:orange, s:none, [s:attrs.italic]) +call s:h('DraculaOrangeBoldItalic', s:orange, s:none, [s:attrs.bold, s:attrs.italic]) +call s:h('DraculaOrangeInverse', s:bg, s:orange) + +call s:h('DraculaPink', s:pink) +call s:h('DraculaPinkItalic', s:pink, s:none, [s:attrs.italic]) + +call s:h('DraculaPurple', s:purple) +call s:h('DraculaPurpleBold', s:purple, s:none, [s:attrs.bold]) +call s:h('DraculaPurpleItalic', s:purple, s:none, [s:attrs.italic]) + +call s:h('DraculaRed', s:red) +call s:h('DraculaRedInverse', s:fg, s:red) + +call s:h('DraculaYellow', s:yellow) +call s:h('DraculaYellowItalic', s:yellow, s:none, [s:attrs.italic]) + +call s:h('DraculaError', s:red, s:none, [], s:red) + +call s:h('DraculaErrorLine', s:none, s:none, [s:attrs.undercurl], s:red) +call s:h('DraculaWarnLine', s:none, s:none, [s:attrs.undercurl], s:orange) +call s:h('DraculaInfoLine', s:none, s:none, [s:attrs.undercurl], s:cyan) + +call s:h('DraculaTodo', s:cyan, s:none, [s:attrs.bold, s:attrs.inverse]) +call s:h('DraculaSearch', s:green, s:none, [s:attrs.inverse]) +call s:h('DraculaBoundary', s:comment, s:bgdark) +call s:h('DraculaWinSeparator', s:comment, s:bgdark) +call s:h('DraculaLink', s:cyan, s:none, [s:attrs.underline]) + +if g:dracula_high_contrast_diff + call s:h('DraculaDiffChange', s:yellow, s:purple) + call s:h('DraculaDiffDelete', s:bgdark, s:red) +else + call s:h('DraculaDiffChange', s:orange, s:none) + call s:h('DraculaDiffDelete', s:red, s:bgdark) +endif + +call s:h('DraculaDiffText', s:bg, s:orange) + +" }}}2 + +" }}} +" User Interface: {{{ + +set background=dark + +" Required as some plugins will overwrite +call s:h('Normal', s:fg, g:dracula_colorterm || has('gui_running') ? s:bg : s:none ) +call s:h('StatusLine', s:none, s:bglighter, [s:attrs.bold]) +call s:h('StatusLineNC', s:none, s:bglight) +call s:h('StatusLineTerm', s:none, s:bglighter, [s:attrs.bold]) +call s:h('StatusLineTermNC', s:none, s:bglight) +call s:h('WildMenu', s:bg, s:purple, [s:attrs.bold]) +call s:h('CursorLine', s:none, s:subtle) + +hi! link ColorColumn DraculaBgDark +hi! link CursorColumn CursorLine +hi! link CursorLineNr DraculaYellow +hi! link DiffAdd DraculaGreen +hi! link DiffAdded DiffAdd +hi! link DiffChange DraculaDiffChange +hi! link DiffDelete DraculaDiffDelete +hi! link DiffRemoved DiffDelete +hi! link DiffText DraculaDiffText +hi! link Directory DraculaPurpleBold +hi! link ErrorMsg DraculaRedInverse +hi! link FoldColumn DraculaSubtle +hi! link Folded DraculaBoundary +hi! link IncSearch DraculaOrangeInverse +call s:h('LineNr', s:comment) +hi! link MoreMsg DraculaFgBold +hi! link NonText DraculaSubtle +hi! link Pmenu DraculaBgDark +hi! link PmenuSbar DraculaBgDark +hi! link PmenuSel DraculaSelection +hi! link PmenuThumb DraculaSelection +hi! link Question DraculaFgBold +hi! link Search DraculaSearch +call s:h('SignColumn', s:comment) +hi! link TabLine DraculaBoundary +hi! link TabLineFill DraculaBgDark +hi! link TabLineSel Normal +hi! link Title DraculaGreenBold +hi! link VertSplit DraculaWinSeparator +hi! link Visual DraculaSelection +hi! link VisualNOS Visual +hi! link WarningMsg DraculaOrangeInverse + +" }}} +" Syntax: {{{ + +" Required as some plugins will overwrite +call s:h('MatchParen', s:green, s:none, [s:attrs.underline]) +call s:h('Conceal', s:cyan, s:none) + +" Neovim uses SpecialKey for escape characters only. Vim uses it for that, plus whitespace. +if has('nvim') + hi! link SpecialKey DraculaRed + hi! link LspReferenceText DraculaSelection + hi! link LspReferenceRead DraculaSelection + hi! link LspReferenceWrite DraculaSelection + " Link old 'LspDiagnosticsDefault*' hl groups + " for backward compatibility with neovim v0.5.x + hi! link LspDiagnosticsDefaultInformation DiagnosticInfo + hi! link LspDiagnosticsDefaultHint DiagnosticHint + hi! link LspDiagnosticsDefaultError DiagnosticError + hi! link LspDiagnosticsDefaultWarning DiagnosticWarn + hi! link LspDiagnosticsUnderlineError DiagnosticUnderlineError + hi! link LspDiagnosticsUnderlineHint DiagnosticUnderlineHint + hi! link LspDiagnosticsUnderlineInformation DiagnosticUnderlineInfo + hi! link LspDiagnosticsUnderlineWarning DiagnosticUnderlineWarn + + hi! link DiagnosticInfo DraculaCyan + hi! link DiagnosticHint DraculaCyan + hi! link DiagnosticError DraculaError + hi! link DiagnosticWarn DraculaOrange + hi! link DiagnosticUnderlineError DraculaErrorLine + hi! link DiagnosticUnderlineHint DraculaInfoLine + hi! link DiagnosticUnderlineInfo DraculaInfoLine + hi! link DiagnosticUnderlineWarn DraculaWarnLine + + hi! link WinSeparator DraculaWinSeparator +else + hi! link SpecialKey DraculaPink +endif + +hi! link Comment DraculaComment +hi! link Underlined DraculaFgUnderline +hi! link Todo DraculaTodo + +hi! link Error DraculaError +hi! link SpellBad DraculaErrorLine +hi! link SpellLocal DraculaWarnLine +hi! link SpellCap DraculaInfoLine +hi! link SpellRare DraculaInfoLine + +hi! link Constant DraculaPurple +hi! link String DraculaYellow +hi! link Character DraculaPink +hi! link Number Constant +hi! link Boolean Constant +hi! link Float Constant + +hi! link Identifier DraculaFg +hi! link Function DraculaGreen + +hi! link Statement DraculaPink +hi! link Conditional DraculaPink +hi! link Repeat DraculaPink +hi! link Label DraculaPink +hi! link Operator DraculaPink +hi! link Keyword DraculaPink +hi! link Exception DraculaPink + +hi! link PreProc DraculaPink +hi! link Include DraculaPink +hi! link Define DraculaPink +hi! link Macro DraculaPink +hi! link PreCondit DraculaPink +hi! link StorageClass DraculaPink +hi! link Structure DraculaPink +hi! link Typedef DraculaPink + +hi! link Type DraculaCyanItalic + +hi! link Delimiter DraculaFg + +hi! link Special DraculaPink +hi! link SpecialComment DraculaCyanItalic +hi! link Tag DraculaCyan +hi! link helpHyperTextJump DraculaLink +hi! link helpCommand DraculaPurple +hi! link helpExample DraculaGreen +hi! link helpBacktick Special + +"}}} + +" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0 et: