├── .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 |
--------------------------------------------------------------------------------