mirror of https://github.com/amix/vimrc.git
parent
65de68fa88
commit
97fed613a7
@ -0,0 +1,45 @@ |
||||
<!-- |
||||
Thanks for your interest in reporting an issue. |
||||
|
||||
Before submitting, please refer to the following common issues and solutions: |
||||
|
||||
Running vim in a terminal? |
||||
- Try adding `set termguicolors` to your vimrc. |
||||
|
||||
Running vim with tmux? |
||||
- Be sure you have terminal-overrides to enable truecolor (if supported in your term) |
||||
- Be sure your `default-terminal` is set to, ideally, `tmux-256color`. If your OS doesn't |
||||
have `tmux-256color` terminfo files, google them and add them using `tic` |
||||
|
||||
Having issues with font styles (italic, bold, underline)? |
||||
- Be sure your terminal supports these styles. |
||||
- If running tmux, see tmux section. |
||||
- If all else fails, disable the style by setting `let g:dracula_<style-name> = 0` |
||||
in your vimrc, where `<style-name>` is one of (`italic`, `bold`, `underline`, `undercurl`, `inverse`) |
||||
|
||||
If the above did not resolve your issue, please complete all fields of the form below. |
||||
--> |
||||
|
||||
### What happened |
||||
|
||||
### What I expected to happen |
||||
|
||||
### Screenshot |
||||
|
||||
### Machine Info |
||||
<!-- |
||||
if on a *nix system, please provide the output of `uname -a` for OS field |
||||
--> |
||||
- **Vim type (`vim`/`gvim`/`neovim`)**: |
||||
- **Vim version**: |
||||
- **OS**: |
||||
- **Terminal/Terminal Emulator/VTE**: |
||||
- **`TERM` environment variable**: |
||||
|
||||
### Additional Info |
||||
<!-- |
||||
If using Tmux, please provide the output of `tmux info` |
||||
|
||||
If having issues with text rendering, please provide the output of `infocmp` |
||||
--> |
||||
|
@ -0,0 +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. |
||||
--> |
||||
|
@ -0,0 +1 @@ |
||||
doc/tags |
@ -0,0 +1,93 @@ |
||||
### [Vim](http://www.vim.org/) |
||||
|
||||
#### Install |
||||
|
||||
These are the default instructions using Vim 8's `|packages|` feature. See |
||||
sections below, if you use other plugin managers. |
||||
|
||||
1. Create theme folder (in case you don't have yet): |
||||
|
||||
|
||||
- \*nix: |
||||
``` |
||||
mkdir -p ~/.vim/pack/themes/start |
||||
``` |
||||
|
||||
- Windows: create directory `$HOME\vimfiles\pack\themes\start` |
||||
|
||||
If you use vim 8.0 (and not 8.2), you may need to use `~/.vim/pack/themes/opt` |
||||
or `$HOME\vimfiles\pack\themes\opt` instead. |
||||
|
||||
2. Navigate to the folder above: |
||||
|
||||
|
||||
- \*nix: |
||||
``` |
||||
cd ~/.vim/pack/themes/start |
||||
``` |
||||
|
||||
- Windows: navigate to `$HOME\vimfiles\pack\themes\start` |
||||
|
||||
3. Clone the repository using the "dracula" name: |
||||
|
||||
``` |
||||
git clone https://github.com/dracula/vim.git dracula |
||||
``` |
||||
(Or use your favorite GUI client, or download the ZIP) |
||||
|
||||
4. Edit your `vimrc` file with the following content: |
||||
|
||||
``` |
||||
packadd! dracula |
||||
syntax enable |
||||
colorscheme dracula |
||||
``` |
||||
|
||||
The location of the `vimrc` varies between platforms: |
||||
- \*nix: `~/.vim/vimrc` or `~/.vimrc` |
||||
- Windows: `$HOME\vimfiles\vimrc` or `$HOME\_vimrc` |
||||
|
||||
#### Install using other plugin managers |
||||
|
||||
- If you [use vim + pathogen + submodules](http://vimcasts.org/episodes/synchronizing-plugins-with-git-submodules-and-pathogen/): |
||||
|
||||
Navigate to your vim directory (\*nix: `~/.vim`; Windows: `$HOME\vimfiles`) |
||||
|
||||
git submodule add git@github.com:dracula/vim.git bundle/dracula |
||||
|
||||
Place `colorscheme dracula` after `execute pathogen#infect()`. |
||||
|
||||
- If you [use vim + vundle](https://github.com/VundleVim/Vundle): |
||||
|
||||
Plugin 'dracula/vim', { 'name': 'dracula' } |
||||
:PluginInstall |
||||
|
||||
Place `colorscheme dracula` after `call vundle#end()`. |
||||
|
||||
- If you [use vim-plug](https://github.com/junegunn/vim-plug) (\`as\` will install |
||||
the plugin in a directory called 'dracula' instead of just 'vim'): |
||||
|
||||
Plug 'dracula/vim', { 'as': 'dracula' } |
||||
:PlugInstall |
||||
|
||||
Place `colorscheme dracula` after `call plug#end()`. |
||||
|
||||
- If you [use spacevim](https://spacevim.org), put the |
||||
following in `~/.SpaceVim.d/init.toml`: |
||||
|
||||
```toml |
||||
[options] |
||||
colorscheme = "dracula" |
||||
colorscheme_bg = "dark" |
||||
[[custom_plugins]] |
||||
repo = "dracula/vim" |
||||
name = "dracula" |
||||
merged = false |
||||
``` |
||||
|
||||
--- |
||||
|
||||
Note that dracula must be in your `'runtimepath'` to load properly: Version 2.0 |
||||
introduced autoload functionality for part of the plugin, which doesn't work |
||||
without `'runtimepath'` properly set. Consult your plugin-managers documentation |
||||
to make sure you put dracula on the `'runtimepath'` before loading it. |
@ -0,0 +1,21 @@ |
||||
The MIT License (MIT) |
||||
|
||||
Copyright (c) 2016 Dracula Theme |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to deal |
||||
in the Software without restriction, including without limitation the rights |
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
copies of the Software, and to permit persons to whom the Software is |
||||
furnished to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in all |
||||
copies or substantial portions of the Software. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||
SOFTWARE. |
@ -0,0 +1,25 @@ |
||||
# Dracula for [Vim](http://www.vim.org/) |
||||
|
||||
> A dark theme for [Vim](http://www.vim.org/). |
||||
|
||||
 |
||||
|
||||
Screenshot taken with the [pangloss/vim-javascript](https://github.com/pangloss/vim-javascript) |
||||
syntax plugin for javascript. |
||||
|
||||
## Install |
||||
|
||||
All instructions can be found at [draculatheme.com/vim](https://draculatheme.com/vim). |
||||
|
||||
## Team |
||||
|
||||
This theme is maintained by the following person(s) and a bunch of |
||||
[awesome contributors](https://github.com/dracula/vim/graphs/contributors). |
||||
|
||||
| [](https://github.com/dsifford) | [](https://github.com/benknoble) | |
||||
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | |
||||
| [Derek S.](https://github.com/dsifford) | [David Knoble](https://github.com/benknoble) | |
||||
|
||||
## License |
||||
|
||||
[MIT License](./LICENSE) |
@ -0,0 +1,95 @@ |
||||
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: {{{ |
||||
if exists('g:loaded_nvim_treesitter') |
||||
" # 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 |
||||
endif |
||||
" }}} |
||||
|
||||
" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0: |
@ -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 |
@ -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 |
||||
|
@ -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 |
@ -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: |
@ -0,0 +1 @@ |
||||
runtime! syntax/javascript.vim |
@ -0,0 +1,6 @@ |
||||
if dracula#should_abort('json') |
||||
finish |
||||
endif |
||||
|
||||
hi! link jsonKeyword DraculaCyan |
||||
hi! link jsonKeywordMatch DraculaPink |
@ -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: |
@ -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: |
@ -0,0 +1,7 @@ |
||||
if dracula#should_abort('ocaml') |
||||
finish |
||||
endif |
||||
|
||||
hi! link ocamlModule Type |
||||
hi! link ocamlModPath Normal |
||||
hi! link ocamlLabel DraculaOrangeItalic |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -0,0 +1,5 @@ |
||||
if dracula#should_abort('rust') |
||||
finish |
||||
endif |
||||
|
||||
hi! link rustCommentLineDoc Comment |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
||||
|
||||
" }}} |
@ -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 |
||||
|
||||
" }}} |
@ -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 |
@ -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=+>+ |
@ -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 |
||||
|
@ -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 <extrante@gmail.com> |
||||
" @author Zeno Rocha <hi@zenorocha.com> |
||||
"}}} |
||||
" 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: |
@ -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: |
@ -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: |
@ -0,0 +1,319 @@ |
||||
" 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 <nuxlli@gmail.com> |
||||
" @author Derek Sifford <dereksifford@gmail.com> |
||||
" @author Zeno Rocha <hi@zenorocha.com> |
||||
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_inverse') |
||||
let g:dracula_inverse = 1 |
||||
endif |
||||
|
||||
if !exists('g:dracula_colorterm') |
||||
let g:dracula_colorterm = 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, |
||||
\} |
||||
|
||||
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' |
||||
|
||||
" 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: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('DraculaLink', s:cyan, s:none, [s:attrs.underline]) |
||||
|
||||
call s:h('DraculaDiffChange', s:orange, s:none) |
||||
call s:h('DraculaDiffText', s:bg, s:orange) |
||||
call s:h('DraculaDiffDelete', s:red, s:bgdark) |
||||
|
||||
" }}}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 DraculaBgDarker |
||||
hi! link TabLineSel Normal |
||||
hi! link Title DraculaGreenBold |
||||
hi! link VertSplit DraculaBoundary |
||||
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 |
||||
hi! link LspDiagnosticsDefaultInformation DraculaCyan |
||||
hi! link LspDiagnosticsDefaultHint DraculaCyan |
||||
hi! link LspDiagnosticsDefaultError DraculaError |
||||
hi! link LspDiagnosticsDefaultWarning DraculaOrange |
||||
hi! link LspDiagnosticsUnderlineError DraculaErrorLine |
||||
hi! link LspDiagnosticsUnderlineHint DraculaInfoLine |
||||
hi! link LspDiagnosticsUnderlineInformation DraculaInfoLine |
||||
hi! link LspDiagnosticsUnderlineWarning DraculaWarnLine |
||||
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: |
@ -0,0 +1,157 @@ |
||||
*dracula.txt* For Vim version 8 Last change: 2018 May 08 |
||||
*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| |
||||