From 5372185dfc02f942c9df88d17f4e37791a164797 Mon Sep 17 00:00:00 2001 From: Derek Sifford Date: Wed, 28 Mar 2018 16:44:12 -0400 Subject: [PATCH] Massive theme overhaul (#62) * progress on overhaul * finish scrutinization of languages existing in old colors file * remove markdown code block highlight due to broken upstream syntax * add user config globals * update issue and pull request templates * small fixes * fix "illegal value" error when using overrides * actually fix the attribute filter this time * add git commit diff colors. closes #46 * remove unnecessary duplicate * set SignColumn explicitly * Add a helpfile (#64) * Ignore the tags file generated by :helptags * Write the help file --- .github/issue_template.md | 46 ++- .github/pull_request_template.md | 6 +- .gitignore | 1 + colors/dracula.vim | 611 +++++++++++++++++++++---------- doc/dracula.txt | 137 +++++++ 5 files changed, 607 insertions(+), 194 deletions(-) create mode 100644 .gitignore create mode 100644 doc/dracula.txt diff --git a/.github/issue_template.md b/.github/issue_template.md index 45a7be3..aae6b85 100644 --- a/.github/issue_template.md +++ b/.github/issue_template.md @@ -1 +1,45 @@ -> If you're reporting an UI issue, make sure you take a screenshot that shows the actual bug. \ No newline at end of file + + +### What happened + +### What I expected to happen + +### Screenshot + +### Machine Info + +- **Vim type (`vim`/`gvim`/`neovim`)**: +- **Vim version**: +- **OS**: +- **Terminal/Terminal Emulator/VTE**: +- **`TERM` environment variable**: + +### Additional Info + + diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 622089f..b2a1bec 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1 +1,5 @@ -> If you're fixing a UI issue, make sure you take two screenshots. One that shows the actual bug and another that shows how you fixed it. \ No newline at end of file + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..926ccaa --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +doc/tags diff --git a/colors/dracula.vim b/colors/dracula.vim index dceb472..836980c 100644 --- a/colors/dracula.vim +++ b/colors/dracula.vim @@ -1,4 +1,4 @@ -" Dracula Theme v1.2.7 +" Dracula Theme: v1.2.7 {{{ " " https://github.com/zenorocha/dracula-theme " @@ -9,203 +9,430 @@ " " @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 = ['#F8F8F2', 255] | lockvar s:fg + +let s:bglighter = ['#424450', 238] | lockvar s:bglighter +let s:bglight = ['#343746', 237] | lockvar s:bglight +let s:bg = ['#282A36', 236] | lockvar s:bg +let s:bgdark = ['#21222C', 235] | lockvar s:bgdark +let s:bgdarker = ['#191A21', 234] | lockvar s:bgdarker + +let s:subtle = ['#424450', 238] | lockvar s:subtle + +let s:selection = ['#44475A', 239] | lockvar s:selection +let s:comment = ['#6272A4', 61] | lockvar s:comment +let s:cyan = ['#8BE9FD', 117] | lockvar s:cyan +let s:green = ['#50FA7B', 84] | lockvar s:green +let s:orange = ['#FFB86C', 215] | lockvar s:orange +let s:pink = ['#FF79C6', 212] | lockvar s:pink +let s:purple = ['#BD93F9', 141] | lockvar s:purple +let s:red = ['#FF5555', 203] | lockvar s:red +let s:yellow = ['#F1FA8C', 228] | lockvar s:yellow + +let s:none = ['NONE', 'NONE'] | lockvar s:none + +if has('nvim') + let g:terminal_color_0 = '#44475A' + let g:terminal_color_1 = '#DE312B' + let g:terminal_color_2 = '#2FD651' + let g:terminal_color_3 = '#D0D662' + let g:terminal_color_4 = '#9C6FCF' + let g:terminal_color_5 = '#DE559C' + let g:terminal_color_6 = '#6AC5D3' + let g:terminal_color_7 = '#D7D4C8' + let g:terminal_color_8 = '#656B84' + let g:terminal_color_9 = '#FF5555' + let g:terminal_color_10 = '#50FA7B' + let g:terminal_color_11 = '#F1FA8C' + let g:terminal_color_12 = '#BD93F9' + let g:terminal_color_13 = '#FF79C6' + let g:terminal_color_14 = '#8BE9FD' + let g:terminal_color_15 = '#F8F8F2' +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') && g:dracula_underline != 0 + let g:dracula_undercurl = 1 +endif + +if !exists('g:dracula_inverse') + let g:dracula_inverse = 1 +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, + \} | lockvar s:attrs + +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']), {idx, val -> type(val) == 1}) + let l:attrs = len(l:attr_list) > 0 ? join(l:attr_list, ',') : 'NONE' + + " Falls back to coloring foreground group on terminals because + " nearly all do not support undercurl + let l:special = get(a:, 3, ['NONE', 'NONE']) + if l:special[0] !=# 'NONE' && l:fg[0] ==# 'NONE' && !has('gui_running') + 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:attrs.undercurl], s:red) +call s:h('DraculaWarn', s:orange, s:none, [s:attrs.undercurl], s:orange) + +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('DraculaLink', s:cyan, s:none, [s:attrs.underline]) + +call s:h('DraculaDiffChange', s:none, s:none) +call s:h('DraculaDiffText', s:bg, s:orange) +call s:h('DraculaDiffDelete', s:red, s:bgdark) + +" }}}2 + +" }}} +" User Interface: {{{ + +" Core: {{{2 set background=dark -highlight clear -if exists("syntax_on") - syntax reset -endif +call s:h('Normal', s:fg, s:bg) +hi! link Visual DraculaSelection +hi! link VisualNOS Visual +hi! link Search DraculaSearch +hi! link IncSearch DraculaOrangeInverse -let g:colors_name = "dracula" +" Status / Command Line +call s:h('StatusLine', s:none, s:bglighter, [s:attrs.bold]) +call s:h('StatusLineNC', s:none, s:bglight) +call s:h('WildMenu', s:bg, s:purple, [s:attrs.bold]) -hi Cursor ctermfg=17 ctermbg=231 cterm=NONE guifg=#282a36 guibg=#f8f8f0 gui=NONE -hi Visual ctermfg=NONE ctermbg=241 cterm=NONE guifg=NONE guibg=#44475a gui=NONE -hi CursorLine ctermbg=234 cterm=NONE guifg=NONE guibg=#44475a gui=NONE -hi CursorColumn ctermbg=234 cterm=NONE guifg=NONE guibg=#44475a gui=NONE -hi ColorColumn ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#3d3f49 gui=NONE -hi LineNr ctermfg=60 ctermbg=NONE cterm=NONE guifg=#6272a4 guibg=#282a36 gui=NONE -hi CursorLineNr ctermfg=228 ctermbg=234 cterm=NONE guifg=#f1fa8c guibg=#44475a gui=NONE -hi VertSplit ctermfg=231 ctermbg=236 cterm=bold guifg=#64666d guibg=#64666d gui=bold -hi MatchParen ctermfg=212 ctermbg=NONE cterm=underline guifg=#ff79c6 guibg=NONE gui=underline -hi StatusLine ctermfg=231 ctermbg=236 cterm=bold guifg=#f8f8f2 guibg=#64666d gui=bold -hi StatusLineNC ctermfg=231 ctermbg=236 cterm=NONE guifg=#f8f8f2 guibg=#64666d gui=NONE -hi Pmenu ctermfg=15 ctermbg=61 cterm=NONE guifg=#f8f8f2 guibg=#646e96 gui=NONE -hi PmenuSel ctermfg=16 ctermbg=84 cterm=bold guifg=#282a36 guibg=#50fa7b gui=NONE -hi IncSearch ctermfg=17 ctermbg=215 cterm=none guifg=#282a36 guibg=#ffb86c gui=none -hi Search ctermfg=17 ctermbg=84 cterm=none guifg=#282a36 guibg=#50fa7b gui=none -hi Directory ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi Folded ctermfg=61 ctermbg=235 cterm=NONE guifg=#6272a4 guibg=#282a36 gui=NONE -hi SignColumn ctermfg=246 ctermbg=235 cterm=NONE guifg=#909194 guibg=#44475a gui=NONE -hi FoldColumn ctermfg=246 ctermbg=235 cterm=NONE guifg=#909194 guibg=#44475a gui=NONE -hi Normal guifg=#f8f8f2 guibg=#282a36 gui=NONE -hi Boolean ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi Character ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi Comment ctermfg=61 ctermbg=NONE cterm=NONE guifg=#6272a4 guibg=NONE gui=NONE -hi Conditional ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi Define ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi DiffAdd ctermfg=231 ctermbg=64 cterm=bold guifg=#f8f8f2 guibg=#468410 gui=bold -hi DiffDelete ctermfg=88 ctermbg=NONE cterm=NONE guifg=#8b080b guibg=NONE gui=NONE -hi DiffChange ctermfg=231 ctermbg=23 cterm=NONE guifg=#f8f8f2 guibg=#243a5f gui=NONE -hi DiffText ctermfg=231 ctermbg=24 cterm=bold guifg=#f8f8f2 guibg=#204a87 gui=bold -hi ErrorMsg ctermfg=231 ctermbg=212 cterm=NONE guifg=#f8f8f0 guibg=#ff79c6 gui=NONE -hi WarningMsg ctermfg=231 ctermbg=212 cterm=NONE guifg=#f8f8f0 guibg=#ff79c6 gui=NONE -hi Float ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi Function ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -hi Identifier ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=italic -hi Keyword ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi Label ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE -hi NonText ctermfg=231 ctermbg=NONE cterm=NONE guifg=#525563 guibg=NONE gui=NONE -hi Number ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi Operator ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi PreProc ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi Special ctermfg=231 ctermbg=NONE cterm=NONE guifg=#f8f8f2 guibg=NONE gui=NONE -hi SpecialComment ctermfg=61 ctermbg=NONE cterm=NONE guifg=#6272a4 guibg=NONE gui=NONE -hi SpecialKey ctermfg=231 ctermbg=235 cterm=NONE guifg=#525563 guibg=NONE gui=NONE -hi Statement ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi StorageClass ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=italic -hi String ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE -hi SpellBad ctermfg=red ctermbg=NONE cterm=underline -hi Tag ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi Title ctermfg=231 ctermbg=NONE cterm=bold guifg=#f8f8f2 guibg=NONE gui=bold -hi Todo ctermfg=61 ctermbg=NONE cterm=inverse,bold guifg=#6272a4 guibg=NONE gui=inverse,bold -hi Type ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE -hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline guifg=NONE guibg=NONE gui=underline -hi rubyClass ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi rubyFunction ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -hi rubyInterpolationDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi rubySymbol ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi rubyConstant ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic -hi rubyStringDelimiter ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE -hi rubyBlockParameter ctermfg=215 ctermbg=NONE cterm=NONE guifg=#ffb86c guibg=NONE gui=italic -hi rubyInstanceVariable ctermfg=203 ctermbg=NONE cterm=NONE guifg=#ffb86c guibg=NONE gui=NONE -hi rubyInclude ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi rubyGlobalVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi rubyRegexp ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE -hi rubyRegexpDelimiter ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE -hi rubyEscape ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi rubyControl ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi rubyClassVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi rubyOperator ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi rubyException ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi rubyPseudoVariable ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi rubyRailsUserClass ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic -hi rubyRailsARAssociationMethod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE -hi rubyRailsARMethod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE -hi rubyRailsRenderMethod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE -hi rubyRailsMethod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE -hi erubyDelimiter ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi erubyComment ctermfg=61 ctermbg=NONE cterm=NONE guifg=#6272a4 guibg=NONE gui=NONE -hi erubyRailsMethod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE -hi htmlTag ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi htmlEndTag ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi htmlTagName ctermfg=NONE ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi htmlArg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -hi htmlSpecialChar ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi javaScriptFunction ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=italic -hi javaScriptRailsFunction ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE -hi javaScriptBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi yamlKey ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi yamlAnchor ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi yamlAlias ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi yamlDocumentHeader ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE -hi cssURL ctermfg=215 ctermbg=NONE cterm=NONE guifg=#ffb86c guibg=NONE gui=italic -hi cssFunctionName ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=NONE -hi cssColor ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi cssPseudoClassId ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -hi cssClassName ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -hi cssValueLength ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi cssCommonAttr ctermfg=81 ctermbg=NONE cterm=NONE guifg=#6be5fd guibg=NONE gui=NONE -hi cssBraces ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE gui=NONE -hi TabLineFill cterm=NONE ctermbg=236 guifg=#333333 guibg=#282a36 gui=none -hi TabLine cterm=NONE ctermfg=7 ctermbg=240 guifg=#666666 guibg=#282a36 gui=none -hi TabLineSel guifg=WHITE guibg=#282a36 gui=none +" Tabs +hi! link TabLine DraculaBoundary +hi! link TabLineFill DraculaBgDarker +hi! link TabLineSel Normal + +" Popup Menu +hi! link Pmenu DraculaBgDark +hi! link PmenuSel DraculaSelection +hi! link PmenuSbar DraculaBgDark +hi! link PmenuThumb DraculaSelection + +" Messages +hi! link ErrorMsg DraculaRedInverse +hi! link WarningMsg DraculaOrangeInverse +hi! link MoreMsg DraculaFgBold +hi! link Question DraculaFgBold +hi! link Title DraculaGreenBold + +" Folds +hi! link Folded DraculaBoundary +hi! link VertSplit DraculaBoundary +hi! link FoldColumn DraculaSubtle + +" Line Numbers +hi! link CursorLineNr DraculaYellow +hi! link LineNr DraculaComment +hi! link SignColumn DraculaComment + +" Whitespace / Non-text +call s:h('CursorLine', s:none, s:subtle) " Required as some plugins will overwrite +hi! link NonText DraculaSubtle +hi! link CursorColumn DraculaSelection +hi! link ColorColumn DraculaSelection + +" Diffs +hi! link DiffAdd DraculaGreen +hi! link DiffChange DraculaDiffChange +hi! link DiffText DraculaDiffText +hi! link DiffDelete DraculaDiffDelete + +"}}}2 +" NetRW: {{{2 + +hi! link Directory DraculaPurpleBold + +" }}}2 +" GitGutter: {{{2 +hi! link GitGutterAdd DraculaGreen +hi! link GitGutterChange DraculaYellow +hi! link GitGutterChangeDelete DraculaOrange +hi! link GitGutterDelete DraculaRed +"}}}2 + +" }}} +" Syntax: {{{ + +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 SpecialKey DraculaRed +hi! link SpecialComment DraculaCyanItalic +hi! link Tag DraculaCyan +hi! link helpHyperTextJump DraculaLink +hi! link helpCommand DraculaPurple +hi! link helpExample DraculaGreen + +call s:h('MatchParen', s:none, s:pink, [s:attrs.underline]) +call s:h('Conceal', s:comment, s:bglight) + +" CSS: {{{2 + +hi! link cssAttrComma Delimiter +hi! link cssBraces Delimiter +hi! link cssSelectorOp Delimiter +hi! link cssFunctionComma Delimiter +hi! link cssAttributeSelector DraculaGreenItalic +hi! link cssAttrRegion DraculaPink +hi! link cssUnitDecorators DraculaPink +hi! link cssProp DraculaCyan +hi! link cssPseudoClassId DraculaGreenItalic + +"}}}2 +" Git Commit: {{{2 + +" These groups appear when editing commit messages. +" They are not part of the Diff interface of vim diff + +" The following two are misnomers. Colors are correct. +hi! link diffFile DraculaGreen +hi! link diffNewFile DraculaRed + +hi! link diffLine DraculaCyanItalic +hi! link diffRemoved DraculaRed +hi! link diffAdded DraculaGreen + +"}}}2 +" HTML: {{{2 + +hi! link htmlTag DraculaFg +hi! link htmlArg DraculaGreenItalic +hi! link htmlTitle DraculaFg +hi! link htmlH1 DraculaFg +hi! link htmlSpecialChar DraculaPurple + +"}}}2 +" JavaScript: {{{2 + +hi! link javaScriptBraces Delimiter +hi! link javaScriptNumber Constant +hi! link javaScriptNull Constant +hi! link javaScriptFunction DraculaPink + +"}}}2 +" Markdown: {{{2 + +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 markdownBold DraculaOrangeBold +hi! link markdownItalic DraculaYellowItalic +hi! link markdownBoldItalic DraculaOrangeBoldItalic + +hi! link markdownBlockquote DraculaCyan + +hi! link markdownCode DraculaGreenItalic +hi! link markdownCodeDelimiter DraculaGreen + +hi! link markdownListMarker DraculaCyan +hi! link markdownOrderedListMarker DraculaCyan + +hi! link markdownRule DraculaComment + +hi! link markdownLinkText DraculaPink +hi! link markdownUrl DraculaLink + +"}}}2 +" Ruby: {{{2 + +let g:ruby_operators=1 +hi! link rubyStringDelimiter DraculaYellow +hi! link rubyInterpolationDelimiter DraculaPink +hi! link rubyCurlyBlock DraculaPink +hi! link rubyBlockParameter DraculaOrangeItalic +hi! link rubyBlockArgument DraculaOrangeItalic +hi! link rubyInstanceVariable DraculaPurpleItalic +hi! link rubyGlobalVariable DraculaPurple +hi! link rubyRegexpDelimiter DraculaRed + +"}}}2 +" YAML: {{{2 + +hi! link yamlBlockMappingKey DraculaCyan +hi! link yamlPlainScalar DraculaYellow +hi! link yamlAnchor DraculaPinkItalic +hi! link yamlAlias DraculaGreenItalicUnderline +hi! link yamlNodeTag DraculaPink +hi! link yamlFlowCollection DraculaPink +hi! link yamlFlowIndicator Delimiter + +"}}}2 +" Vim Script: {{{2 + +hi! link vimOption DraculaCyanItalic +hi! link vimAutoEventList DraculaCyanItalic +hi! link vimAutoCmdSfxList DraculaCyanItalic +hi! link vimSetSep Delimiter +hi! link vimSetMod DraculaPink +hi! link vimHiBang DraculaPink +hi! link vimEnvVar DraculaPurple +hi! link vimUserFunc DraculaGreen +hi! link vimFunction DraculaGreen +hi! link vimUserAttrbCmpltFunc DraculaGreen + +"}}}2 -" Elixir {{{ -hi elixirAtom ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic" -hi elixirModuleDeclaration ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic" -hi elixirAlias ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE gui=italic" -hi elixirInterpolationDelimiter ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -hi elixirStringDelimiter ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE "}}} -" -" Vim Script {{{ -hi vimGroupName ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE -hi vimGroup ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE -hi vimOption ctermfg=81 ctermbg=NONE cterm=NONE guifg=#66d9ef guibg=NONE -hi vimHiCtermFgBg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE -hi vimHiGuiFgBg ctermfg=NONE ctermbg=NONE cterm=NONE guifg=NONE guibg=NONE -" }}} -" Markdown: {{{ -hi markdownH1 ctermfg=141 ctermbg=NONE cterm=bold guifg=#bd93f9 guibg=NONE gui=bold" -hi markdownH2 ctermfg=141 ctermbg=NONE cterm=bold guifg=#bd93f9 guibg=NONE gui=bold" -hi markdownH3 ctermfg=212 ctermbg=NONE cterm=bold guifg=#ff79c6 guibg=NONE gui=bold" -hi markdownH4 ctermfg=212 ctermbg=NONE cterm=bold guifg=#ff79c6 guibg=NONE gui=bold" -hi markdownH5 ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi markdownH6 ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -hi markdownCode ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE -hi markdownCodeBlock ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE -hi markdownCodeDelimiter ctermfg=228 ctermbg=NONE cterm=NONE guifg=#f1fa8c guibg=NONE gui=NONE - -hi markdownBlockquote ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -hi markdownListMarker ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -hi markdownOrderedListMarker ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -hi markdownRule ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -hi markdownHeadingRule ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE - -hi markdownUrlDelimiter ctermfg=215 ctermbg=NONE cterm=NONE guifg=#ffb86c guibg=NONE gui=italic" -hi markdownLinkDelimiter ctermfg=215 ctermbg=NONE cterm=NONE guifg=#ffb86c guibg=NONE gui=italic" -hi markdownLinkTextDelimiter ctermfg=215 ctermbg=NONE cterm=NONE guifg=#ffb86c guibg=NONE gui=italic" - -hi markdownHeadingDelimiter ctermfg=117 ctermbg=NONE cterm=bold guifg=#8be9fd guibg=NONE gui=bold" -hi markdownUrl ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi markdownUrlTitleDelimiter ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -" }}} -" OCaml {{{ -hi ocamlModule ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=italic -hi ocamlConstructor ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=italic -hi ocamlType ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi ocamlModPath ctermfg=141 ctermbg=NONE cterm=NONE guifg=#bd93f9 guibg=NONE gui=NONE -hi ocamlTodo ctermfg=215 ctermbg=NONE cterm=NONE guifg=#ffb86c guibg=NONE gui=italic -hi ocamlLabel ctermfg=84 ctermbg=NONE cterm=NONE guifg=#50fa7b guibg=NONE gui=NONE -hi ocamlFullMod ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=italic -hi ocamlWith ctermfg=117 ctermbg=NONE cterm=NONE guifg=#8be9fd guibg=NONE gui=italic -hi ocamlUnit ctermfg=212 ctermbg=NONE cterm=NONE guifg=#ff79c6 guibg=NONE gui=NONE -" }}} - -" Neovim Terminal Colors {{{ -if has("nvim") - let g:terminal_color_0 = "#000000" - let g:terminal_color_1 = "#FF5555" - let g:terminal_color_2 = "#50FA7B" - let g:terminal_color_3 = "#F1FA8C" - let g:terminal_color_4 = "#BD93F9" - let g:terminal_color_5 = "#FF79C6" - let g:terminal_color_6 = "#8BE9FD" - let g:terminal_color_7 = "#BFBFBF" - let g:terminal_color_8 = "#4D4D4D" - let g:terminal_color_9 = "#FF6E67" - let g:terminal_color_10 = "#5AF78E" - let g:terminal_color_11 = "#F4F99D" - let g:terminal_color_12 = "#CAA9FA" - let g:terminal_color_13 = "#FF92D0" - let g:terminal_color_14 = "#9AEDFE" - let g:terminal_color_15 = "#E6E6E6" -endif -" }}} - -" -"cygwin has an annoying behavior where it resets background to light -"regardless of what is set above, so we force it yet again -" -"add these to get cygwin shell working when used to ssh into a centos6 vm -"this requires your TERM=xterm-256color in the guest vm -"- one way to do this is to append to /home/vagrant/.bash_profile ala: -" TERM=xterm-256color -" export $TERM - -execute "set background=dark" -"------------------- +" vim: fdm=marker ts=2 sts=2 sw=2: diff --git a/doc/dracula.txt b/doc/dracula.txt new file mode 100644 index 0000000..b4f6ea3 --- /dev/null +++ b/doc/dracula.txt @@ -0,0 +1,137 @@ +*dracula.txt* For Vim version 8 Last change: 2018 March 27 +*dracula* *vim-dracula* + + |\ ,, ~ + \\ _ || _ ~ + / \\ ,._-_ < \, _-_ \\ \\ || < \, ~ + || || || /-|| || || || || /-|| ~ + || || || (( || || || || || (( || ~ + \\/ \\, \/\\ \\,/ \\/\\ \\ \/\\ ~ + + A dark theme for vim + +============================================================================== +CONTENTS *dracula-contents* + + 1. Intro ................................................... |dracula-intro| + 2. Usage ................................................... |dracula-usage| + 3. Configuration ................................... |dracula-configuration| + 4. Personal Customization .......................... |dracula-customization| + 5. License ............................................... |dracula-license| + 6. Bugs ..................................................... |dracula-bugs| + 7. Contributing ..................................... |dracula-contributing| + 8. Credits ............................................... |dracula-credits| + +============================================================================== +INTRO *dracula-intro* + +Dracula is a vim plugin that contains + + - a dark colorscheme for vim + - a similarly-themed colorscheme for the vim plugin airline + (https://github.com/vim-airline/vim-airline) + +============================================================================== +USAGE *dracula-usage* + +Install it with your favorite plugin manager, and then > + colorscheme dracula +in your vimrc ! + +If you are an airline user, you can also do > + let g:airline_theme='dracula' +to have airline use Dracula. + +============================================================================== +CONFIGURATION *dracula-configuration* + +There are a couple of variables used by Dracula that you might want to adjust +depending on your terminal's capabilities. + +Default values are shown. + +------------------------------------------------------------------------------ +In the following section, `1` signifies `on` and `0` signifies `off`. + +* *g:dracula_bold* +Include bold attributes in highlighting > + let g:dracula_bold = 1 +< +* *g:dracula_italic* +Include italic attributes in highlighting > + let g:dracula_italic = 1 +< +* *g:dracula_underline* +Include underline attributes in highlighting > + let g:dracula_underline = 1 +< +* *g:dracula_undercurl* +Include undercurl attributes in highlighting (only if underline enabled) > + let g:dracula_undercurl = 1 +< +* *g:dracula_inverse* +Include inverse attributes in highlighting > + let g:dracula_inverse = 1 +< +============================================================================== +CUSTOMIZATION *dracula-customization* + +Like all colorschemes, Dracula is easy to customize with |autocmd|. Make use +of the |ColorScheme| event as in the following examples. + +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 END +> + +- To add underline styling to |hl-CursorLine|, you can use the following: > + autocmd ColorScheme dracula hi CursorLine cterm=underline term=underline +< +============================================================================== +LICENSE *dracula-license* + +MIT License. Copyright © 2016 Dracula Theme. +Full text available at +https://github.com/dracula/vim/blob/master/LICENSE + +============================================================================== +BUGS *dracula-bugs* + +At the time of this writing, no major bugs have been found. + +If you find one and wish to report it, you can do so at +https://github.com/dracula/vim/issues + +============================================================================== +CONTRIBUTING *dracula-contributing* + +Want to submit a new feature, bugfix, or hack on Dracula? +Submit pull requests to +https://github.com/dracula/vim/pulls + +Existing code determines style guidelines. + +============================================================================== +CREDITS *dracula-credits* + +Proudly built by the Dracula Theme organization +https://github.com/dracula + +Dracula for other applications available at +https://draculatheme.com + +Further information available at +https://draculatheme.com/vim + +Maintained by: +- Trevor Heins ( https://github.com/heinst ) +- Blake Williams ( https://github.com/BlakeWilliams ) +- Derek S. ( https://github.com/dsifford ) + +Git repository: +https://github.com/dracula/vim + + vim:tw=78:ts=8:ft=help:norl: