├── .github └── FUNDING.yml ├── screencaps ├── Deus.png ├── node.jpg ├── Airline.png ├── Pylint.png ├── merino.jpg ├── deusLinux.jpeg ├── duesFzF.jpeg ├── duesLinux.jpeg ├── vim-deus.jpg ├── ScreencapYCM.png ├── deusCocnvim.jpeg └── duesNerdtree.jpeg ├── CONTRIBUTING.md ├── deus.json ├── terminal └── alacritty.yml ├── LICENSE ├── autoload └── airline │ └── themes │ └── deusAirline.vim ├── README.md └── colors └── deus.vim /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | github: ajmwagar 3 | -------------------------------------------------------------------------------- /screencaps/Deus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/Deus.png -------------------------------------------------------------------------------- /screencaps/node.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/node.jpg -------------------------------------------------------------------------------- /screencaps/Airline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/Airline.png -------------------------------------------------------------------------------- /screencaps/Pylint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/Pylint.png -------------------------------------------------------------------------------- /screencaps/merino.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/merino.jpg -------------------------------------------------------------------------------- /screencaps/deusLinux.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/deusLinux.jpeg -------------------------------------------------------------------------------- /screencaps/duesFzF.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/duesFzF.jpeg -------------------------------------------------------------------------------- /screencaps/duesLinux.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/duesLinux.jpeg -------------------------------------------------------------------------------- /screencaps/vim-deus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/vim-deus.jpg -------------------------------------------------------------------------------- /screencaps/ScreencapYCM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/ScreencapYCM.png -------------------------------------------------------------------------------- /screencaps/deusCocnvim.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/deusCocnvim.jpeg -------------------------------------------------------------------------------- /screencaps/duesNerdtree.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajmwagar/vim-deus/HEAD/screencaps/duesNerdtree.jpeg -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | We like help. If you want to make some changes feel free to open up a pull request and We'll gladly merge it. 4 | -------------------------------------------------------------------------------- /deus.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "deus", 3 | "author": "Avery Wagar", 4 | "color": [ 5 | "#000000", 6 | "#d54e53", 7 | "#98c379", 8 | "#e5c07b", 9 | "#83a598", 10 | "#c678dd", 11 | "#70c0ba", 12 | "#ffffff", 13 | "#666666", 14 | "#ec3e45", 15 | "#90c966", 16 | "#edbf69", 17 | "#73ba9f", 18 | "#c858e9", 19 | "#2bcec2", 20 | "#ffffff" 21 | ], 22 | "foreground": "#eaeaea", 23 | "background": "#2c323b" 24 | } 25 | 26 | -------------------------------------------------------------------------------- /terminal/alacritty.yml: -------------------------------------------------------------------------------- 1 | # Add the following to your alacritty.yml file 2 | schemes: 3 | # ... 4 | deus: &deus 5 | # Default colors 6 | primary: 7 | background: '#2c323b' 8 | foreground: '#eaeaea' 9 | # Normal colors 10 | normal: 11 | black: '#242a32' 12 | red: '#d54e53' 13 | green: '#98c379' 14 | yellow: '#e5c07b' 15 | blue: '#83a598' 16 | magenta: '#c678dd' 17 | cyan: '#70c0ba' 18 | white: '#eaeaea' 19 | # Bright colors 20 | bright: 21 | black: '#666666' 22 | red: '#ec3e45' 23 | green: '#90c966' 24 | yellow: '#edbf69' 25 | blue: '#73ba9f' 26 | magenta: '#c858e9' 27 | cyan: '#2bcec2' 28 | white: '#ffffff' 29 | # ... 30 | colors: *deus 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Avery Wagar 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /autoload/airline/themes/deusAirline.vim: -------------------------------------------------------------------------------- 1 | function! airline#themes#deus#refresh() 2 | 3 | if get(g:, 'deus_termcolors', 256) == 16 4 | let s:term_red = 1 5 | let s:term_green = 2 6 | let s:term_yellow = 3 7 | let s:term_blue = 4 8 | let s:term_purple = 5 9 | let s:term_white = 7 10 | let s:term_black = 0 11 | let s:term_grey = 8 12 | else 13 | let s:term_red = 204 14 | let s:term_green = 114 15 | let s:term_yellow = 180 16 | let s:term_blue = 39 17 | let s:term_purple = 170 18 | let s:term_white = 145 19 | let s:term_black = 235 20 | let s:term_grey = 236 21 | endif 22 | 23 | let g:airline#themes#deus#palette = {} 24 | 25 | let g:airline#themes#deus#palette.accents = { 26 | \ 'red': [ '#E06C75', '', s:term_red, 0 ] 27 | \ } 28 | 29 | let s:N1 = [ '#232a32', '#98C379', s:term_black, s:term_green ] 30 | let s:N2 = [ '#ABB2BF', '#3E4452', s:term_white, s:term_grey ] 31 | let s:N3 = [ '#98C379', '#232a32', s:term_green, '' ] 32 | let g:airline#themes#deus#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3) 33 | 34 | let group = airline#themes#get_highlight('vimCommand') 35 | let g:airline#themes#deus#palette.normal_modified = { 36 | \ 'airline_c': [ group[0], '', group[2], '', '' ] 37 | \ } 38 | 39 | let s:I1 = [ '#232a32', '#61AFEF', s:term_black, s:term_blue ] 40 | let s:I2 = s:N2 41 | let s:I3 = [ '#61AFEF', '#232a32', s:term_blue, '' ] 42 | let g:airline#themes#deus#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3) 43 | let g:airline#themes#deus#palette.insert_modified = g:airline#themes#deus#palette.normal_modified 44 | 45 | let s:R1 = [ '#232a32', '#E06C75', s:term_black, s:term_red ] 46 | let s:R2 = s:N2 47 | let s:R3 = [ '#E06C75', '#232a32', s:term_red, '' ] 48 | let g:airline#themes#deus#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3) 49 | let g:airline#themes#deus#palette.replace_modified = g:airline#themes#deus#palette.normal_modified 50 | 51 | let s:V1 = [ '#232a32', '#C678DD', s:term_black, s:term_purple ] 52 | let s:V2 = s:N2 53 | let s:V3 = [ '#C678DD', '#232a32', s:term_purple, '' ] 54 | let g:airline#themes#deus#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3) 55 | let g:airline#themes#deus#palette.visual_modified = g:airline#themes#deus#palette.normal_modified 56 | 57 | let s:IA1 = [ '#232a32', '#ABB2BF', s:term_black, s:term_white ] 58 | let s:IA2 = [ '#ABB2BF', '#3E4452', s:term_white, s:term_grey ] 59 | let s:IA3 = s:N2 60 | let g:airline#themes#deus#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3) 61 | let g:airline#themes#deus#palette.inactive_modified = { 62 | \ 'airline_c': [ group[0], '', group[2], '', '' ] 63 | \ } 64 | 65 | " Warning/Error styling code from vim-airline's ["base16" theme](https://github.com/vim-airline/vim-airline-themes/blob/master/autoload/airline/themes/base16.vim) 66 | 67 | " Warnings 68 | let s:WI = [ '#232a32', '#E5C07B', s:term_black, s:term_yellow ] 69 | let g:airline#themes#deus#palette.normal.airline_warning = [ 70 | \ s:WI[0], s:WI[1], s:WI[2], s:WI[3] 71 | \ ] 72 | 73 | let g:airline#themes#deus#palette.normal_modified.airline_warning = 74 | \ g:airline#themes#deus#palette.normal.airline_warning 75 | 76 | let g:airline#themes#deus#palette.insert.airline_warning = 77 | \ g:airline#themes#deus#palette.normal.airline_warning 78 | 79 | let g:airline#themes#deus#palette.insert_modified.airline_warning = 80 | \ g:airline#themes#deus#palette.normal.airline_warning 81 | 82 | let g:airline#themes#deus#palette.visual.airline_warning = 83 | \ g:airline#themes#deus#palette.normal.airline_warning 84 | 85 | let g:airline#themes#deus#palette.visual_modified.airline_warning = 86 | \ g:airline#themes#deus#palette.normal.airline_warning 87 | 88 | let g:airline#themes#deus#palette.replace.airline_warning = 89 | \ g:airline#themes#deus#palette.normal.airline_warning 90 | 91 | let g:airline#themes#deus#palette.replace_modified.airline_warning = 92 | \ g:airline#themes#deus#palette.normal.airline_warning 93 | 94 | " Errors 95 | let s:ER = [ '#232a32', '#E06C75', s:term_black, s:term_red ] 96 | let g:airline#themes#deus#palette.normal.airline_error = [ 97 | \ s:ER[0], s:ER[1], s:ER[2], s:ER[3] 98 | \ ] 99 | 100 | let g:airline#themes#deus#palette.normal_modified.airline_error = 101 | \ g:airline#themes#deus#palette.normal.airline_error 102 | 103 | let g:airline#themes#deus#palette.insert.airline_error = 104 | \ g:airline#themes#deus#palette.normal.airline_error 105 | 106 | let g:airline#themes#deus#palette.insert_modified.airline_error = 107 | \ g:airline#themes#deus#palette.normal.airline_error 108 | 109 | let g:airline#themes#deus#palette.visual.airline_error = 110 | \ g:airline#themes#deus#palette.normal.airline_error 111 | 112 | let g:airline#themes#deus#palette.visual_modified.airline_error = 113 | \ g:airline#themes#deus#palette.normal.airline_error 114 | 115 | let g:airline#themes#deus#palette.replace.airline_error = 116 | \ g:airline#themes#deus#palette.normal.airline_error 117 | 118 | let g:airline#themes#deus#palette.replace_modified.airline_error = 119 | \ g:airline#themes#deus#palette.normal.airline_error 120 | 121 | endfunction 122 | 123 | call airline#themes#deus#refresh() 124 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vim-deus 2 | 3 | Deus was created out of sheer rage caused by all of the bad Solarized/Gruvbox clones. (No offense) 4 | I was tired of them. I needed something original, something new. So if you are like me, and I believe many of you are... 5 | 6 | I present you **Deus**: 7 | 8 | ## Screenshots 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | --- 17 | 18 | ## Installation 19 | 20 | Manual: 21 | 1. download & place `deus.vim` in your `vimfiles/colors` folder (usually `~/.vim/colors/`) 22 | 2. add this line to your `.vimrc` 23 | 24 | `colors deus` 25 | 26 | **OR** 27 | 28 | Use a package manager like Pathogen, Vundle, or Vim-plug just to name a few: 29 | 30 | ### Pathogen: 31 | 32 | Run this in your terminal 33 | 34 | ```bash 35 | 36 | cd ~/.vim/ 37 | 38 | mkdir bundle 39 | 40 | cd bundle 41 | 42 | git clone https://github.com/ajmwagar/vim-deus.git 43 | ``` 44 | 45 | ### Vim-Plug: 46 | 47 | Add the following lines to your `~/.vimrc`: 48 | 49 | ```vim 50 | call plug#begin('~/.vim/bundle/') 51 | Plug 'ajmwagar/vim-deus' 52 | call plug#end() 53 | ``` 54 | 55 | Don't forget to run: 56 | 57 | `:PlugInstall` 58 | 59 | 60 | --- 61 | 62 | ## Language Syntax Support: 63 | 64 | - Lua 65 | - Go 66 | - **JavaScript** 67 | - **CSS/HTML** 68 | - PHP 69 | - **C#** 70 | - JSON 71 | - **Markdown** 72 | - Haskell 73 | - Scala 74 | - Elixir 75 | - Java 76 | - MoonScript 77 | - Objective C 78 | - C Languages 79 | - CoffeeScript 80 | - **Ruby** 81 | - **Rust** 82 | - **Python** 83 | - Clojure 84 | - XML 85 | - Any many more... (try [vim-polyglot](https://github.com/sheerun/vim-polyglot) for syntax packs) 86 | 87 | **Bold** = really nice looking (They all look good but these are my personal favorites.) 88 | 89 | --- 90 | 91 | ## Plugin support 92 | 93 | - Airline `:AirlineTheme deus` 94 | - coc.nvim (popup-windows & error colors) 95 | - Ctrlp 96 | - FZF 97 | - NerdTREE 98 | - Syntastic (and most linters) 99 | - Deoplete 100 | - YCM (YouCompleteMe) 101 | - Tabbar 102 | - Vim-easy-motion 103 | - Sneak 104 | - Rainbow-Parentheses 105 | 106 | --- 107 | 108 | ## Palette 109 | 110 | | Color | Hex | Use | 111 | |------------------------------------------------------------------------|---------|---------------| 112 | || #242a32 | black | 113 | || #d54e53 | red | 114 | || #98c379 | green | 115 | || #e5c07b | yellow | 116 | || #83a598 | blue | 117 | || #c678dd | purple | 118 | || #70c0ba | teal | 119 | || #eaeaea | white | 120 | || #666666 | bright black | 121 | || #ec3e45 | bright red | 122 | || #90c966 | bright green | 123 | || #edbf69 | bright yellow | 124 | || #73ba9f | bright blue | 125 | || #c858e9 | bright purple | 126 | || #2bcec2 | bright teal | 127 | || #ffffff | bright white | 128 | || #2c323b | background | 129 | || #eaeaea | foreground | 130 | 131 | ## Troubleshooting 132 | 133 | When using terminal-vim and vim-deus the colors 134 | can get messed up. 135 | 136 | To fix this add the following snippet to your `~/.vimrc`: 137 | 138 | ```vim 139 | set t_Co=256 140 | set termguicolors 141 | 142 | let &t_8f = "\[38;2;%lu;%lu;%lum" 143 | let &t_8b = "\[48;2;%lu;%lu;%lum" 144 | 145 | set background=dark " Setting dark mode 146 | colorscheme deus 147 | let g:deus_termcolors=256 148 | ``` 149 | 150 | ### Tmux 151 | 152 | Instructions on how to enable TrueColor for Tmux can be found [here](https://gist.github.com/parmort/4d95555b3f9435fa953f0b7c67c86e8f). 153 | 154 | ### Italics 155 | 156 | If you use vim in a terminal that supports italics, set the environment variable `TERM_ITALICS` to TRUE (i.e. `export TERM_ITALICS=true`) to enable with vim-deus. 157 | 158 | ### Terminal Support 159 | 160 | Deus has been ported to the following terminal emulators. 161 | 162 | | Terminal Emulator | Configuration | 163 | |-----------------------------------------------------|-------------------------------------------------------------| 164 | | [Alacritty](https://github.com/alacritty/alacritty) | [alacritty.yml](./terminal/alacritty.yml) | 165 | 166 | --- 167 | 168 | ## Thank You 169 | I took **a lot** of inspiration from two great colorschemes, 170 | [Onedark](https://github.com/joshdick/onedark.vim) and 171 | [Gruvbox](https://github.com/morhetz/gruvbox). I want to thank their creators for making such great 172 | color schemes. So thank you! 173 | -------------------------------------------------------------------------------- /colors/deus.vim: -------------------------------------------------------------------------------- 1 | " ----------------------------------------------------------------------------- 2 | " File: deus.vim 3 | " Description: a retro-modern colorscheme in Vim 4 | " Author: ajmwagar 5 | " Source: https://github.com/ajmwagar/vim-deus 6 | " Last Modified: 21 June 2019 7 | " ----------------------------------------------------------------------------- 8 | 9 | " Setup Colors/Palette {{{ 10 | " Initialisation: {{{ 11 | 12 | if version > 580 13 | hi clear 14 | if exists("syntax_on") 15 | syntax reset 16 | endif 17 | endif 18 | 19 | let g:colors_name='deus' 20 | 21 | if !has('gui_running') && &t_Co != 256 22 | finish 23 | endif 24 | 25 | " }}} 26 | " Global Settings: {{{ 27 | 28 | if !exists('g:deus_bold') 29 | let g:deus_bold=1 30 | endif 31 | if !exists('g:deus_italic') 32 | if has('gui_running') || $TERM_ITALICS == 'true' 33 | let g:deus_italic=1 34 | else 35 | let g:deus_italic=0 36 | endif 37 | endif 38 | if !exists('g:deus_undercurl') 39 | let g:deus_undercurl=1 40 | endif 41 | if !exists('g:deus_underline') 42 | let g:deus_underline=1 43 | endif 44 | if !exists('g:deus_inverse') 45 | let g:deus_inverse=1 46 | endif 47 | 48 | if !exists('g:deus_guisp_fallback') || index(['fg', 'bg'], g:deus_guisp_fallback) == -1 49 | let g:deus_guisp_fallback='NONE' 50 | endif 51 | 52 | if !exists('g:deus_improved_strings') 53 | let g:deus_improved_strings=0 54 | endif 55 | 56 | if !exists('g:deus_improved_warnings') 57 | let g:deus_improved_warnings=0 58 | endif 59 | 60 | if !exists('g:deus_termcolors') 61 | let g:deus_termcolors=256 62 | endif 63 | 64 | if !exists('g:deus_invert_indent_guides') 65 | let g:deus_invert_indent_guides=0 66 | endif 67 | 68 | if !exists('g:deus_contrast_dark') 69 | let g:deus_contrast_dark='medium' 70 | endif 71 | 72 | if !exists('g:deus_contrast_light') 73 | let g:deus_contrast_light='medium' 74 | endif 75 | 76 | let s:is_dark=(&background == 'dark') 77 | 78 | " }}} 79 | " Palette: {{{ 80 | 81 | " setup palette dictionary 82 | let s:ds = {} 83 | 84 | 85 | " fill it with absolute colors 86 | let s:ds.dark0 = ['#2C323B', 235] " 40-40-40 Background 87 | let s:ds.dark1 = ['#3c3836', 237] " 60-56-54 88 | let s:ds.dark2 = ['#242a32', 239] " 80-73-69 89 | let s:ds.dark3 = ['#665c54', 241] " 102-92-84 90 | let s:ds.dark4 = ['#7c6f64', 243] " 124-111-100 91 | let s:ds.dark4_256 = ['#7c6f64', 243] " 124-111-100 92 | 93 | let s:ds.gray_245 = ['#928374', 245] " 146-131-116 94 | let s:ds.gray_244 = ['#928374', 244] " 146-131-116 95 | 96 | let s:ds.light0 = ['#d2d2d2', 229] " 253-244-193 97 | let s:ds.light1 = ['#ebdbb2', 223] " 235-219-178 98 | let s:ds.light2 = ['#d5c4a1', 250] " 213-196-161 99 | let s:ds.light3 = ['#bdae93', 248] " 189-174-147 100 | let s:ds.light4 = ['#a89984', 246] " 168-153-132 101 | let s:ds.light4_256 = ['#a89984', 246] " 168-153-132 102 | 103 | let s:ds.bright_red = ['#fb4934', 167] " 251-73-52 104 | let s:ds.bright_green = ['#98C379', 142] " 184-187-38 105 | let s:ds.bright_yellow = ['#fabd2f', 214] " 250-189-47 106 | let s:ds.bright_blue = ['#83a598', 109] " 131-165-152 107 | let s:ds.bright_purple = ['#C678DD', 175] " 211-134-155 108 | let s:ds.bright_aqua = ['#8ec07c', 108] " 142-192-124 109 | let s:ds.bright_orange = ['#fe8019', 208] " 254-128-25 110 | 111 | " }}} 112 | " Setup Emphasis: {{{ 113 | 114 | let s:bold = 'bold,' 115 | if g:deus_bold == 0 116 | let s:bold = '' 117 | endif 118 | 119 | let s:italic = 'italic,' 120 | if g:deus_italic == 0 121 | let s:italic = '' 122 | endif 123 | 124 | let s:underline = 'underline,' 125 | if g:deus_underline == 0 126 | let s:underline = '' 127 | endif 128 | 129 | let s:undercurl = 'undercurl,' 130 | if g:deus_undercurl == 0 131 | let s:undercurl = '' 132 | endif 133 | 134 | let s:inverse = 'inverse,' 135 | if g:deus_inverse == 0 136 | let s:inverse = '' 137 | endif 138 | 139 | " }}} 140 | " Setup Colors: {{{ 141 | 142 | let s:vim_bg = ['bg', 'bg'] 143 | let s:vim_fg = ['fg', 'fg'] 144 | let s:none = ['NONE', 'NONE'] 145 | 146 | " determine relative colors 147 | let s:bg0 = s:ds.dark0 148 | let s:bg1 = s:ds.dark1 149 | let s:bg2 = s:ds.dark2 150 | let s:bg3 = s:ds.dark3 151 | let s:bg4 = s:ds.dark4 152 | 153 | let s:gray = s:ds.gray_245 154 | 155 | let s:fg0 = s:ds.light0 156 | let s:fg1 = s:ds.light1 157 | let s:fg2 = s:ds.light2 158 | let s:fg3 = s:ds.light3 159 | let s:fg4 = s:ds.light4 160 | 161 | let s:fg4_256 = s:ds.light4_256 162 | 163 | let s:red = s:ds.bright_red 164 | let s:green = s:ds.bright_green 165 | let s:yellow = s:ds.bright_yellow 166 | let s:blue = s:ds.bright_blue 167 | let s:purple = s:ds.bright_purple 168 | let s:aqua = s:ds.bright_aqua 169 | let s:orange = s:ds.bright_orange 170 | 171 | " reset to 16 colors fallback 172 | "if g:deus_termcolors == 16 173 | "let s:bg0[1] = NONE 174 | "let s:fg4[1] = 7 175 | "let s:gray[1] = 8 176 | "let s:red[1] = 9 177 | "let s:green[1] = 10 178 | "let s:yellow[1] = 11 179 | "let s:blue[1] = 12 180 | "let s:purple[1] = 5 181 | "let s:aqua[1] = 14 182 | "let s:fg1[1] = 15 183 | "endif 184 | 185 | " save current relative colors back to palette dictionary 186 | let s:ds.bg0 = s:bg0 187 | let s:ds.bg1 = s:bg1 188 | let s:ds.bg2 = s:bg2 189 | let s:ds.bg3 = s:bg3 190 | let s:ds.bg4 = s:bg4 191 | 192 | let s:ds.gray = s:gray 193 | 194 | let s:ds.fg0 = s:fg0 195 | let s:ds.fg1 = s:fg1 196 | let s:ds.fg2 = s:fg2 197 | let s:ds.fg3 = s:fg3 198 | let s:ds.fg4 = s:fg4 199 | 200 | let s:ds.fg4_256 = s:fg4_256 201 | 202 | let s:ds.red = s:red 203 | let s:ds.green = s:green 204 | let s:ds.yellow = s:yellow 205 | let s:ds.blue = s:blue 206 | let s:ds.purple = s:purple 207 | let s:ds.aqua = s:aqua 208 | let s:ds.orange = s:orange 209 | 210 | " }}} 211 | " Overload Setting: {{{ 212 | 213 | let s:hls_cursor = s:orange 214 | if exists('g:deus_hls_cursor') 215 | let s:hls_cursor = get(s:ds, g:deus_hls_cursor) 216 | endif 217 | 218 | let s:number_column = s:bg4 219 | let s:sign_column = s:bg2 220 | 221 | if exists('g:gitgutter_override_sign_column_highlight') && 222 | \ g:gitgutter_override_sign_column_highlight == 1 223 | let s:sign_column = s:number_column 224 | else 225 | let g:gitgutter_override_sign_column_highlight = 0 226 | 227 | if exists('g:deus_sign_column') 228 | let s:sign_column = get(s:ds, g:deus_sign_column) 229 | endif 230 | endif 231 | 232 | let s:color_column = s:bg1 233 | if exists('g:deus_color_column') 234 | let s:color_column = get(s:ds, g:deus_color_column) 235 | endif 236 | 237 | let s:vert_split = s:bg2 238 | if exists('g:deus_vert_split') 239 | let s:vert_split = get(s:ds, g:deus_vert_split) 240 | endif 241 | 242 | let s:invert_signs = '' 243 | if exists('g:deus_invert_signs') 244 | if g:deus_invert_signs == 1 245 | let s:invert_signs = s:inverse 246 | endif 247 | endif 248 | 249 | let s:invert_selection = s:inverse 250 | if exists('g:deus_invert_selection') 251 | if g:deus_invert_selection == 0 252 | let s:invert_selection = '' 253 | endif 254 | endif 255 | 256 | let s:invert_tabline = '' 257 | if exists('g:deus_invert_tabline') 258 | if g:deus_invert_tabline == 1 259 | let s:invert_tabline = s:inverse 260 | endif 261 | endif 262 | 263 | let s:italicize_comments = s:italic 264 | if exists('g:deus_italicize_comments') 265 | if g:deus_italicize_comments == 0 266 | let s:italicize_comments = '' 267 | endif 268 | endif 269 | 270 | let s:italicize_strings = '' 271 | if exists('g:deus_italicize_strings') 272 | if g:deus_italicize_strings == 1 273 | let s:italicize_strings = s:italic 274 | endif 275 | endif 276 | 277 | " }}} 278 | " Highlighting Function: {{{ 279 | 280 | function! s:HL(group, fg, ...) 281 | " Arguments: group, guifg, guibg, gui, guisp 282 | 283 | " foreground 284 | let fg = a:fg 285 | 286 | " background 287 | if a:0 >= 1 288 | let bg = a:1 289 | else 290 | let bg = s:none 291 | endif 292 | 293 | " emphasis 294 | if a:0 >= 2 && strlen(a:2) 295 | let emstr = a:2 296 | else 297 | let emstr = 'NONE,' 298 | endif 299 | 300 | " special fallback 301 | if a:0 >= 3 302 | if g:deus_guisp_fallback != 'NONE' 303 | let fg = a:3 304 | endif 305 | 306 | " bg fallback mode should invert higlighting 307 | if g:deus_guisp_fallback == 'bg' 308 | let emstr .= 'inverse,' 309 | endif 310 | endif 311 | 312 | let histring = [ 'hi', a:group, 313 | \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], 314 | \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], 315 | \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] 316 | \ ] 317 | 318 | " special 319 | if a:0 >= 3 320 | call add(histring, 'guisp=' . a:3[0]) 321 | endif 322 | 323 | execute join(histring, ' ') 324 | endfunction 325 | 326 | " }}} 327 | " deus Hi Groups: {{{ 328 | 329 | " memoize common hi groups 330 | call s:HL('deusFg0', s:fg0) 331 | call s:HL('deusFg1', s:fg1) 332 | call s:HL('deusFg2', s:fg2) 333 | call s:HL('deusFg3', s:fg3) 334 | call s:HL('deusFg4', s:fg4) 335 | call s:HL('deusGray', s:gray) 336 | call s:HL('deusBg0', s:bg0) 337 | call s:HL('deusBg1', s:bg1) 338 | call s:HL('deusBg2', s:bg2) 339 | call s:HL('deusBg3', s:bg3) 340 | call s:HL('deusBg4', s:bg4) 341 | 342 | call s:HL('deusRed', s:red) 343 | call s:HL('deusRedBold', s:red, s:none, s:bold) 344 | call s:HL('deusGreen', s:green) 345 | call s:HL('deusGreenBold', s:green, s:none, s:bold) 346 | call s:HL('deusYellow', s:yellow) 347 | call s:HL('deusYellowBold', s:yellow, s:none, s:bold) 348 | call s:HL('deusBlue', s:blue) 349 | call s:HL('deusBlueBold', s:blue, s:none, s:bold) 350 | call s:HL('deusPurple', s:purple) 351 | call s:HL('deusPurpleBold', s:purple, s:none, s:bold) 352 | call s:HL('deusAqua', s:aqua) 353 | call s:HL('deusAquaBold', s:aqua, s:none, s:bold) 354 | call s:HL('deusOrange', s:orange) 355 | call s:HL('deusOrangeBold', s:orange, s:none, s:bold) 356 | 357 | call s:HL('deusRedSign', s:red, s:sign_column, s:invert_signs) 358 | call s:HL('deusGreenSign', s:green, s:sign_column, s:invert_signs) 359 | call s:HL('deusYellowSign', s:yellow, s:sign_column, s:invert_signs) 360 | call s:HL('deusBlueSign', s:blue, s:sign_column, s:invert_signs) 361 | call s:HL('deusPurpleSign', s:purple, s:sign_column, s:invert_signs) 362 | call s:HL('deusAquaSign', s:aqua, s:sign_column, s:invert_signs) 363 | 364 | " }}} 365 | " }}} 366 | " Vanilla colorscheme {{{ 367 | " General UI: {{{ 368 | 369 | " Normal text 370 | call s:HL('Normal', s:fg1, s:bg0) 371 | 372 | " Correct background (see issue #7): 373 | " --- Problem with changing between dark and light on 256 color terminal 374 | " --- https://github.com/morhetz/deus/issues/7 375 | if s:is_dark 376 | set background=dark 377 | else 378 | set background=light 379 | endif 380 | 381 | if version >= 700 382 | " Screen line that the cursor is 383 | call s:HL('CursorLine', s:none, s:bg2) 384 | " Screen column that the cursor is 385 | hi! link CursorColumn CursorLine 386 | 387 | " Tab pages line filler 388 | call s:HL('TabLineFill', s:bg4, s:vim_bg, s:invert_tabline) 389 | " Active tab page label 390 | call s:HL('TabLineSel', s:vim_bg, s:bg4, s:bold . s:invert_tabline) 391 | 392 | " Not active tab page label 393 | hi! link TabLine TabLineFill 394 | 395 | " Match paired bracket under the cursor 396 | call s:HL('MatchParen', s:none, s:bg3, s:bold) 397 | endif 398 | 399 | if version >= 703 400 | " Highlighted screen columns 401 | call s:HL('ColorColumn', s:none, s:color_column) 402 | 403 | " Concealed element: \lambda → λ 404 | call s:HL('Conceal', s:blue, s:none) 405 | 406 | " Line number of CursorLine 407 | call s:HL('CursorLineNr', s:fg1, s:bg2) 408 | endif 409 | 410 | " Weird black color breaks 411 | hi! link NonText deusGreen 412 | hi! link Ignore deusPurple 413 | hi! link SpecialKey deusOrange 414 | 415 | call s:HL('Visual', s:none, s:bg3, s:invert_selection) 416 | hi! link VisualNOS Visual 417 | 418 | call s:HL('Search', s:bg0, s:yellow) 419 | call s:HL('IncSearch', s:bg0, s:hls_cursor) 420 | 421 | call s:HL('Underlined', s:blue, s:none, s:underline) 422 | 423 | call s:HL('StatusLine', s:bg2, s:fg1, s:bold . s:inverse) 424 | call s:HL('StatusLineNC', s:bg2, s:fg1, s:bold . s:inverse) 425 | 426 | " The column separating vertically split windows 427 | call s:HL('VertSplit', s:fg4, s:vert_split) 428 | 429 | " Current match in wildmenu completion 430 | call s:HL('WildMenu', s:blue, s:bg2, s:bold) 431 | 432 | " Directory names, special names in listing 433 | hi! link Directory deusGreenBold 434 | 435 | " Titles for output from :set all, :autocmd, etc. 436 | hi! link Title deusGreenBold 437 | 438 | " Error messages on the command line 439 | call s:HL('ErrorMsg', s:red, s:bg1, s:bold) 440 | " More prompt: -- More -- 441 | hi! link MoreMsg deusYellowBold 442 | " Current mode message: -- INSERT -- 443 | hi! link ModeMsg deusYellowBold 444 | " 'Press enter' prompt and yes/no questions 445 | hi! link Question deusOrangeBold 446 | " Warning messages 447 | hi! link WarningMsg deusRedBold 448 | 449 | " }}} 450 | " Gutter: {{{ 451 | 452 | " Line number for :number and :# commands 453 | call s:HL('LineNr', s:number_column) 454 | 455 | " Column where signs are displayed 456 | call s:HL('SignColumn', s:none, s:sign_column) 457 | 458 | " Line used for closed folds 459 | call s:HL('Folded', s:gray, s:bg2, s:italic) 460 | " Column where folds are displayed 461 | call s:HL('FoldColumn', s:gray, s:bg2) 462 | 463 | " }}} 464 | " Cursor: {{{ 465 | 466 | " Character under cursor 467 | "call s:HL('Cursor', s:none, s:none, s:inverse) 468 | " Visual mode cursor, selection 469 | hi! link vCursor Cursor 470 | " Input moder cursor 471 | hi! link iCursor Cursor 472 | " Language mapping cursor 473 | hi! link lCursor Cursor 474 | 475 | " }}} 476 | " Syntax Highlighting: {{{ 477 | 478 | if g:deus_improved_strings == 0 479 | hi! link Special deusOrange 480 | else 481 | call s:HL('Special', s:bg1, s:orange, s:italic) 482 | endif 483 | 484 | call s:HL('Comment', s:gray, s:none, s:italicize_comments) 485 | call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) 486 | call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) 487 | "call s:HL("Error", { "fg": s:red, "bg": s:vim_bg }) " any erroneous construct 488 | 489 | " Generic statement 490 | hi! link Statement deusRed 491 | " if, then, else, endif, swicth, etc. 492 | hi! link Conditional deusRed 493 | " for, do, while, etc. 494 | hi! link Repeat deusRed 495 | " case, default, etc. 496 | hi! link Label deusRed 497 | " try, catch, throw 498 | hi! link Exception deusRed 499 | " sizeof, "+", "*", etc. 500 | hi! link Operator Normal 501 | " Any other keyword 502 | hi! link Keyword deusRed 503 | 504 | " Variable name 505 | hi! link Identifier deusBlue 506 | " Function name 507 | hi! link Function deusGreenBold 508 | 509 | " Generic preprocessor 510 | hi! link PreProc deusAqua 511 | " Preprocessor #include 512 | hi! link Include deusAqua 513 | " Preprocessor #define 514 | hi! link Define deusAqua 515 | " Same as Define 516 | hi! link Macro deusAqua 517 | " Preprocessor #if, #else, #endif, etc. 518 | hi! link PreCondit deusAqua 519 | 520 | " Generic constant 521 | hi! link Constant deusPurple 522 | " Character constant: 'c', '/n' 523 | hi! link Character deusPurple 524 | " String constant: "this is a string" 525 | if g:deus_improved_strings == 0 526 | call s:HL('String', s:green, s:none, s:italicize_strings) 527 | else 528 | call s:HL('String', s:bg1, s:fg1, s:italicize_strings) 529 | endif 530 | " Boolean constant: TRUE, false 531 | hi! link Boolean deusPurple 532 | " Number constant: 234, 0xff 533 | hi! link Number deusPurple 534 | " Floating point constant: 2.3e10 535 | hi! link Float deusPurple 536 | 537 | " Generic type 538 | hi! link Type deusYellow 539 | " static, register, volatile, etc 540 | hi! link StorageClass deusOrange 541 | " struct, union, enum, etc. 542 | hi! link Structure deusAqua 543 | " typedef 544 | hi! link Typedef deusYellow 545 | 546 | " }}} 547 | " Completion Menu: {{{ 548 | 549 | if version >= 700 550 | " Popup menu: normal item 551 | call s:HL('Pmenu', s:fg1, s:bg2) 552 | " Popup menu: selected item 553 | call s:HL('PmenuSel', s:bg2, s:blue, s:bold) 554 | " Popup menu: scrollbar 555 | call s:HL('PmenuSbar', s:none, s:bg2) 556 | " Popup menu: scrollbar thumb 557 | call s:HL('PmenuThumb', s:none, s:bg4) 558 | endif 559 | 560 | " }}} 561 | " Diffs: {{{ 562 | 563 | call s:HL('DiffDelete', s:red, s:bg0, s:inverse) 564 | call s:HL('DiffAdd', s:green, s:bg0, s:inverse) 565 | "call s:HL('DiffChange', s:bg0, s:blue) 566 | "call s:HL('DiffText', s:bg0, s:yellow) 567 | 568 | " Alternative setting 569 | call s:HL('DiffChange', s:aqua, s:bg0, s:inverse) 570 | call s:HL('DiffText', s:yellow, s:bg0, s:inverse) 571 | 572 | " }}} 573 | " Spelling: {{{ 574 | 575 | if has("spell") 576 | " Not capitalised word, or compile warnings 577 | if g:deus_improved_warnings == 0 578 | call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) 579 | else 580 | call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) 581 | endif 582 | " Not recognized word 583 | call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) 584 | " Wrong spelling for selected region 585 | call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) 586 | " Rare word 587 | call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) 588 | endif 589 | 590 | " }}} 591 | " }}} 592 | " Plugin specific {{{ 593 | " Cocnvim: {{{ 594 | " Symbols 595 | highlight link CocErrorSign deusRedSign 596 | highlight link CocWarningSign deusYellowSign 597 | highlight link CocInfoSign deusAquaSign 598 | highlight link CocHintSign deusGreenSign 599 | 600 | " Text highlights 601 | call s:HL('CocHighlightText', s:fg1, s:bg2) 602 | "}}} 603 | " EasyMotion: {{{ 604 | 605 | hi! link EasyMotionTarget Search 606 | hi! link EasyMotionShade Comment 607 | 608 | " }}} 609 | " Sneak: {{{ 610 | 611 | hi! link SneakPluginTarget Search 612 | hi! link SneakStreakTarget Search 613 | call s:HL('SneakStreakMask', s:yellow, s:yellow) 614 | hi! link SneakStreakStatusLine Search 615 | 616 | " }}} 617 | " Indent Guides: {{{ 618 | 619 | if !exists('g:indent_guides_auto_colors') 620 | let g:indent_guides_auto_colors = 0 621 | endif 622 | 623 | if g:indent_guides_auto_colors == 0 624 | if g:deus_invert_indent_guides == 0 625 | call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) 626 | call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) 627 | else 628 | call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) 629 | call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) 630 | endif 631 | endif 632 | 633 | " }}} 634 | " IndentLine: {{{ 635 | 636 | if !exists('g:indentLine_color_term') 637 | let g:indentLine_color_term = s:bg2[1] 638 | endif 639 | if !exists('g:indentLine_color_gui') 640 | let g:indentLine_color_gui = s:bg2[0] 641 | endif 642 | 643 | " }}} 644 | " Rainbow Parentheses: {{{ 645 | 646 | if !exists('g:rbpt_colorpairs') 647 | let g:rbpt_colorpairs = 648 | \ [ 649 | \ ['blue', '#458588'], ['magenta', '#b16286'], 650 | \ ['red', '#cc241d'], ['166', '#d65d0e'] 651 | \ ] 652 | endif 653 | 654 | let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] 655 | let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] 656 | 657 | if !exists('g:rainbow_conf') 658 | let g:rainbow_conf = {} 659 | endif 660 | if !has_key(g:rainbow_conf, 'guifgs') 661 | let g:rainbow_conf['guifgs'] = g:rainbow_guifgs 662 | endif 663 | if !has_key(g:rainbow_conf, 'ctermfgs') 664 | let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs 665 | endif 666 | 667 | let g:niji_dark_colours = g:rbpt_colorpairs 668 | let g:niji_light_colours = g:rbpt_colorpairs 669 | 670 | "}}} 671 | " GitGutter: {{{ 672 | 673 | hi! link GitGutterAdd deusGreenSign 674 | hi! link GitGutterChange deusAquaSign 675 | hi! link GitGutterDelete deusRedSign 676 | hi! link GitGutterChangeDelete deusAquaSign 677 | 678 | " }}} 679 | " GitCommit: "{{{ 680 | 681 | hi! link gitcommitSelectedFile deusGreen 682 | hi! link gitcommitDiscardedFile deusRed 683 | 684 | " }}} 685 | " Signify: {{{ 686 | 687 | hi! link SignifySignAdd deusGreenSign 688 | hi! link SignifySignChange deusAquaSign 689 | hi! link SignifySignDelete deusRedSign 690 | " hi! SignifySignAdd guibg=#242a32 guifg=#99c379 691 | " hi! SignifySignDelete guibg=#242a32 guifg=#fb4733 692 | " hi! SignifySignChange guibg=#242a32 guifg=#8ec07b 693 | 694 | " }}} 695 | " Syntastic: {{{ 696 | 697 | call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) 698 | call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) 699 | 700 | hi! link SyntasticErrorSign deusRedSign 701 | hi! link SyntasticWarningSign deusYellowSign 702 | hi! link AleWarningSign deusYellowSign 703 | hi! link AleErrorSign deusRedSign 704 | 705 | " }}} 706 | " Signature: {{{ 707 | hi! link SignatureMarkText deusBlueSign 708 | hi! link SignatureMarkerText deusPurpleSign 709 | 710 | " }}} 711 | " ShowMarks: {{{ 712 | 713 | hi! link ShowMarksHLl deusBlueSign 714 | hi! link ShowMarksHLu deusBlueSign 715 | hi! link ShowMarksHLo deusBlueSign 716 | hi! link ShowMarksHLm deusBlueSign 717 | 718 | " }}} 719 | " CtrlP: {{{ 720 | 721 | hi! link CtrlPMatch deusYellow 722 | hi! link CtrlPNoEntries deusRed 723 | hi! link CtrlPPrtBase deusBg2 724 | hi! link CtrlPPrtCursor deusBlue 725 | hi! link CtrlPLinePre deusBg2 726 | 727 | call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold) 728 | call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold) 729 | call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold) 730 | 731 | " }}} 732 | " FZF: {{{ 733 | let g:fzf_colors = 734 | \ { 735 | \ 'hl': ['fg', 'Comment'], 736 | \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], 737 | \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], 738 | \ 'hl+': ['fg', 'Statement'], 739 | \ 'info': ['fg', 'PreProc'], 740 | \ 'border': ['fg', 'Ignore'], 741 | \ 'prompt': ['fg', 'Conditional'], 742 | \ 'pointer': ['fg', 'Exception'], 743 | \ 'marker': ['fg', 'Keyword'], 744 | \ 'spinner': ['fg', 'Label'], 745 | \ 'header': ['fg', 'Comment'] } 746 | 747 | call s:HL('NormalFloat', s:fg1, s:bg2) 748 | " 749 | " }}} 750 | " Startify: {{{ 751 | 752 | hi! link StartifyBracket deusFg3 753 | hi! link StartifyFile deusFg0 754 | hi! link StartifyNumber deusBlue 755 | hi! link StartifyPath deusGray 756 | hi! link StartifySlash deusGray 757 | hi! link StartifySection deusYellow 758 | hi! link StartifySpecial deusBg2 759 | hi! link StartifyHeader deusOrange 760 | hi! link StartifyFooter deusBg2 761 | 762 | " }}} 763 | " Vimshell: {{{ 764 | 765 | let g:vimshell_escape_colors = [ 766 | \ s:bg4[0], s:red[0], s:green[0], s:yellow[0], 767 | \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0], 768 | \ s:bg0[0], s:red[0], s:green[0], s:orange[0], 769 | \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0] 770 | \ ] 771 | 772 | " }}} 773 | " BufTabLine: {{{ 774 | 775 | call s:HL('BufTabLineCurrent', s:bg0, s:green) 776 | call s:HL('BufTabLineActive', s:fg4, s:bg2) 777 | call s:HL('BufTabLineHidden', s:fg1, s:bg2) 778 | call s:HL('BufTabLineFill', s:bg0, s:bg2) 779 | 780 | hi StatusLine ctermbg=10 ctermfg=10 cterm=bold guibg=NONE guifg=NONE gui=NONE 781 | hi StatusLineNC ctermbg=10 ctermfg=10 cterm=NONE guibg=NONE guifg=NONE gui=NONE 782 | 783 | " }}} 784 | " Netrw: {{{ 785 | 786 | hi! link netrwDir deusGreen 787 | hi! link netrwClassify deusBlue 788 | hi! link netrwTreeBar deusRed 789 | hi! link netrwPlain deusFg1 790 | 791 | " }}} 792 | " Language syntax {{{ 793 | " Diff: {{{ 794 | 795 | hi! link diffAdded deusGreen 796 | hi! link diffRemoved deusRed 797 | hi! link diffChanged deusAqua 798 | 799 | hi! link diffFile deusOrange 800 | hi! link diffNewFile deusYellow 801 | 802 | hi! link diffLine deusBlue 803 | 804 | " }}} 805 | " Html: {{{ 806 | 807 | hi! link htmlTag deusBlue 808 | hi! link htmlEndTag deusBlue 809 | 810 | hi! link htmlTagName deusAquaBold 811 | hi! link htmlArg deusAqua 812 | 813 | hi! link htmlScriptTag deusPurple 814 | hi! link htmlTagN deusFg1 815 | hi! link htmlSpecialTagName deusAquaBold 816 | 817 | call s:HL('htmlLink', s:fg4, s:none, s:underline) 818 | 819 | hi! link htmlSpecialChar deusOrange 820 | 821 | call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) 822 | call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) 823 | call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) 824 | call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) 825 | 826 | call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) 827 | call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) 828 | call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) 829 | 830 | " }}} 831 | " Xml: {{{ 832 | 833 | hi! link xmlTag deusBlue 834 | hi! link xmlEndTag deusBlue 835 | hi! link xmlTagName deusBlue 836 | hi! link xmlEqual deusBlue 837 | hi! link docbkKeyword deusAquaBold 838 | 839 | hi! link xmlDocTypeDecl deusGray 840 | hi! link xmlDocTypeKeyword deusPurple 841 | hi! link xmlCdataStart deusGray 842 | hi! link xmlCdataCdata deusPurple 843 | hi! link dtdFunction deusGray 844 | hi! link dtdTagName deusPurple 845 | 846 | hi! link xmlAttrib deusAqua 847 | hi! link xmlProcessingDelim deusGray 848 | hi! link dtdParamEntityPunct deusGray 849 | hi! link dtdParamEntityDPunct deusGray 850 | hi! link xmlAttribPunct deusGray 851 | 852 | hi! link xmlEntity deusOrange 853 | hi! link xmlEntityPunct deusOrange 854 | " }}} 855 | " Vim: {{{ 856 | 857 | call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) 858 | 859 | hi! link vimNotation deusOrange 860 | hi! link vimBracket deusOrange 861 | hi! link vimMapModKey deusOrange 862 | hi! link vimFuncSID deusFg3 863 | hi! link vimSetSep deusFg3 864 | hi! link vimSep deusFg3 865 | hi! link vimContinue deusFg3 866 | 867 | " }}} 868 | " Clojure: {{{ 869 | 870 | hi! link clojureKeyword deusBlue 871 | hi! link clojureCond deusOrange 872 | hi! link clojureSpecial deusOrange 873 | hi! link clojureDefine deusOrange 874 | 875 | hi! link clojureFunc deusYellow 876 | hi! link clojureRepeat deusYellow 877 | hi! link clojureCharacter deusAqua 878 | hi! link clojureStringEscape deusAqua 879 | hi! link clojureException deusRed 880 | 881 | hi! link clojureRegexp deusAqua 882 | hi! link clojureRegexpEscape deusAqua 883 | call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) 884 | hi! link clojureRegexpMod clojureRegexpCharClass 885 | hi! link clojureRegexpQuantifier clojureRegexpCharClass 886 | 887 | hi! link clojureParen deusFg3 888 | hi! link clojureAnonArg deusYellow 889 | hi! link clojureVariable deusBlue 890 | hi! link clojureMacro deusOrange 891 | 892 | hi! link clojureMeta deusYellow 893 | hi! link clojureDeref deusYellow 894 | hi! link clojureQuote deusYellow 895 | hi! link clojureUnquote deusYellow 896 | 897 | " }}} 898 | " C: {{{ 899 | 900 | hi! link cOperator deusPurple 901 | hi! link cStructure deusOrange 902 | 903 | " }}} 904 | " C++ {{{ 905 | 906 | hi! link NamespaceTag deusPurpleBold 907 | hi! link NamespaceAliasTag deusPurpleBold 908 | hi! link ClassTag duesOrange 909 | hi! link StructureTag deusOrange 910 | hi! link EnumTag deusAqua 911 | hi! link EnumValueTag deusAqua 912 | hi! link UnionTag deusPurple 913 | hi! link FieldTag deusPurple 914 | hi! link LocalVariableTag deusOrange 915 | hi! link FunctionTag deusGreen 916 | hi! link MethodTag deusGreen 917 | hi! link FunctionParameterTag deusPurpleBold 918 | hi! link TemplateTypeParameterTag deusPurple 919 | hi! link TemplateNonTypeParameterTag deusRedBold 920 | hi! link TemplateTemplateParameterTag deusRed 921 | hi! link MacroDefinitionTag deusBlue 922 | hi! link MacroInstantiationTag deusBlue 923 | hi! link TypedefTag deusPurple 924 | hi! link UsingDirectiveTag deusOrange 925 | hi! link UsingDeclarationTag deusOrange 926 | 927 | 928 | " }}} 929 | " Python: {{{ 930 | 931 | hi! link pythonBuiltin deusOrange 932 | hi! link pythonBuiltinObj deusOrange 933 | hi! link pythonBuiltinFunc deusOrange 934 | hi! link pythonFunction deusAqua 935 | hi! link pythonDecorator deusRed 936 | hi! link pythonInclude deusBlue 937 | hi! link pythonImport deusBlue 938 | hi! link pythonRun deusBlue 939 | hi! link pythonCoding deusBlue 940 | hi! link pythonOperator deusRed 941 | hi! link pythonExceptions deusPurple 942 | hi! link pythonBoolean deusPurple 943 | hi! link pythonDot deusFg3 944 | 945 | " }}} 946 | " CSS: {{{ 947 | 948 | hi! link cssBraces deusBlue 949 | hi! link cssFunctionName deusYellow 950 | hi! link cssIdentifier deusOrange 951 | hi! link cssClassName deusGreen 952 | hi! link cssColor deusBlue 953 | hi! link cssSelectorOp deusBlue 954 | hi! link cssSelectorOp2 deusBlue 955 | hi! link cssImportant deusGreen 956 | hi! link cssVendor deusFg1 957 | 958 | hi! link cssTextProp deusAqua 959 | hi! link cssAnimationProp deusAqua 960 | hi! link cssUIProp deusYellow 961 | hi! link cssTransformProp deusAqua 962 | hi! link cssTransitionProp deusAqua 963 | hi! link cssPrintProp deusAqua 964 | hi! link cssPositioningProp deusYellow 965 | hi! link cssBoxProp deusAqua 966 | hi! link cssFontDescriptorProp deusAqua 967 | hi! link cssFlexibleBoxProp deusAqua 968 | hi! link cssBorderOutlineProp deusAqua 969 | hi! link cssBackgroundProp deusAqua 970 | hi! link cssMarginProp deusAqua 971 | hi! link cssListProp deusAqua 972 | hi! link cssTableProp deusAqua 973 | hi! link cssFontProp deusAqua 974 | hi! link cssPaddingProp deusAqua 975 | hi! link cssDimensionProp deusAqua 976 | hi! link cssRenderProp deusAqua 977 | hi! link cssColorProp deusAqua 978 | hi! link cssGeneratedContentProp deusAqua 979 | 980 | " }}} 981 | " JavaScript: {{{ 982 | 983 | hi! link javaScriptBraces deusFg1 984 | hi! link javaScriptFunction deusAqua 985 | hi! link javaScriptIdentifier deusRed 986 | hi! link javaScriptMember deusBlue 987 | hi! link javaScriptNumber deusPurple 988 | hi! link javaScriptNull deusPurple 989 | hi! link javaScriptParens deusFg3 990 | 991 | " }}} 992 | " YAJS: {{{ 993 | 994 | hi! link javascriptImport deusAqua 995 | hi! link javascriptExport deusAqua 996 | hi! link javascriptClassKeyword deusAqua 997 | hi! link javascriptClassExtends deusAqua 998 | hi! link javascriptDefault deusAqua 999 | 1000 | hi! link javascriptClassName deusYellow 1001 | hi! link javascriptClassSuperName deusYellow 1002 | hi! link javascriptGlobal deusYellow 1003 | 1004 | hi! link javascriptEndColons deusFg1 1005 | hi! link javascriptFuncArg deusFg1 1006 | hi! link javascriptGlobalMethod deusFg1 1007 | hi! link javascriptNodeGlobal deusFg1 1008 | 1009 | " hi! link javascriptVariable deusOrange 1010 | hi! link javascriptVariable deusPurple 1011 | " hi! link javascriptIdentifier deusOrange 1012 | " hi! link javascriptClassSuper deusOrange 1013 | hi! link javascriptIdentifier deusOrange 1014 | hi! link javascriptClassSuper deusOrange 1015 | 1016 | " hi! link javascriptFuncKeyword deusOrange 1017 | " hi! link javascriptAsyncFunc deusOrange 1018 | hi! link javascriptFuncName deusFg1 1019 | hi! link javascriptFuncKeyword deusAqua 1020 | hi! link javascriptAwaitFuncKeyword deusRed 1021 | hi! link javascriptAsyncFuncKeyword deusBlue 1022 | hi! link javascriptClassStatic deusOrange 1023 | 1024 | hi! link javascriptOperator deusRed 1025 | hi! link javascriptForOperator deusRed 1026 | hi! link javascriptYield deusRed 1027 | hi! link javascriptExceptions deusRed 1028 | hi! link javascriptMessage deusRed 1029 | 1030 | hi! link javascriptTemplateSB deusAqua 1031 | hi! link javascriptTemplateSubstitution deusFg1 1032 | 1033 | " hi! link javascriptLabel deusBlue 1034 | " hi! link javascriptObjectLabel deusBlue 1035 | " hi! link javascriptPropertyName deusBlue 1036 | hi! link javascriptLabel deusFg1 1037 | hi! link javascriptObjectLabel deusFg1 1038 | hi! link javascriptPropertyName deusFg1 1039 | 1040 | hi! link javascriptLogicSymbols deusFg1 1041 | hi! link javascriptArrowFunc deusYellow 1042 | 1043 | hi! link javascriptDocParamName deusFg4 1044 | hi! link javascriptDocTags deusFg4 1045 | hi! link javascriptDocNotation deusFg4 1046 | hi! link javascriptDocParamType deusFg4 1047 | hi! link javascriptDocNamedParamType deusFg4 1048 | 1049 | " }}} 1050 | " jsx-pretty: {{{ 1051 | hi! link jsxTagName deusBlue 1052 | hi! link jsxComponentName jsxTagName 1053 | hi! link jsxOpenPunct deusGray 1054 | hi! link jsxBraces jsxTagName 1055 | hi! link jsxCloseString jsxOpenPunct 1056 | hi! link jsxEqual jsxTagName 1057 | hi! link jsxString javascriptString 1058 | hi! link jsxAttrib jsxString 1059 | " }}} 1060 | " CoffeeScript: {{{ 1061 | 1062 | hi! link coffeeExtendedOp deusFg3 1063 | hi! link coffeeSpecialOp deusFg3 1064 | hi! link coffeeCurly deusOrange 1065 | hi! link coffeeParen deusFg3 1066 | hi! link coffeeBracket deusOrange 1067 | 1068 | " }}} 1069 | " Ruby: {{{ 1070 | 1071 | hi! link rubyStringDelimiter deusGreen 1072 | hi! link rubyInterpolationDelimiter deusAqua 1073 | 1074 | " }}} 1075 | " ObjectiveC: {{{ 1076 | 1077 | hi! link objcTypeModifier deusRed 1078 | hi! link objcDirective deusBlue 1079 | 1080 | " }}} 1081 | " Go: {{{ 1082 | 1083 | hi! link goDirective deusAqua 1084 | hi! link goConstants deusPurple 1085 | hi! link goDeclaration deusRed 1086 | hi! link goDeclType deusBlue 1087 | hi! link goBuiltins deusOrange 1088 | 1089 | " }}} 1090 | " Lua: {{{ 1091 | 1092 | hi! link luaIn deusRed 1093 | hi! link luaFunction deusAqua 1094 | hi! link luaTable deusOrange 1095 | 1096 | " }}} 1097 | " MoonScript: {{{ 1098 | 1099 | hi! link moonSpecialOp deusFg3 1100 | hi! link moonExtendedOp deusFg3 1101 | hi! link moonFunction deusFg3 1102 | hi! link moonObject deusYellow 1103 | 1104 | " }}} 1105 | " Java: {{{ 1106 | 1107 | hi! link javaAnnotation deusBlue 1108 | hi! link javaDocTags deusAqua 1109 | hi! link javaCommentTitle vimCommentTitle 1110 | hi! link javaParen deusFg3 1111 | hi! link javaParen1 deusFg3 1112 | hi! link javaParen2 deusFg3 1113 | hi! link javaParen3 deusFg3 1114 | hi! link javaParen4 deusFg3 1115 | hi! link javaParen5 deusFg3 1116 | hi! link javaOperator deusOrange 1117 | 1118 | hi! link javaVarArg deusGreen 1119 | 1120 | " }}} 1121 | " Elixir: {{{ 1122 | 1123 | hi! link elixirDocString Comment 1124 | 1125 | hi! link elixirStringDelimiter deusGreen 1126 | hi! link elixirInterpolationDelimiter deusAqua 1127 | 1128 | " }}} 1129 | " Scala: {{{ 1130 | 1131 | " NB: scala vim syntax file is kinda horrible 1132 | hi! link scalaNameDefinition deusFg1 1133 | hi! link scalaCaseFollowing deusFg1 1134 | hi! link scalaCapitalWord deusFg1 1135 | hi! link scalaTypeExtension deusFg1 1136 | 1137 | hi! link scalaKeyword deusRed 1138 | hi! link scalaKeywordModifier deusRed 1139 | 1140 | hi! link scalaSpecial deusAqua 1141 | hi! link scalaOperator deusFg1 1142 | 1143 | hi! link scalaTypeDeclaration deusYellow 1144 | hi! link scalaTypeTypePostDeclaration deusYellow 1145 | 1146 | hi! link scalaInstanceDeclaration deusFg1 1147 | hi! link scalaInterpolation deusAqua 1148 | 1149 | " }}} 1150 | " Markdown: {{{ 1151 | 1152 | call s:HL('markdownItalic', s:fg3, s:none, s:italic) 1153 | 1154 | hi! link markdownH1 deusGreenBold 1155 | hi! link markdownH2 deusGreenBold 1156 | hi! link markdownH3 deusYellowBold 1157 | hi! link markdownH4 deusYellowBold 1158 | hi! link markdownH5 deusYellow 1159 | hi! link markdownH6 deusYellow 1160 | 1161 | hi! link markdownCode deusAqua 1162 | hi! link markdownCodeBlock deusAqua 1163 | hi! link markdownCodeDelimiter deusAqua 1164 | 1165 | hi! link markdownBlockquote deusGray 1166 | hi! link markdownListMarker deusPurple 1167 | hi! link markdownOrderedListMarker deusGray 1168 | hi! link markdownRule deusGray 1169 | hi! link markdownHeadingRule deusGray 1170 | 1171 | hi! link markdownUrlDelimiter deusFg3 1172 | hi! link markdownLinkDelimiter deusFg3 1173 | hi! link markdownLinkTextDelimiter deusFg3 1174 | 1175 | hi! link markdownHeadingDelimiter deusOrange 1176 | hi! link markdownUrl deusPurple 1177 | hi! link markdownUrlTitleDelimiter deusGreen 1178 | 1179 | call s:HL('markdownLinkText', s:gray, s:none, s:underline) 1180 | hi! link markdownIdDeclaration markdownLinkText 1181 | 1182 | " }}} 1183 | " Haskell: {{{ 1184 | 1185 | " hi! link haskellType deusYellow 1186 | " hi! link haskellOperators deusOrange 1187 | " hi! link haskellConditional deusAqua 1188 | " hi! link haskellLet deusOrange 1189 | " 1190 | hi! link haskellType deusFg1 1191 | hi! link haskellIdentifier deusFg1 1192 | hi! link haskellSeparator deusFg1 1193 | hi! link haskellDelimiter deusFg4 1194 | hi! link haskellOperators deusBlue 1195 | " 1196 | hi! link haskellBacktick deusOrange 1197 | hi! link haskellStatement deusOrange 1198 | hi! link haskellConditional deusOrange 1199 | 1200 | hi! link haskellLet deusAqua 1201 | hi! link haskellDefault deusAqua 1202 | hi! link haskellWhere deusAqua 1203 | hi! link haskellBottom deusAqua 1204 | hi! link haskellBlockKeywords deusAqua 1205 | hi! link haskellImportKeywords deusAqua 1206 | hi! link haskellDeclKeyword deusAqua 1207 | hi! link haskellDeriving deusAqua 1208 | hi! link haskellAssocType deusAqua 1209 | 1210 | hi! link haskellNumber deusPurple 1211 | hi! link haskellPragma deusPurple 1212 | 1213 | hi! link haskellString deusGreen 1214 | hi! link haskellChar deusGreen 1215 | 1216 | " }}} 1217 | " Json: {{{ 1218 | 1219 | hi! link jsonKeyword deusGreen 1220 | hi! link jsonQuote deusGreen 1221 | hi! link jsonBraces deusFg1 1222 | hi! link jsonString deusFg1 1223 | 1224 | " }}} 1225 | " }}} 1226 | " Utility Functions {{{ 1227 | " Search Highlighting Cursor {{{ 1228 | 1229 | function! DeusHlsShowCursor() 1230 | call s:HL('Cursor', s:bg0, s:hls_cursor) 1231 | endfunction 1232 | 1233 | function! DeusHlsHideCursor() 1234 | call s:HL('Cursor', s:none, s:none, s:inverse) 1235 | endfunction 1236 | 1237 | " }}} 1238 | " }}} 1239 | 1240 | " vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: 1241 | --------------------------------------------------------------------------------