From c23dd1757a34a4e96dc2e93b32b659e6b4aeb0d6 Mon Sep 17 00:00:00 2001 From: stnley <64174376+stnley@users.noreply.github.com> Date: Mon, 29 Jan 2024 00:21:19 -0500 Subject: [PATCH 1/3] Add strikethrough attribute support --- colors/dracula.vim | 6 ++++++ doc/dracula.txt | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/colors/dracula.vim b/colors/dracula.vim index 1725352..f810ed7 100644 --- a/colors/dracula.vim +++ b/colors/dracula.vim @@ -77,6 +77,10 @@ if !exists('g:dracula_italic') let g:dracula_italic = 1 endif +if !exists('g:dracula_strikethrough') + let g:dracula_strikethrough = 1 +endif + if !exists('g:dracula_underline') let g:dracula_underline = 1 endif @@ -107,6 +111,7 @@ endif let s:attrs = { \ 'bold': g:dracula_bold == 1 ? 'bold' : 0, \ 'italic': g:dracula_italic == 1 ? 'italic' : 0, + \ 'strikethrough': g:dracula_strikethrough == 1 ? 'strikethrough' : 0, \ 'underline': g:dracula_underline == 1 ? 'underline' : 0, \ 'undercurl': g:dracula_undercurl == 1 ? 'undercurl' : 0, \ 'inverse': g:dracula_inverse == 1 ? 'inverse' : 0, @@ -154,6 +159,7 @@ 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('DraculaFgStrikethrough', s:fg, s:none, [s:attrs.strikethrough]) call s:h('DraculaComment', s:comment) call s:h('DraculaCommentBold', s:comment, s:none, [s:attrs.bold]) diff --git a/doc/dracula.txt b/doc/dracula.txt index 80e44f1..a1167a3 100644 --- a/doc/dracula.txt +++ b/doc/dracula.txt @@ -78,6 +78,10 @@ Include bold attributes in highlighting > Include italic attributes in highlighting > let g:dracula_italic = 1 +* *g:dracula_strikethrough* +Include strikethrough attributes in highlighting > + let g:dracula_strikethrough = 1 + * *g:dracula_underline* Include underline attributes in highlighting > let g:dracula_underline = 1 From 9fa89296884e47bbadc49ad959e37b9d1c24cafb Mon Sep 17 00:00:00 2001 From: stnley <64174376+stnley@users.noreply.github.com> Date: Sun, 28 Jan 2024 22:51:31 -0500 Subject: [PATCH 2/3] Add new tree-sitter groups from neovim nvim-treesitter and subsequently neovim is aligning their capture/highlight groups with upstream tree-sitter. This adds groups as of nvim 0.10 (unreleased). Existing groups are untouched. --- after/plugin/dracula.vim | 49 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/after/plugin/dracula.vim b/after/plugin/dracula.vim index 7767122..fbd241f 100644 --- a/after/plugin/dracula.vim +++ b/after/plugin/dracula.vim @@ -106,19 +106,28 @@ if exists('g:loaded_nvim_treesitter') hi! link @punctuation.delimiter Delimiter hi! link @punctuation.bracket DraculaFg hi! link @punctuation.special Special + hi! link @punctuation Delimiter " # 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 @string.regex @string.special + hi! link @string.escape @string.special + hi! link @string String + hi! link @string.regexp @string.special + hi! link @string.special SpecialChar + hi! link @string.special.symbol DraculaPurple + hi! link @string.special.url Underlined hi! link @symbol DraculaPurple hi! link @annotation DraculaYellow hi! link @attribute DraculaGreenItalic hi! link @namespace Structure + hi! link @module Structure + hi! link @module.builtin Special " # Functions hi! link @function.builtin DraculaCyan hi! link @funcion.macro Function + hi! link @function Function hi! link @parameter DraculaOrangeItalic hi! link @parameter.reference DraculaOrange hi! link @field DraculaOrange @@ -128,10 +137,22 @@ if exists('g:loaded_nvim_treesitter') hi! link @label DraculaPurpleItalic hi! link @keyword.function DraculaPink hi! link @keyword.operator Operator + hi! link @keyword Keyword hi! link @exception DraculaPurple + hi! link @operator Operator + " # Types + hi! link @type Type + hi! link @type.builtin Special + hi! link @character Character + hi! link @character.special SpecialChar + hi! link @boolean Boolean + hi! link @number Number + hi! link @number.float Float " # Variable hi! link @variable DraculaFg hi! link @variable.builtin DraculaPurpleItalic + hi! link @variable.parameter DraculaOrangeItalic + hi! link @variable.member DraculaOrange " # Text hi! link @text DraculaFg hi! link @text.strong DraculaFgBold @@ -142,6 +163,30 @@ if exists('g:loaded_nvim_treesitter') hi! link @text.uri DraculaYellow hi! link @text.diff.add DiffAdd hi! link @text.diff.delete DiffDelete + + hi! link @markup.strong DraculaFgBold + hi! link @markup.italic DraculaFgItalic + hi! link @markup.strikethrough DraculaFgStrikethrough + hi! link @markup.underline Underlined + + hi! link @markup Special + hi! link @markup.heading DraculaYellow + hi! link @markup.link Underlined + hi! link @markup.link.uri DraculaYellow + hi! link @markup.link.label SpecialChar + hi! link @markup.raw DraculaYellow + hi! link @markup.list Special + + hi! link @comment Comment + hi! link @comment.error DiagnosticError + hi! link @comment.warning DiagnosticWarn + hi! link @comment.note DiagnosticInfo + hi! link @comment.todo Todo + + hi! link @diff.plus Added + hi! link @diff.minus Removed + hi! link @diff.delta Changed + " # Tags hi! link @tag DraculaCyan hi! link @tag.delimiter DraculaFg From 8dc19c13e9320a6588212797634c6fc512f0ad2b Mon Sep 17 00:00:00 2001 From: Adrian Trunzo Date: Sat, 16 Mar 2024 10:28:57 -0800 Subject: [PATCH 3/3] chore!: remove the after directory Define plugin and syntax highlight groups in the colors/dracula.vim file instead of in the /after directory. Fixes: #280 Fixes: #320 --- after/plugin/dracula.vim | 238 ------------ after/syntax/css.vim | 15 - after/syntax/gitcommit.vim | 12 - after/syntax/html.vim | 9 - after/syntax/javascript.vim | 45 --- after/syntax/javascriptreact.vim | 1 - after/syntax/json.vim | 6 - after/syntax/lua.vim | 22 -- after/syntax/markdown.vim | 50 --- after/syntax/ocaml.vim | 7 - after/syntax/perl.vim | 38 -- after/syntax/php.vim | 10 - after/syntax/plantuml.vim | 13 - after/syntax/purescript.vim | 9 - after/syntax/python.vim | 11 - after/syntax/rst.vim | 26 -- after/syntax/ruby.vim | 16 - after/syntax/rust.vim | 5 - after/syntax/sass.vim | 12 - after/syntax/sh.vim | 8 - after/syntax/tex.vim | 16 - after/syntax/typescript.vim | 57 --- after/syntax/typescriptreact.vim | 22 -- after/syntax/vim.vim | 14 - after/syntax/xml.vim | 13 - after/syntax/yaml.vim | 12 - autoload/dracula.vim | 11 - colors/dracula.vim | 624 ++++++++++++++++++++++++++++++- doc/dracula.txt | 43 ++- 29 files changed, 657 insertions(+), 708 deletions(-) delete mode 100644 after/plugin/dracula.vim delete mode 100644 after/syntax/css.vim delete mode 100644 after/syntax/gitcommit.vim delete mode 100644 after/syntax/html.vim delete mode 100644 after/syntax/javascript.vim delete mode 100644 after/syntax/javascriptreact.vim delete mode 100644 after/syntax/json.vim delete mode 100644 after/syntax/lua.vim delete mode 100644 after/syntax/markdown.vim delete mode 100644 after/syntax/ocaml.vim delete mode 100644 after/syntax/perl.vim delete mode 100644 after/syntax/php.vim delete mode 100644 after/syntax/plantuml.vim delete mode 100644 after/syntax/purescript.vim delete mode 100644 after/syntax/python.vim delete mode 100644 after/syntax/rst.vim delete mode 100644 after/syntax/ruby.vim delete mode 100644 after/syntax/rust.vim delete mode 100644 after/syntax/sass.vim delete mode 100644 after/syntax/sh.vim delete mode 100644 after/syntax/tex.vim delete mode 100644 after/syntax/typescript.vim delete mode 100644 after/syntax/typescriptreact.vim delete mode 100644 after/syntax/vim.vim delete mode 100644 after/syntax/xml.vim delete mode 100644 after/syntax/yaml.vim diff --git a/after/plugin/dracula.vim b/after/plugin/dracula.vim deleted file mode 100644 index fbd241f..0000000 --- a/after/plugin/dracula.vim +++ /dev/null @@ -1,238 +0,0 @@ -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 DraculaRed - hi! link GitSignsDeleteLn DraculaRed - hi! link GitSignsDeleteNr DraculaRed -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 - hi! link @punctuation Delimiter - " # Constants - hi! link @constant Constant - hi! link @constant.builtin Constant - hi! link @constant.macro Macro - hi! link @string.regex @string.special - hi! link @string.escape @string.special - hi! link @string String - hi! link @string.regexp @string.special - hi! link @string.special SpecialChar - hi! link @string.special.symbol DraculaPurple - hi! link @string.special.url Underlined - hi! link @symbol DraculaPurple - hi! link @annotation DraculaYellow - hi! link @attribute DraculaGreenItalic - hi! link @namespace Structure - hi! link @module Structure - hi! link @module.builtin Special - " # Functions - hi! link @function.builtin DraculaCyan - hi! link @funcion.macro Function - hi! link @function 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 @keyword Keyword - hi! link @exception DraculaPurple - hi! link @operator Operator - " # Types - hi! link @type Type - hi! link @type.builtin Special - hi! link @character Character - hi! link @character.special SpecialChar - hi! link @boolean Boolean - hi! link @number Number - hi! link @number.float Float - " # Variable - hi! link @variable DraculaFg - hi! link @variable.builtin DraculaPurpleItalic - hi! link @variable.parameter DraculaOrangeItalic - hi! link @variable.member DraculaOrange - " # 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 - - hi! link @markup.strong DraculaFgBold - hi! link @markup.italic DraculaFgItalic - hi! link @markup.strikethrough DraculaFgStrikethrough - hi! link @markup.underline Underlined - - hi! link @markup Special - hi! link @markup.heading DraculaYellow - hi! link @markup.link Underlined - hi! link @markup.link.uri DraculaYellow - hi! link @markup.link.label SpecialChar - hi! link @markup.raw DraculaYellow - hi! link @markup.list Special - - hi! link @comment Comment - hi! link @comment.error DiagnosticError - hi! link @comment.warning DiagnosticWarn - hi! link @comment.note DiagnosticInfo - hi! link @comment.todo Todo - - hi! link @diff.plus Added - hi! link @diff.minus Removed - hi! link @diff.delta Changed - - " # 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/after/syntax/css.vim b/after/syntax/css.vim deleted file mode 100644 index 764e0af..0000000 --- a/after/syntax/css.vim +++ /dev/null @@ -1,15 +0,0 @@ -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/after/syntax/gitcommit.vim b/after/syntax/gitcommit.vim deleted file mode 100644 index 08099e5..0000000 --- a/after/syntax/gitcommit.vim +++ /dev/null @@ -1,12 +0,0 @@ -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/after/syntax/html.vim b/after/syntax/html.vim deleted file mode 100644 index 243aef6..0000000 --- a/after/syntax/html.vim +++ /dev/null @@ -1,9 +0,0 @@ -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/after/syntax/javascript.vim b/after/syntax/javascript.vim deleted file mode 100644 index e5754ae..0000000 --- a/after/syntax/javascript.vim +++ /dev/null @@ -1,45 +0,0 @@ -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/after/syntax/javascriptreact.vim b/after/syntax/javascriptreact.vim deleted file mode 100644 index b5b557c..0000000 --- a/after/syntax/javascriptreact.vim +++ /dev/null @@ -1 +0,0 @@ -runtime! syntax/javascript.vim diff --git a/after/syntax/json.vim b/after/syntax/json.vim deleted file mode 100644 index a45d135..0000000 --- a/after/syntax/json.vim +++ /dev/null @@ -1,6 +0,0 @@ -if dracula#should_abort('json') - finish -endif - -hi! link jsonKeyword DraculaCyan -hi! link jsonKeywordMatch DraculaPink diff --git a/after/syntax/lua.vim b/after/syntax/lua.vim deleted file mode 100644 index 664848d..0000000 --- a/after/syntax/lua.vim +++ /dev/null @@ -1,22 +0,0 @@ -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/after/syntax/markdown.vim b/after/syntax/markdown.vim deleted file mode 100644 index 0283a86..0000000 --- a/after/syntax/markdown.vim +++ /dev/null @@ -1,50 +0,0 @@ -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/after/syntax/ocaml.vim b/after/syntax/ocaml.vim deleted file mode 100644 index 60c76c9..0000000 --- a/after/syntax/ocaml.vim +++ /dev/null @@ -1,7 +0,0 @@ -if dracula#should_abort('ocaml') - finish -endif - -hi! link ocamlModule Type -hi! link ocamlModPath Normal -hi! link ocamlLabel DraculaOrangeItalic diff --git a/after/syntax/perl.vim b/after/syntax/perl.vim deleted file mode 100644 index 67f3923..0000000 --- a/after/syntax/perl.vim +++ /dev/null @@ -1,38 +0,0 @@ -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/after/syntax/php.vim b/after/syntax/php.vim deleted file mode 100644 index 1475b01..0000000 --- a/after/syntax/php.vim +++ /dev/null @@ -1,10 +0,0 @@ -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/after/syntax/plantuml.vim b/after/syntax/plantuml.vim deleted file mode 100644 index b9bf365..0000000 --- a/after/syntax/plantuml.vim +++ /dev/null @@ -1,13 +0,0 @@ -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/after/syntax/purescript.vim b/after/syntax/purescript.vim deleted file mode 100644 index ca32818..0000000 --- a/after/syntax/purescript.vim +++ /dev/null @@ -1,9 +0,0 @@ -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/after/syntax/python.vim b/after/syntax/python.vim deleted file mode 100644 index 171eddd..0000000 --- a/after/syntax/python.vim +++ /dev/null @@ -1,11 +0,0 @@ -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/after/syntax/rst.vim b/after/syntax/rst.vim deleted file mode 100644 index 8cb6924..0000000 --- a/after/syntax/rst.vim +++ /dev/null @@ -1,26 +0,0 @@ -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/after/syntax/ruby.vim b/after/syntax/ruby.vim deleted file mode 100644 index fec0058..0000000 --- a/after/syntax/ruby.vim +++ /dev/null @@ -1,16 +0,0 @@ -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/after/syntax/rust.vim b/after/syntax/rust.vim deleted file mode 100644 index 410334b..0000000 --- a/after/syntax/rust.vim +++ /dev/null @@ -1,5 +0,0 @@ -if dracula#should_abort('rust') - finish -endif - -hi! link rustCommentLineDoc Comment diff --git a/after/syntax/sass.vim b/after/syntax/sass.vim deleted file mode 100644 index 35a810f..0000000 --- a/after/syntax/sass.vim +++ /dev/null @@ -1,12 +0,0 @@ -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/after/syntax/sh.vim b/after/syntax/sh.vim deleted file mode 100644 index 8d471ef..0000000 --- a/after/syntax/sh.vim +++ /dev/null @@ -1,8 +0,0 @@ -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/after/syntax/tex.vim b/after/syntax/tex.vim deleted file mode 100644 index a46132c..0000000 --- a/after/syntax/tex.vim +++ /dev/null @@ -1,16 +0,0 @@ -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/after/syntax/typescript.vim b/after/syntax/typescript.vim deleted file mode 100644 index c368fb5..0000000 --- a/after/syntax/typescript.vim +++ /dev/null @@ -1,57 +0,0 @@ -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/after/syntax/typescriptreact.vim b/after/syntax/typescriptreact.vim deleted file mode 100644 index ec8062e..0000000 --- a/after/syntax/typescriptreact.vim +++ /dev/null @@ -1,22 +0,0 @@ -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/after/syntax/vim.vim b/after/syntax/vim.vim deleted file mode 100644 index a49a93a..0000000 --- a/after/syntax/vim.vim +++ /dev/null @@ -1,14 +0,0 @@ -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/after/syntax/xml.vim b/after/syntax/xml.vim deleted file mode 100644 index 4b82698..0000000 --- a/after/syntax/xml.vim +++ /dev/null @@ -1,13 +0,0 @@ -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/after/syntax/yaml.vim b/after/syntax/yaml.vim deleted file mode 100644 index fedc41f..0000000 --- a/after/syntax/yaml.vim +++ /dev/null @@ -1,12 +0,0 @@ -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/autoload/dracula.vim b/autoload/dracula.vim index 23f9656..1216d63 100644 --- a/autoload/dracula.vim +++ b/autoload/dracula.vim @@ -43,15 +43,4 @@ 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/colors/dracula.vim b/colors/dracula.vim index f810ed7..8f2ed59 100644 --- a/colors/dracula.vim +++ b/colors/dracula.vim @@ -373,6 +373,628 @@ hi! link helpCommand DraculaPurple hi! link helpExample DraculaGreen hi! link helpBacktick Special -"}}} +" }}} + +" Languages: {{{ + +" CSS: {{{ +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 +" }}} + +" Git Commit: {{{ +" 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 +" }}} + +" HTML: {{{ +hi! link htmlTag DraculaFg +hi! link htmlArg DraculaGreenItalic +hi! link htmlTitle DraculaFg +hi! link htmlH1 DraculaFg +hi! link htmlSpecialChar DraculaPurple +" }}} + +" JavaScript: {{{ +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 +" }}} + +" JSON: {{{ +hi! link jsonKeyword DraculaCyan +hi! link jsonKeywordMatch DraculaPink +" }}} + +" Lua: {{{ +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 +" }}} + +" Markdown: {{{ +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 + +" plasticboy/vim-markdown +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 +" }}} + +" OCaml: {{{ +hi! link ocamlModule Type +hi! link ocamlModPath Normal +hi! link ocamlLabel DraculaOrangeItalic +" }}} + +" Perl: {{{ +" 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 +" }}} + +" PHP: {{{ +hi! link phpClass Type +hi! link phpClasses Type +hi! link phpDocTags DraculaCyanItalic +hi! link phpFunction Function +hi! link phpParent Normal +hi! link phpSpecialFunction DraculaCyan +" }}} + +" PlantUML: {{{ +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 +" }}} + +" PureScript: {{{ +hi! link purescriptModule Type +hi! link purescriptImport DraculaCyan +hi! link purescriptImportAs DraculaCyan +hi! link purescriptOperator Operator +hi! link purescriptBacktick Operator +" }}} + +" Python: {{{ +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 +" }}} + +" reStructuredText: {{{ +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 +" }}} + +" Ruby: {{{ +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 +" }}} + +" Rust: {{{ +hi! link rustCommentLineDoc Comment +" }}} + +" Sass: {{{ +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 +" }}} + +" Shell: {{{ +hi! link shCommandSub NONE +hi! link shEscape DraculaRed +hi! link shParen NONE +hi! link shParenError NONE +" }}} + +" Tex: {{{ +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 +" }}} + +" Typescript: {{{ +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 + +hi! link tsxAttrib DraculaGreenItalic +hi! link tsxEqual Operator +hi! link tsxIntrinsicTagName Keyword +hi! link tsxTagName Type +" }}} + +" Vim: {{{ +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 +" }}} + +" XML: {{{ +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=+>+ +" }}} + +" YAML: {{{ +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 +" }}} + +" }}} + +" Plugins: {{{ + +" junegunn/fzf {{{ +if ! 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 +" }}} + +" dense-analysis/ale {{{ +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 +" }}} + +" ctrlpvim/ctrlp.vim: {{{ +hi! link CtrlPMatch IncSearch +hi! link CtrlPBufferHid Normal +" }}} + +" airblade/vim-gitgutter {{{ +hi! link GitGutterAdd DiffAdd +hi! link GitGutterChange DiffChange +hi! link GitGutterDelete DiffDelete +" }}} + +" Neovim-only plugins {{{ +if has('nvim') + + " nvim-treesitter/nvim-treesitter: {{{ + " 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 + + " 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 + hi! link @punctuation Delimiter + " # Constants + hi! link @constant Constant + hi! link @constant.builtin Constant + hi! link @constant.macro Macro + hi! link @string.regex @string.special + hi! link @string.escape @string.special + hi! link @string String + hi! link @string.regexp @string.special + hi! link @string.special SpecialChar + hi! link @string.special.symbol DraculaPurple + hi! link @string.special.url Underlined + hi! link @symbol DraculaPurple + hi! link @annotation DraculaYellow + hi! link @attribute DraculaGreenItalic + hi! link @namespace Structure + hi! link @module Structure + hi! link @module.builtin Special + " # Functions + hi! link @function.builtin DraculaCyan + hi! link @funcion.macro Function + hi! link @function 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 @keyword Keyword + hi! link @exception DraculaPurple + hi! link @operator Operator + " # Types + hi! link @type Type + hi! link @type.builtin Special + hi! link @character Character + hi! link @character.special SpecialChar + hi! link @boolean Boolean + hi! link @number Number + hi! link @number.float Float + " # Variable + hi! link @variable DraculaFg + hi! link @variable.builtin DraculaPurpleItalic + hi! link @variable.parameter DraculaOrangeItalic + hi! link @variable.member DraculaOrange + " # 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 + + hi! link @markup.strong DraculaFgBold + hi! link @markup.italic DraculaFgItalic + hi! link @markup.strikethrough DraculaFgStrikethrough + hi! link @markup.underline Underlined + + hi! link @markup Special + hi! link @markup.heading DraculaYellow + hi! link @markup.link Underlined + hi! link @markup.link.uri DraculaYellow + hi! link @markup.link.label SpecialChar + hi! link @markup.raw DraculaYellow + hi! link @markup.list Special + + hi! link @comment Comment + hi! link @comment.error DiagnosticError + hi! link @comment.warning DiagnosticWarn + hi! link @comment.note DiagnosticInfo + hi! link @comment.todo Todo + + hi! link @diff.plus Added + hi! link @diff.minus Removed + hi! link @diff.delta Changed + + " # 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 + " }}} + + " hrsh7th/nvim-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 + " }}} + + " lewis6991/gitsigns.nvim {{{ + 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 DraculaRed + hi! link GitSignsDeleteLn DraculaRed + hi! link GitSignsDeleteNr DraculaRed + " }}} + +endif +" }}} + +" }}} " vim: fdm=marker ts=2 sts=2 sw=2 fdl=0 et: diff --git a/doc/dracula.txt b/doc/dracula.txt index a1167a3..5dc6a66 100644 --- a/doc/dracula.txt +++ b/doc/dracula.txt @@ -114,19 +114,44 @@ Include background fill colors > CUSTOMIZATION *dracula-customization* Like all colorschemes, Dracula is easy to customize with |autocmd|. Make use -of the |ColorScheme| event as in the following examples. +of the |ColorScheme| event as in the following examples. Like all autocommands, +it's best to put all of your personal changes in an |augroup|: > -It would be a good idea to put all of your personal changes in an |augroup|, -which you can do with the following code: > - augroup dracula_customization - au! - " autocmds... + augroup DraculaCustomization + autocmd! + " Change the highlight group used with vim-gitgutter. + autocmd ColorScheme dracula highlight! link GitGutterDelete DraculaRed augroup END -> -- To add underline styling to |hl-CursorLine|, you can use the following: > - autocmd ColorScheme dracula hi CursorLine cterm=underline term=underline + colorscheme dracula < + +The autocommand must be defined before the colorscheme is set. To overwrite +any highlight link that is already established in `colors/dracula.vim`, you +will need to use the bang (!) modifier on the |hi-link| command. + +For more than one customization, it will be easier to define a function that +can be called from the autocommand: > + + function! s:customize_dracula() abort + " Link a highlight group to a predefined highlight group. + " See `colors/dracula.vim` for all predefined highlight groups. + " To overwrite a highlight link created in `colors/dracula.vim`, you + " will need to use the bang (!) modifier + highlight! link GitGutterDelete DraculaRed + + " Customize existing highlight groups, for example adding underline. + highlight CursorLine cterm=underline term=underline + endfunction + + augroup DraculaCustomization + autocmd! + autocmd ColorScheme dracula call s:customize_dracula() + augroup END + + colorscheme dracula +< + ============================================================================== LICENSE *dracula-license*