├── LICENSE
├── README.md
├── autoload
└── airline
│ └── themes
│ ├── iroh.vim
│ └── irohLight.vim
├── colors
├── iroh.vim
└── irohLight.vim
└── lua
└── lualine
└── themes
└── iroh.lua
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 UnikMask
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 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |

2 |
3 | Iroh is inspired from [gruvbox](morhetz/gruvbox)
4 |
5 | Iroh is a dark theme only theme supposed to look like a mix between volcanic and
6 | ceramic style. It was at first made in order to fit into a DOOM-theme rice.
7 | However, by making it functional, it lost a bit of that demonic vibe.
8 | The source code, however, still implements more demonic names right now.
9 |
10 | Also, that means I did not make the colorscheme based on Iroh from Avatar:
11 | The Last Airbender.
12 | I only realized his looks were pretty similar to this theme after making it.
13 | Originally, the theme would have been called Damien.
14 |
15 | Screenshots/ Examples
16 | ---------------------
17 |
18 | ### Using java
19 |
20 | 
21 |
22 | ### Using Vim script
23 |
24 | 
25 |
26 | Palette
27 | -------
28 |
29 | WIP
30 |
31 | Features
32 | --------
33 |
34 | * Highlighting for C, Java, and Vimscript.
35 | * Highlighting for plugins EasyMotion, vim-sneak, GitGutter, Syntastic, Airline, and NERDTree.
36 |
37 | To-do list
38 | ----------
39 |
40 | * Fix worst looking colors.
41 | * Add more highlighting features
42 |
43 | License
44 | -------
45 |
46 | [MIT License](./LICENSE)
47 |
--------------------------------------------------------------------------------
/autoload/airline/themes/iroh.vim:
--------------------------------------------------------------------------------
1 | " vim:fdm=marker ft=vim
2 | " === === === === === === === === === ===
3 | " File: autoload/airline/themes/iroh.vim
4 | " Desc: Airline theme for Iroh
5 | " From github.com/UnikMask/iroh-vim
6 | " License: MIT
7 | " === === === === === === === === === ===
8 |
9 | " Palette Setup: {{{
10 |
11 | " Assign all elements their attribute colors.
12 |
13 | " Background and foreground colors
14 | let s:bg = ['#2e2b2a', 236]
15 | let s:fg = ['#e9d49c', 187]
16 |
17 | " Shades of orange-yellow - Antimony
18 | let s:mony0 = ['#e3630a', 166]
19 | let s:mony1 = ['#ff771d', 208]
20 | let s:mony2 = ['#d38007', 172]
21 | let s:mony3 = ['#faac09', 214]
22 | let s:mony4 = ['#ffb032', 215]
23 |
24 | " Shades of weaker green - Cobalts
25 | let s:coba0 = ['#899470', 101]
26 | let s:coba1 = ['#9eb185', 144]
27 |
28 | " Shades of red - Iron glaze
29 | let s:iron0 = ['#c22211', 124]
30 | let s:iron1 = ['#ca2c18', 160]
31 | let s:iron2 = ['#d33b24', 166]
32 |
33 | " Shades of beige - Brush
34 | let s:brush0 = ['#d6caab', 187]
35 | let s:brush1 = ['#f6efdd', 255]
36 |
37 | " Shades of grey - Silver
38 | let s:silv0 = ['#999999', 246]
39 |
40 | " Shades of red-grey - Clay
41 | let s:clay0 = ['#403735', 237]
42 | let s:clay1 = ['#7d5650', 95]
43 | let s:clay2 = ['#8f5e51', 95]
44 | let s:clay3 = ['#c2604c', 131]
45 |
46 | " Shades of green - Copper
47 | let s:copp0 = ['#627400', 64]
48 | let s:copp1 = ['#90c523', 112]
49 |
50 | " Represent null color
51 | let s:none = ['NONE', 'NONE']
52 |
53 | " }}}
54 | " Airline Setup Function: {{{
55 |
56 | " Function for formatting colors and specials into an airline understandable
57 | " array.
58 | function! s:airlineLook(fg, bg, ...)
59 | " Check if there is an extra argument
60 | if a:0 >= 1 && strlen(a:1)
61 | let ctrlp = a:1
62 | else
63 | let ctrlp = ''
64 | endif
65 |
66 | " Assemble the airline look array
67 | let airlook = [a:fg[0], a:bg[0], a:fg[1], a:bg[1], ctrlp]
68 |
69 | " Return final airline look.
70 | return airlook
71 | endfunction
72 |
73 | " }}}
74 | " Airline Variables: {{{
75 |
76 | " Normal theme variables
77 | let s:N0 = s:airlineLook(s:bg, s:clay1, 'bold')
78 | let s:N0_m = s:airlineLook(s:bg, s:clay2, 'bold')
79 | let s:N1 = s:airlineLook(s:clay2, s:clay0)
80 | let s:N1_m = s:airlineLook(s:silv0, s:clay1)
81 | let s:N2 = s:airlineLook(s:clay2, s:bg)
82 | let s:N2_m = s:N1
83 |
84 | " Insert theme variables
85 | let s:I0 = s:airlineLook(s:bg, s:mony2, 'bold')
86 | let s:I0_m = s:airlineLook(s:bg, s:mony3, 'bold')
87 | let s:I1 = s:airlineLook(s:mony1, s:mony0)
88 | let s:I1_m = s:airlineLook(s:mony3, s:mony1)
89 | let s:I2 = s:N2
90 | let s:I2_m = s:N2_m
91 |
92 | " Replace theme variables
93 | let s:R0 = s:airlineLook(s:bg, s:iron1, 'bold')
94 | let s:R0_m = s:airlineLook(s:bg, s:iron2, 'bold')
95 | let s:R1 = s:airlineLook(s:mony0, s:iron0)
96 | let s:R1_m = s:airlineLook(s:mony1, s:iron1)
97 | let s:R2 = s:N2
98 | let s:R2_m = s:N2_m
99 |
100 | " Replace theme variables
101 | let s:V0 = s:airlineLook(s:bg, s:copp0, 'bold')
102 | let s:V0_m = s:airlineLook(s:bg, s:copp1, 'bold')
103 | let s:V1 = s:airlineLook(s:silv0, s:copp0)
104 | let s:V1_m = s:airlineLook(s:mony1, s:copp0)
105 | let s:V2 = s:N2
106 | let s:V2_m = s:N2_m
107 |
108 | " Inactive theme variable
109 | let s:INA = s:airlineLook(s:bg, s:clay0)
110 | let s:INA_m = s:airlineLook(s:clay1, s:clay0)
111 | " }}}
112 | " Airline Insertion: {{{
113 |
114 | " Initialise empty palette for the theme
115 | let g:airline#themes#iroh#palette = {}
116 |
117 | " Add normal palettes to the theme
118 | let g:airline#themes#iroh#palette.normal = airline#themes#generate_color_map(s:N0, s:N1, s:N2)
119 | let g:airline#themes#iroh#palette.normal_modified = {
120 | \ 'airline_a' : s:N0_m,
121 | \ 'airline_b' : s:N1_m,
122 | \ 'airline_c' : s:N2_m,
123 | \ }
124 |
125 | " Add insert palettes to the theme
126 | let g:airline#themes#iroh#palette.insert = airline#themes#generate_color_map(s:I0, s:I1, s:I2)
127 | let g:airline#themes#iroh#palette.insert_modified = {
128 | \ 'airline_a' : s:I0_m,
129 | \ 'airline_b' : s:I1_m,
130 | \ 'airline_c' : s:I2_m,
131 | \ }
132 |
133 | " Add replace palettes to the theme
134 | let g:airline#themes#iroh#palette.replace = airline#themes#generate_color_map(s:R0, s:R1, s:R2)
135 | let g:airline#themes#iroh#palette.replace_modified = {
136 | \ 'airline_a' : s:R0_m,
137 | \ 'airline_b' : s:R1_m,
138 | \ 'airline_c' : s:R2_m,
139 | \ }
140 |
141 | " Add visual palette to the theme.
142 | let g:airline#themes#iroh#palette.visual = airline#themes#generate_color_map(s:V0, s:V1, s:V2)
143 | let g:airline#themes#iroh#palette.visual_modified = {
144 | \ 'airline_a' : s:V0_m,
145 | \ 'airline_b' : s:V1_m,
146 | \ 'airline_c' : s:V2_m,
147 | \ }
148 |
149 | " Add inactive palette to theme
150 | let g:airline#themes#iroh#palette.inactive = airline#themes#generate_color_map(s:INA, s:INA, s:INA)
151 | let g:airline#themes#iroh#palette.inactive_modified =
152 | \ {
153 | \ 'airline_a' : s:INA_m,
154 | \ 'airline_b' : s:INA_m,
155 | \ 'airline_c' : s:INA_m,
156 | \ }
157 | " }}}
158 |
159 |
--------------------------------------------------------------------------------
/autoload/airline/themes/irohLight.vim:
--------------------------------------------------------------------------------
1 | " vim:fdm=marker ft=vim
2 | " === === === === === === === === === ===
3 | " File: autoload/airline/themes/irohLight.vim
4 | " Desc: Airline theme for Iroh
5 | " From github.com/UnikMask/iroh-vim
6 | " License: MIT
7 | " === === === === === === === === === ===
8 |
9 | " Palette Setup: {{{
10 |
11 | " Assign all elements their attribute colors.
12 |
13 | " Background and foreground colors
14 | let s:bg = ['#e9d49c', 187]
15 | let s:fg = ['#7e504a', 95]
16 |
17 | " Shades of orange-yellow - Antimony
18 | let s:mony1 = ['#e3630a', 166]
19 | let s:mony0 = ['#ff771d', 208]
20 | let s:mony4 = ['#d38007', 172]
21 | let s:mony3 = ['#faac09', 214]
22 | let s:mony2 = ['#ffb032', 215]
23 |
24 | " Shades of weaker green - Cobalts
25 | let s:coba1 = ['#708894', 66]
26 | let s:coba0 = ['#85aeb1', 109]
27 |
28 | " Shades of red - Iron glaze
29 | let s:iron2 = ['#c22211', 124]
30 | let s:iron1 = ['#ca2c18', 160]
31 | let s:iron0 = ['#d33b24', 166]
32 |
33 | " Shades of beige - Brush
34 | let s:brush1 = ['#816459', 95]
35 | let s:brush0 = ['#6b504a', 95]
36 |
37 | " Shades of grey - Silver
38 | let s:silv0 = ['#888888', 246]
39 |
40 | " Shades of red-grey - Clay
41 | let s:clay0 = ['#d6caab', 187]
42 | let s:clay1 = ['#c7b78e', 180]
43 | let s:clay2 = ['#bfa76a', 143]
44 | let s:clay3 = ['#b59952', 137]
45 |
46 | " Shades of green - Copper
47 | let s:copp0 = ['#0077a5', 24]
48 | let s:copp1 = ['#006174', 32]
49 |
50 | " Represent null color
51 | let s:none = ['NONE', 'NONE']
52 |
53 | " }}}
54 | " Airline Setup Function: {{{
55 |
56 | " Function for formatting colors and specials into an airline understandable
57 | " array.
58 | function! s:airlineLook(fg, bg, ...)
59 | " Check if there is an extra argument
60 | if a:0 >= 1 && strlen(a:1)
61 | let ctrlp = a:1
62 | else
63 | let ctrlp = ''
64 | endif
65 |
66 | " Assemble the airline look array
67 | let airlook = [a:fg[0], a:bg[0], a:fg[1], a:bg[1], ctrlp]
68 |
69 | " Return final airline look.
70 | return airlook
71 | endfunction
72 |
73 | " }}}
74 | " Airline Variables: {{{
75 |
76 | " Normal theme variables
77 | let s:N0 = s:airlineLook(s:bg, s:clay1, 'bold')
78 | let s:N0_m = s:airlineLook(s:bg, s:clay2, 'bold')
79 | let s:N1 = s:airlineLook(s:clay2, s:clay0)
80 | let s:N1_m = s:airlineLook(s:silv0, s:clay1)
81 | let s:N2 = s:airlineLook(s:clay2, s:bg)
82 | let s:N2_m = s:N1
83 |
84 | " Insert theme variables
85 | let s:I0 = s:airlineLook(s:bg, s:mony2, 'bold')
86 | let s:I0_m = s:airlineLook(s:bg, s:mony3, 'bold')
87 | let s:I1 = s:airlineLook(s:mony1, s:mony0)
88 | let s:I1_m = s:airlineLook(s:mony3, s:mony1)
89 | let s:I2 = s:N2
90 | let s:I2_m = s:N2_m
91 |
92 | " Replace theme variables
93 | let s:R0 = s:airlineLook(s:bg, s:iron1, 'bold')
94 | let s:R0_m = s:airlineLook(s:bg, s:iron2, 'bold')
95 | let s:R1 = s:airlineLook(s:mony0, s:iron0)
96 | let s:R1_m = s:airlineLook(s:mony1, s:iron1)
97 | let s:R2 = s:N2
98 | let s:R2_m = s:N2_m
99 |
100 | " Replace theme variables
101 | let s:V0 = s:airlineLook(s:bg, s:copp0, 'bold')
102 | let s:V0_m = s:airlineLook(s:bg, s:copp1, 'bold')
103 | let s:V1 = s:airlineLook(s:silv0, s:copp0)
104 | let s:V1_m = s:airlineLook(s:mony1, s:copp0)
105 | let s:V2 = s:N2
106 | let s:V2_m = s:N2_m
107 |
108 | " Inactive theme variable
109 | let s:INA = s:airlineLook(s:bg, s:clay0)
110 | let s:INA_m = s:airlineLook(s:clay1, s:clay0)
111 | " }}}
112 | " Airline Insertion: {{{
113 |
114 | " Initialise empty palette for the theme
115 | let g:airline#themes#irohLight#palette = {}
116 |
117 | " Add normal palettes to the theme
118 | let g:airline#themes#irohLight#palette.normal = airline#themes#generate_color_map(s:N0, s:N1, s:N2)
119 | let g:airline#themes#irohLight#palette.normal_modified = {
120 | \ 'airline_a' : s:N0_m,
121 | \ 'airline_b' : s:N1_m,
122 | \ 'airline_c' : s:N2_m,
123 | \ }
124 |
125 | " Add insert palettes to the theme
126 | let g:airline#themes#irohLight#palette.insert = airline#themes#generate_color_map(s:I0, s:I1, s:I2)
127 | let g:airline#themes#irohLight#palette.insert_modified = {
128 | \ 'airline_a' : s:I0_m,
129 | \ 'airline_b' : s:I1_m,
130 | \ 'airline_c' : s:I2_m,
131 | \ }
132 |
133 | " Add replace palettes to the theme
134 | let g:airline#themes#irohLight#palette.replace = airline#themes#generate_color_map(s:R0, s:R1, s:R2)
135 | let g:airline#themes#irohLight#palette.replace_modified = {
136 | \ 'airline_a' : s:R0_m,
137 | \ 'airline_b' : s:R1_m,
138 | \ 'airline_c' : s:R2_m,
139 | \ }
140 |
141 | " Add visual palette to the theme.
142 | let g:airline#themes#irohLight#palette.visual = airline#themes#generate_color_map(s:V0, s:V1, s:V2)
143 | let g:airline#themes#irohLight#palette.visual_modified = {
144 | \ 'airline_a' : s:V0_m,
145 | \ 'airline_b' : s:V1_m,
146 | \ 'airline_c' : s:V2_m,
147 | \ }
148 |
149 | " Add inactive palette to theme
150 | let g:airline#themes#irohLight#palette.inactive = airline#themes#generate_color_map(s:INA, s:INA, s:INA)
151 | let g:airline#themes#irohLight#palette.inactive_modified =
152 | \ {
153 | \ 'airline_a' : s:INA_m,
154 | \ 'airline_b' : s:INA_m,
155 | \ 'airline_c' : s:INA_m,
156 | \ }
157 | " }}}
158 |
159 |
--------------------------------------------------------------------------------
/colors/iroh.vim:
--------------------------------------------------------------------------------
1 | " vim:ft=vim foldmethod=marker
2 | " === Iroh Colorscheme ===
3 | " By UnikMask
4 | " https://github.com/iroh-vim
5 | " Last Modified: recently
6 | " === === === === === === ===
7 |
8 |
9 | " Init spc settings: {{{"
10 | let g:colors_name='iroh'
11 |
12 | " }}}
13 | " Palette: {{{
14 |
15 | " Set palette dictionnary
16 | let s:ro = {}
17 |
18 | " Fill dictionnary with colors
19 | let s:ro.bg = ['#2e2b2a', 236]
20 | let s:ro.bg_alt = ['#2a2625', 235]
21 | let s:ro.bg_dark = ['#282221', 232]
22 | let s:ro.fg = ['#e9d49c', 187]
23 | let s:ro.dcurs = ['#e9d49c', 187]
24 |
25 | " Colors
26 | let s:ro.ico2 = ['#899470', 101]
27 | let s:ro.ico10 = ['#9eb185', 144]
28 |
29 | let s:ro.ico13 = ['#e3630a', 166]
30 | let s:ro.ico5 = ['#ff771d', 208]
31 | let s:ro.ico6 = ['#d38007', 172]
32 | let s:ro.ico14 = ['#faac09', 214]
33 | let s:ro.ico18 = ['#ffb032', 215]
34 |
35 | let s:ro.ico0 = ['#c22211', 124]
36 | let s:ro.ico3 = ['#ca2c18', 160]
37 | let s:ro.ico11 = ['#d33b24', 166]
38 | let s:ro.ico17 = ['#999999', 246]
39 | let s:ro.ico7 = ['#d6caab', 187]
40 | let s:ro.ico15 = ['#f6efdd', 255]
41 |
42 | let s:ro.ico1 = ['#403735', 237]
43 | let s:ro.ico9 = ['#7d5650', 95]
44 | let s:ro.ico16 = ['#8f5e51', 95]
45 | let s:ro.ico8 = ['#c2604c', 131]
46 |
47 | let s:ro.ico4 = ['#627400', 64]
48 | let s:ro.ico12 = ['#90c523', 112]
49 |
50 | " }}}
51 | " Set-Up: {{{
52 |
53 | " Assign all elements their attribute colors.
54 |
55 | " Background and foreground colors
56 | let s:bg = s:ro.bg
57 | let s:bg_alt = s:ro.bg_alt
58 | let s:bg_dark = s:ro.bg_dark
59 | let s:fg = s:ro.fg
60 |
61 | " Shades of orange-yellow - Antimony
62 | let s:mony0 = s:ro.ico13
63 | let s:mony1 = s:ro.ico5
64 | let s:mony2 = s:ro.ico6
65 | let s:mony3 = s:ro.ico14
66 | let s:mony4 = s:ro.ico18
67 |
68 | " Shades of weaker green - Cobalts
69 | let s:coba0 = s:ro.ico2
70 | let s:coba1 = s:ro.ico10
71 |
72 | " Shades of red - Iron glaze
73 | let s:iron0 = s:ro.ico0
74 | let s:iron1 = s:ro.ico3
75 | let s:iron2 = s:ro.ico11
76 |
77 | " Shades of beige - Brush
78 | let s:brush0 = s:ro.ico7
79 | let s:brush1 = s:ro.ico15
80 |
81 | " Shades of grey - Silver
82 | let s:silv0 = s:ro.ico17
83 |
84 | " Shades of red-grey - Clay
85 | let s:clay0 = s:ro.ico1
86 | let s:clay1 = s:ro.ico9
87 | let s:clay2 = s:ro.ico16
88 | let s:clay3 = s:ro.ico8
89 |
90 | " Shades of green - Copper
91 | let s:copp0 = s:ro.ico4
92 | let s:copp1 = s:ro.ico12
93 |
94 | " Represent null color
95 | let s:none = ['NONE', 'NONE']
96 |
97 | " }}}
98 | " clay0Emphasis Set: {{{
99 |
100 | let s:bold = 'bold,'
101 | let s:italic = 'italic,'
102 | let s:underline = 'underline,'
103 | let s:undercurl = 'undercurl,'
104 | let s:inverse = 'inverse,'
105 | let s:strikethrough = 'strikethrough,'
106 |
107 | " }}}
108 | " Function for highlight: {{{
109 |
110 | " Function based on morhetz/gruvbox implementation of highlighting
111 | " Arguments - group, fg, bg, emphasis
112 | function! s:Highlight(group, fg, ...)
113 | " Assign foreground
114 | let fg = a:fg
115 |
116 | " If more than 1 extra arg, set extra as background.
117 | if a:0 >=1
118 | let bg = a:1
119 | else
120 | let bg = s:none
121 | endif
122 |
123 | " Add emphasis to the highlight for extra possibilities like inverse
124 | if a:0 >= 2 && strlen(a:2)
125 | let emstr = a:2
126 | else
127 | let emstr = 'NONE,'
128 | endif
129 |
130 | " Do highlight string
131 | let hlstr = ['hi', a:group,
132 | \ 'guifg=' . fg[0], 'ctermfg=' . fg[1],
133 | \ 'guibg=' . bg[0], 'ctermbg=' . bg[1],
134 | \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2]
135 | \ ]
136 |
137 | execute join(hlstr, ' ')
138 | endfunction
139 | " }}}
140 | " Iroh Common Highlights: {{{
141 |
142 | call s:Highlight('IrohFg', s:fg)
143 | call s:Highlight('IrohBg', s:none, s:bg_alt)
144 |
145 | " Iron hues
146 | call s:Highlight('IrohIron0', s:iron0)
147 | call s:Highlight('IrohIron1', s:iron1)
148 | call s:Highlight('IrohIron2', s:iron2)
149 |
150 | " Clay hues
151 | call s:Highlight('IrohClay0', s:clay0)
152 | call s:Highlight('IrohClay1', s:clay1)
153 | call s:Highlight('IrohClay2', s:clay2)
154 | call s:Highlight('IrohClay3', s:clay3)
155 |
156 | " Copper mony hues
157 | call s:Highlight('IrohCopper0', s:copp0)
158 | call s:Highlight('IrohCopper1', s:copp1)
159 |
160 | " Brush hues
161 | call s:Highlight('IrohBrush0', s:brush0)
162 | call s:Highlight('IrohBrush1', s:brush1)
163 |
164 | " Fiery golden hues
165 | call s:Highlight('IrohAntimony0', s:mony0)
166 | call s:Highlight('IrohAntimony1', s:mony1)
167 | call s:Highlight('IrohGold0', s:mony2)
168 | call s:Highlight('IrohGold1', s:mony3)
169 | call s:Highlight('IrohGold2', s:mony4)
170 |
171 | " Cobalting hues
172 | call s:Highlight('IrohCobalt0', s:coba0)
173 | call s:Highlight('IrohCobalt1', s:coba1)
174 |
175 | " Metal hues
176 | call s:Highlight('IrohMetal0', s:silv0)
177 |
178 | " Alert boxes
179 | call s:Highlight('IrohErrBox', s:iron1, s:none, s:bold)
180 | call s:Highlight('IrohWarnBox', s:mony3, s:none, s:bold)
181 | call s:Highlight('IrohAlertBox', s:clay2, s:none, s:bold)
182 | call s:Highlight('IrohDeathBox', s:iron2, s:iron0, s:bold)
183 | call s:Highlight('IrohSuccessBox', s:copp1, s:none, s:bold)
184 |
185 | " Normal highlight
186 | call s:Highlight('Normal', s:fg, s:bg_alt)
187 |
188 | " }}}
189 |
190 | " === Vanilla colors (default, no plugin, no lang) ===
191 | " General: {{{
192 |
193 | " Make sure background is set to dark
194 | set background=dark
195 |
196 | " Set cursor line and cursor column with defaults
197 | call s:Highlight('CursorLine', s:none, s:clay0)
198 | hi! link CursorColumn CursorLine
199 |
200 | " Tab page line filler, label, and inactive label
201 | call s:Highlight('TabLineFill', s:clay0, s:bg_dark, s:inverse)
202 | call s:Highlight('TabLineSel', s:brush0, s:bg, s:inverse)
203 | call s:Highlight('TabLine', s:clay0, s:bg_alt, s:inverse)
204 |
205 | " Highlight cursor paired bracket : try here {}
206 | call s:Highlight('MatchParen', s:none, s:clay1, s:bold)
207 |
208 | " Highlight screen columns if shown
209 | call s:Highlight('ColorColumn', s:none, s:clay0)
210 |
211 | " Highlight concealed elements
212 | call s:Highlight('Conceal', s:clay2, s:bg)
213 |
214 | " Line number of the cursor line
215 | call s:Highlight('CursorLineNr', s:clay3, s:clay0)
216 |
217 | " Link non-text and special key to more clay2's light redish grey color.
218 | hi! link NonText IrohClay2
219 | hi! link SpecialKey IrohClay2
220 | " Visual mode highlighting
221 | call s:Highlight('Visual', s:none, s:bg, s:inverse)
222 | hi! link VisualNOS Visual
223 |
224 | " Search highlights
225 | call s:Highlight('Search', s:copp1, s:none, s:inverse)
226 |
227 | call s:Highlight('IncSearch', s:clay2, s:none, s:inverse)
228 |
229 | " Underline highlight
230 | call s:Highlight('Underlined', s:copp0, s:bg, s:underline)
231 |
232 | " Status line vars if not overriden
233 | call s:Highlight('StatusLine', s:bg, s:bg)
234 | " call s:Highlight('StatuslineNC', s:bg, s:clay0)
235 |
236 | " Column separating windows
237 | hi! link VertSplit IrohClay1
238 | hi! link WinSeparator IrohClay1
239 |
240 | " Wild menu completion
241 | call s:Highlight('WildMenu', s:mony0, s:clay1, s:bold)
242 |
243 | " Directory & special names in listing
244 | hi! link Directory IrohFg
245 |
246 | " Titles for output from certain commands (:set all)
247 | hi! link Title IrohMetal0
248 | hi! link ModeMsg IrohFg
249 |
250 | " Err messages on command line
251 | hi! link Error IrohErrBox
252 |
253 | " Err messages on command line
254 | hi! link ErrorMsg IrohErrBox
255 | hi! link MoreMsg IrohSuccessBox
256 | hi! link Question IrohAlertBox
257 | hi! link WarningMsg IrohWarnBox
258 | call s:Highlight('NvimInternalError', s:bg_dark, s:iron2, s:bold)
259 |
260 | " }}}
261 | " Gutter / Sidebar: {{{
262 | " Line number on the side with :number
263 | hi! link LineNr IrohClay1
264 |
265 | " Sign bar
266 | call s:Highlight('SignColumn', s:none, s:none)
267 |
268 | " Folds line
269 | call s:Highlight('Folded', s:clay2, s:bg, s:italic)
270 | " Col where fold displayed
271 | hi! link FoldColumn Folded
272 |
273 | call s:Highlight('WinBar', s:fg, s:bg, s:bold)
274 |
275 | " }}}
276 | " Cursor: {{{
277 |
278 | " Character under cursor
279 | call s:Highlight('Cursor', s:none, s:none, s:inverse)
280 | " Link all cursors to base cursor
281 | hi! link vCursor Cursor
282 | hi! link iCursor Cursor
283 | hi! link lCursor Cursor
284 | " }}}
285 | " Syntax Highlighting: {{{
286 |
287 | " Special characters
288 | call s:Highlight('Special', s:iron2, s:none, s:italic)
289 | call s:Highlight('SpecialChar', s:fg, s:none, s:italic)
290 |
291 | " Comment, todos, errors
292 | call s:Highlight('Comment', s:clay1, s:none, s:italic)
293 | call s:Highlight('Todo', s:copp1, s:none, s:bold, s:italic)
294 | call s:Highlight('Error', s:copp1, s:none, s:inverse)
295 |
296 | " === === General statements an structure === ===
297 | " Loops
298 | hi! link Repeat IrohIron2
299 | " Labels
300 | hi! link Label IrohIron2
301 | " Exceptions
302 | hi! link Exception IrohIron2
303 | " Keywords
304 | hi! link Keyword IrohIron2
305 | " Conditional Statements
306 | hi! link Conditional IrohIron2
307 | " Operators
308 | hi! link Operator IrohIron2
309 | " Statements
310 | call s:Highlight('Statement', s:iron2, s:bg, s:bold)
311 |
312 | " === === Variables and functions/methods === ===
313 | " Variables/ identifiers
314 | hi! link Identifier IrohFg
315 | " Functions
316 | hi! link Function IrohGold1
317 |
318 | " === === Preprocessor definitions === ===
319 | " Preprocessor definitions
320 | hi! link PreProc IrohIron2
321 |
322 | " === === Constants and characters
323 | " Generic constants
324 | hi! link Constant IrohAntimony0
325 | " Char constants
326 | hi! link Character IrohClay3
327 | " String constants
328 | hi! link String IrohClay3
329 | " Boolean constants
330 | hi! link Boolean IrohAntimony1
331 | " Number Constants
332 | hi! link Number IrohCobalt1
333 | " Float constants
334 | hi! link Float IrohCobalt1
335 | " Brackets, commas, parenthesis
336 | hi! link Delimiter IrohFg
337 |
338 | " === === Generics and type definitions === ===
339 | " Generic types
340 | hi! link Type IrohAntimony1
341 | " Statics, registers, volatiles
342 | hi! link StorageClass IrohIron2
343 | " Structures
344 | hi! link Structure IrohIron2
345 | " Typedefs
346 | hi! link Typedef IrohIron2
347 |
348 | " }}}
349 | " Completion: {{{
350 | call s:Highlight('Pmenu', s:none, s:bg)
351 | call s:Highlight('PmenuSel', s:bg, s:mony3, s:bold)
352 | call s:Highlight('PmenuSbar', s:none, s:clay1)
353 | call s:Highlight('PmenuThumb', s:none, s:silv0)
354 | " }}}
355 | " Diffs: {{{
356 |
357 | hi! link DiffDelete IrohErrBox
358 | hi! link DiffAdd IrohSuccessBox
359 | call s:Highlight('DiffChange', s:silv0, s:bg, s:inverse)
360 | call s:Highlight('DiffText', s:clay1, s:bg, s:inverse)
361 |
362 | " }}}
363 | " Diagnostics: {{{
364 | hi! link DiagnosticError IrohErrBox
365 | hi! link DiagnosticWarn IrohWarnBox
366 | call s:Highlight('DiagnosticInfo', s:clay1, s:none, s:bold)
367 | call s:Highlight('DiagnosticHint', s:coba1, s:none, s:bold)
368 | call s:Highlight('DiagnosticOk', s:copp1, s:none, s:bold)
369 | call s:Highlight('DiagnosticDeprecated', s:clay0, s:none, s:strikethrough)
370 | " }}}
371 | " Floating Windows: {{{
372 | hi! link NormalFloat IrohFg
373 | hi! link FloatBorder IrohClay3
374 | " }}}
375 |
376 | " === === Plugin-specific themeing === ===
377 | " EasyMotion: {{{
378 |
379 | hi! link EasyMotionTarget Search
380 | hi! link EasyMotionShade Comment
381 |
382 | " }}}
383 | " Sneak: {{{
384 |
385 | autocmd ColorScheme iroh hi! link Sneak Search
386 | autocmd ColorScheme iroh hi! link SneakLabel Search
387 |
388 | " }}}
389 | " GitGutter: {{{
390 |
391 | hi! link GitGutterAdd IrohCopper1
392 | hi! link GitGutterChange IrohGold2
393 | hi! link GitGutterDelete IrohIron1
394 | hi! link GitGutterChangeDelete IrohCobalt1
395 |
396 | " }}}
397 | " Vim Fugitive: {{{
398 | " Normal fugitive items
399 | hi! link fugitiveHeader Normal
400 | hi! link fugitiveHeading Normal
401 | hi! link fugitiveHelpHeader Normal
402 | hi! link fugitiveHelpTag IrohIron2
403 |
404 | " Highlighted fugitive items
405 | call s:Highlight('fugitiveMarker', s:coba1, s:none, s:bold)
406 | hi! link fugitiveUntrackedHeading fugitiveMarker
407 | hi! link fugitiveUntrackedModifier fugitiveMarker
408 | hi! link fugitiveUnstagedHeading fugitiveMarker
409 | hi! link fugitiveUnstagedModifier fugitiveMarker
410 | hi! link fugitiveStagedHeading fugitiveMarker
411 | hi! link fugitiveStagedHeading fugitiveMarker
412 | hi! link fugitiveStagedModifier fugitiveMarker
413 | hi! link fugitiveCount Normal
414 |
415 | " Branches highlight
416 | hi! link fugitiveSymbolicRef IrohCopper1
417 |
418 | " Git commit highlights
419 | hi! link gitcommitFile IrohClay0
420 | hi! link gitcommitHeader IrohIron1
421 | hi! link gitcommitBranch IrohCopper1
422 | hi! link gitcommitSummary Normal
423 | hi! link gitcommitOnBranch IrohIron2
424 | " }}}
425 | " Syntastic: {{{
426 | call s:Highlight('SyntasticError', s:iron1, s:none, s:undercurl)
427 | call s:Highlight('SyntasticWarning', s:mony3, s:none, s:undercurl)
428 | hi! link SyntasticErrorSign IrohGold1
429 | hi! link SyntasticWarningSign IrohGold1
430 | " }}}
431 | " NERDTree: {{{
432 |
433 | hi! link NERDTreeDir IrohCopper0
434 | hi! link NERDTreeDirSlash IrohCobalt0
435 |
436 | hi! link NERDTreeOpenable IrohGold0
437 | hi! link NERDTreeClosable IrohGold0
438 |
439 | hi! link NERDTreeFile IrohBrush1
440 | hi! link NERDTreeExecFile IrohAntimony1
441 |
442 | hi! link NERDTreeUp IrohMetal0
443 | hi! link NERDTreeCWD IrohCopper1
444 | hi! link NERDTreeHelp IrohIron2
445 |
446 | hi! link NERDTreeToggleOn IrohCobalt1
447 | hi! link NERDTreeToggleOff IrohIron0
448 |
449 | " }}}
450 | " Coc Nvim: {{{
451 | hi! link CocWarningSign IrohGold1
452 | hi! link CocErrorSign IrohIron1
453 | hi! link CocInfoSign IrohCobalt1
454 | hi! link CocHintSign IrohMetal0
455 |
456 | " }}}
457 | " Neovim-Dashboard: {{{
458 | hi! link DashboardHeader IrohClay1
459 | hi! link DashboardFooter IrohClay1
460 | hi! link DashboardDesc IrohIron2
461 | hi! link DashboardIcon DashboardDesc
462 | hi! link DashboardKey IrohAntimony1
463 | hi! link DashboardShotCut IrohAntimony1
464 |
465 | " }}}
466 | " Nvim-Tree: {{{
467 | " Structure colors
468 | hi! link NvimTreeFolderIcon IrohCobalt1
469 | hi! link NvimTreeFiIcon IrohMetal0
470 | hi! link NvimTreeRootFolder IrohClay3
471 | call s:Highlight('NvimTreeWindowPicker', s:fg, s:mony2, s:bold)
472 |
473 | " File colors
474 | hi! link NvimTreeOpenedFile IrohGold2
475 | hi! link NvimTreeExecFile Normal
476 | hi! link NvimTreeModifiedFile IrohAntimony0
477 |
478 | " Git config
479 | hi! link NvimTreeGitNew IrohMetal0
480 | hi! link NvimTreeGitIgnored Comment
481 | call s:Highlight('NvimTreeGitDeleted', s:clay2, s:none, s:strikethrough)
482 | hi! link NvimTreeGitStaged Normal
483 | " }}}
484 | " Telescope: {{{
485 | let s:telescope_highlight = s:clay1
486 | call s:Highlight('TelescopeNormal', s:fg, s:bg)
487 | call s:Highlight('TelescopePreviewNormal', s:fg, s:none)
488 | call s:Highlight('TelescopeSelection', s:none, s:bg)
489 | call s:Highlight('TelescopeBorder', s:telescope_highlight, s:bg, s:bold)
490 | call s:Highlight('TelescopePromptNormal', s:coba1, s:bg, s:bold)
491 | hi! link TelescopePreviewBorder TelescopeBorder
492 | hi! link TelescopeResultsBorder TelescopeBorder
493 | call s:Highlight('TelescopeTitle', s:bg, s:telescope_highlight, s:bold)
494 | " }}}
495 | " Neogit: {{{
496 |
497 | " Branch Colors
498 | hi! link NeogitBranch IrohBrush1
499 | call s:Highlight('NeogitRemote', s:copp1, s:none, s:bold)
500 |
501 | " Header colors
502 | call s:Highlight('NeogitHeader', s:coba1, s:none, s:bold)
503 | hi! link NeogitUntrackedfiles NeogitHeader
504 | hi! link NeogitUnstagedchanges NeogitHeader
505 | hi! link NeogitUnmergedchanges NeogitHeader
506 | hi! link NeogitUnpulledchanges NeogitHeader
507 | hi! link NeogitRecentcommits NeogitHeader
508 | hi! link NeogitStagedchanges NeogitHeader
509 | hi! link NeogitStashes NeogitHeader
510 | hi! link NeogitRebasing NeogitHeader
511 |
512 | " Change colors
513 | " TODO Find what this does - still unclear
514 | hi! link NeogitChangeModified IrohGold2
515 | hi! link NeogitChangeUpdated IrohGold2
516 | hi! link NeogitChangeAdded IrohCopper0
517 | hi! link NeogitChangeNewFile IrohCopper1
518 | hi! link NeogitChangeCopied IrohClay2
519 | hi! link NeogitChangeCopied IrohMetal0
520 | hi! link NeogitChangeBothModified IrohAntimony1
521 | hi! link NeogitChangeDeleted IrohIron2
522 |
523 | " Diff colors
524 | call s:Highlight('NeogitDiffDeleteHighlight', s:bg, s:iron2)
525 | call s:Highlight('NeogitDiffContextHighlight', s:fg, s:clay0)
526 | call s:Highlight('NeogitDiffAddHighlight', s:fg, s:coba0)
527 | call s:Highlight('NeogitHunkHeaderHighlight', s:bg, s:clay2, s:bold)
528 | call s:Highlight('NeogitCommitViewHeader', s:bg, s:coba1)
529 |
530 | " Popup button colors
531 | hi! link NeogitPopupSwitchKey CursorLine
532 | hi! link NeogitPopupOptionKey CursorLine
533 | hi! link NeogitPopupConfigKey CursorLine
534 | hi! link NeogitPopupActionKey CursorLine
535 |
536 |
537 | " Misc
538 | hi! link NeogitFold Folded
539 | " }}}
540 | " LSP: {{{
541 | " General {{{
542 | hi! link @variable Identifier
543 | " }}}
544 | " Java config
545 | hi! link @lsp.type.class.java Type
546 | hi! link @lsp.type.typeParameter.java Type
547 | hi! link @lsp.type.struct.java Type
548 | hi! link @lsp.type.interface.java Type
549 | hi! link @lsp.type.keyword.java Keyword
550 | hi! link @lsp.type.enum.java Type
551 | hi! link @lsp.type.modifier.java Keyword
552 | hi! link @lsp.type.namespace IrohAntimony0
553 |
554 | " }}}
555 | " Notify : {{{
556 | call s:Highlight('NotifyBackground', s:bg_alt, s:bg_alt)
557 | " }}}
558 | " DAP UI: {{{
559 | hi! link DAPUIScope Keyword
560 | hi! link DapUIType Type
561 | hi! link DAPUIDecoration Keyword
562 | call s:Highlight('DapUIModifiedValue', s:mony1, s:none, s:bold)
563 | hi! link DapUIThread IrohAntimony0
564 | hi! link DapUIStoppedThread IrohClay1
565 | hi! link DapUISource IrohBrush1
566 | hi! link DapUILineNumber IrohCobalt1
567 | hi! link DapUIFloatBorder IrohCobalt0
568 | hi! link DapUIWatchesEmpty IrohClay1
569 | hi! link DapUIWatchesValue IrohCobalt1
570 | hi! link DapUIWatchesError Error
571 | hi! link DapUIBreakpointsPath IrohGold1
572 | hi! link DapUIBreakpointsInfo IrohCobalt0
573 | call s:Highlight('DapUIBreakpointsCurrentLine', s:coba1, s:none, s:bold)
574 | call s:Highlight('DapUIWinSelect', s:mony1, s:none, s:bold)
575 |
576 | " Actions
577 | hi! link DapUIStepOver IrohCobalt1
578 | hi! link DapUIStepInto DapUIStepOver
579 | hi! link DapUIStepBack DapUIStepOver
580 | hi! link DapUIStepOut DapUIStepOver
581 | hi! link DAPUIStop IrohIron2
582 | hi! link DapUIPlayPause IrohCopper1
583 | hi! link DapUIRestart DapUIPlayPause
584 | hi! link DapUIStepOverNC DapUIStepOver
585 | hi! link DapUIStepIntoNC DapUIStepInto
586 | hi! link DapUIStepBackNC DapUIStepBack
587 | hi! link DapUIStepOutNC DapUIStepOut
588 | hi! link DAPUIStopNC DapUIStop
589 | hi! link DapUIRestartNC DapUIRestart
590 | hi! link DapUIPlayPauseNC DapUIPlayPause
591 |
592 |
593 |
594 | " }}}
595 |
596 | " === === Filetype specific highlighting === ===
597 | " C: {{{
598 |
599 | hi! link cOperator Operator
600 | hi! link cStructure Structure
601 |
602 | " }}}
603 | " Java: {{{
604 |
605 | hi! link javaAnnotation IrohCobalt1
606 | hi! link javaDocTags IrohCobalt1
607 | hi! link javaCommentTitle IrohMetal0
608 | hi! link javaParen IrohBrush0
609 | hi! link javaParen1 IrohBrush0
610 | hi! link javaParen2 IrohBrush0
611 | hi! link javaOperator Operator
612 | hi! link javaVarArg IrohClay2
613 |
614 | " }}}
615 | " Vim: {{{
616 |
617 | hi! link vimCommentTitle IrohMetal0
618 | hi! link vimNotation IrohAntimony1
619 | hi! link vimBracket IrohAntimony1
620 | hi! link vimMapModKey IrohAntimony1
621 | hi! link vimFuncSID IrohIron2
622 | hi! link vimSetSep IrohBrush
623 | hi! link vimSep IrohBrush1
624 | hi! link vimContinue IrohBrush1
625 |
626 |
627 | " }}}
628 |
--------------------------------------------------------------------------------
/colors/irohLight.vim:
--------------------------------------------------------------------------------
1 | " vim:ft=vim foldmethod=marker
2 | " === Iroh Colorscheme ===
3 | " By UnikMask
4 | " https://github.com/iroh-vim
5 | " Last Modified: recently
6 | " === === === === === === ===
7 |
8 |
9 | " Init spc settings: {{{"
10 |
11 | let g:colors_name='iroh-light'
12 |
13 | " }}}
14 | " Palette: {{{
15 |
16 | " Set palette dictionnary
17 | let s:ro = {}
18 |
19 | " Fill dictionnary with colors
20 | let s:ro.bg = ['#e9d49c', 187]
21 | let s:ro.fg = ['#7e504a', 95]
22 | let s:ro.dcurs = ['#7e504a', 95]
23 |
24 | " Colors
25 | let s:ro.ico2 = ['#708894', 66]
26 | let s:ro.ico10 = ['#85aeb1', 109]
27 | let s:ro.ico5 = ['#e3630a', 166]
28 | let s:ro.ico13 = ['#ff771d', 208]
29 | let s:ro.ico18 = ['#d38007', 172]
30 | let s:ro.ico14 = ['#faac09', 214]
31 | let s:ro.ico6 = ['#ffb032', 215]
32 | let s:ro.ico11 = ['#c22211', 124]
33 | let s:ro.ico3 = ['#ca2c18', 160]
34 | let s:ro.ico0 = ['#d33b24', 166]
35 | let s:ro.ico17 = ['#888888', 246]
36 | let s:ro.ico7 = ['#816459', 95]
37 | let s:ro.ico15 = ['#6b504a', 95]
38 | let s:ro.ico1 = ['#c6caab', 187]
39 | let s:ro.ico9 = ['#c7b78e', 180]
40 | let s:ro.ico16 = ['#bfa76a', 143]
41 | let s:ro.ico8 = ['#b59952', 137]
42 | let s:ro.ico12 = ['#006174', 24]
43 | let s:ro.ico4 = ['#0077a5', 32]
44 |
45 | " }}}
46 | " Set-Up: {{{
47 |
48 | " Assign all elements their attribute colors.
49 |
50 | " Background and foreground colors
51 | let s:bg = s:ro.bg
52 | let s:fg = s:ro.fg
53 |
54 | " Shades of orange-yellow - Antimony
55 | let s:mony0 = s:ro.ico13
56 | let s:mony1 = s:ro.ico5
57 | let s:mony2 = s:ro.ico6
58 | let s:mony3 = s:ro.ico14
59 | let s:mony4 = s:ro.ico18
60 |
61 | " Shades of weaker green - Cobalts
62 | let s:coba0 = s:ro.ico2
63 | let s:coba1 = s:ro.ico10
64 |
65 | " Shades of red - Iron glaze
66 | let s:iron0 = s:ro.ico0
67 | let s:iron1 = s:ro.ico3
68 | let s:iron2 = s:ro.ico11
69 |
70 | " Shades of beige - Brush
71 | let s:brush0 = s:ro.ico7
72 | let s:brush1 = s:ro.ico15
73 |
74 | " Shades of grey - Silver
75 | let s:silv0 = s:ro.ico17
76 |
77 | " Shades of red-grey - Clay
78 | let s:clay0 = s:ro.ico1
79 | let s:clay1 = s:ro.ico9
80 | let s:clay2 = s:ro.ico16
81 | let s:clay3 = s:ro.ico8
82 |
83 | " Shades of green - Copper
84 | let s:copp0 = s:ro.ico4
85 | let s:copp1 = s:ro.ico12
86 |
87 | " Represent null color
88 | let s:none = ['NONE', 'NONE']
89 |
90 | " }}}
91 | " Emphasis Set: {{{
92 |
93 | let s:bold = 'bold,'
94 | let s:italic = 'italic,'
95 | let s:underline = 'underline,'
96 | let s:undercurl = 'undercurl,'
97 | let s:inverse = 'inverse,'
98 |
99 | " }}}
100 | " Function for highlight: {{{
101 |
102 | " Function based on morhetz/gruvbox implementation of highlighting
103 | " Arguments - group, fg, bg, emphasis
104 | function! s:Highlight(group, fg, ...)
105 | " Assign foreground
106 | let fg = a:fg
107 |
108 | " If more than 1 extra arg, set extra as background.
109 | if a:0 >=1
110 | let bg = a:1
111 | else
112 | let bg = s:none
113 | endif
114 |
115 | " Add emphasis to the highlight for extra possibilities like inverse
116 | if a:0 >= 2 && strlen(a:2)
117 | let emstr = a:2
118 | else
119 | let emstr = 'NONE,'
120 | endif
121 |
122 | " Do highlight string
123 | let hlstr = ['hi', a:group,
124 | \ 'guifg=' . fg[0], 'ctermfg=' . fg[1],
125 | \ 'guibg=' . bg[0], 'ctermbg=' . bg[1],
126 | \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2]
127 | \ ]
128 |
129 | execute join(hlstr, ' ')
130 | endfunction
131 | " }}}
132 | " Iroh Common Highlights: {{{
133 |
134 | call s:Highlight('IrohFg', s:fg)
135 | call s:Highlight('IrohBg', s:none, s:bg)
136 |
137 | " Iron hues
138 | call s:Highlight('IrohIron0', s:iron0)
139 | call s:Highlight('IrohIron1', s:iron1)
140 | call s:Highlight('IrohIron2', s:iron2)
141 |
142 | " Clay hues
143 | call s:Highlight('IrohClay0', s:clay0)
144 | call s:Highlight('IrohClay1', s:clay1)
145 | call s:Highlight('IrohClay2', s:clay2)
146 | call s:Highlight('IrohClay3', s:clay3)
147 |
148 | " Copper mony hues
149 | call s:Highlight('IrohCopper0', s:copp0)
150 | call s:Highlight('IrohCopper1', s:copp1)
151 |
152 | " Brush hues
153 | call s:Highlight('IrohBrush0', s:brush0)
154 | call s:Highlight('IrohBrush1', s:brush1)
155 |
156 | " Fiery golden hues
157 | call s:Highlight('IrohAntimony0', s:mony0)
158 | call s:Highlight('IrohAntimony1', s:mony1)
159 | call s:Highlight('IrohGold0', s:mony2)
160 | call s:Highlight('IrohGold1', s:mony3)
161 | call s:Highlight('IrohGold2', s:mony4)
162 |
163 | " Cobalting hues
164 | call s:Highlight('IrohCobalt0', s:coba0)
165 | call s:Highlight('IrohCobalt1', s:coba1)
166 |
167 | " Metal hues
168 | call s:Highlight('IrohMetal0', s:silv0)
169 |
170 | " Alert boxes
171 | call s:Highlight('IrohErrBox', s:iron1, s:clay0, s:bold)
172 | call s:Highlight('IrohWarnBox', s:mony3, s:clay1, s:bold)
173 | call s:Highlight('IrohAlertBox', s:bg, s:clay2, s:bold)
174 | call s:Highlight('IrohDeathBox', s:iron2, s:iron0, s:bold)
175 | call s:Highlight('IrohSuccessBox', s:copp1, s:bg, s:bold)
176 |
177 | " Normal highlight
178 | call s:Highlight('Normal', s:fg, s:bg)
179 |
180 | " }}}
181 |
182 | " === Vanilla colors (default, no plugin, no lang) ===
183 | " General: {{{
184 |
185 | " Make sure background is set to dark
186 | set background=dark
187 |
188 | " Set cursor line and cursor column with defaults
189 | call s:Highlight('CursorLine', s:bg, s:clay0)
190 | hi! link CursorColumn CursorLine
191 |
192 | " Tab page line filler, label, and inactive label
193 | call s:Highlight('TabLineFill', s:brush0, s:clay0)
194 | call s:Highlight('TabLineSel', s:copp1, s:clay0)
195 | hi! link TabLine TabLineFill
196 |
197 | " Highlight cursor paired bracket : try here {}
198 | call s:Highlight('MatchParen', s:none, s:clay1, s:bold)
199 |
200 | " Highlight screen columns if shown
201 | call s:Highlight('ColorColumn', s:none, s:clay0)
202 |
203 | " Highlight concealed elements
204 | call s:Highlight('Conceal', s:clay2, s:bg)
205 |
206 | " Line number of the cursor line
207 | call s:Highlight('CursorLineNr', s:mony2, s:clay0)
208 |
209 | " Link non-text and special key to more clay2's light redish grey color.
210 | hi! link NonText IrohClay2
211 | hi! link SpecialKey IrohClay2
212 | " Visual mode highlighting
213 | call s:Highlight('Visual', s:none, s:bg, s:inverse)
214 | hi! link VisualNOS Visual
215 |
216 | " Search highlights
217 | call s:Highlight('Search', s:copp1, s:bg, s:inverse)
218 |
219 | call s:Highlight('IncSearch', s:brush1, s:bg, s:inverse)
220 |
221 | " Underline highlight
222 | call s:Highlight('Underlined', s:copp0, s:bg, s:underline)
223 |
224 | " Status line vars if not overriden
225 | call s:Highlight('StatusLine', s:brush1, s:clay1)
226 | call s:Highlight('StatusLineNC', s:brush1, s:clay3)
227 |
228 | " Column separating windows
229 | hi! link VertSplit IrohClay1
230 |
231 | " Wild menu completion
232 | call s:Highlight('WildMenu', s:mony0, s:clay1, s:bold)
233 |
234 | " Directory & special names in listing
235 | hi! link Directory IrohGold0
236 |
237 | " Titles for output from certain commands (:set all)
238 | hi! link Title IrohMetal0
239 |
240 | " Err messages on command line
241 | hi! link ErrorMsg IrohErrBox
242 | " -- More -- prompt
243 | hi! link MoreMsg IrohSuccessBox
244 | " -- Press enter prompt
245 | hi! link Question IrohAlertBox
246 | " Warning messages
247 | hi! link WarningMsg IrohWarnBox
248 |
249 | " }}}
250 | " Gutter / Sidebar: {{{
251 | " Line number on the side with :number
252 | hi! link LineNr IrohClay1
253 |
254 | " Sign bar
255 | call s:Highlight('SignColumn', s:none, s:clay0)
256 |
257 | " Folds line
258 | call s:Highlight('Folded', s:clay2, s:clay0, s:italic)
259 | " Col where fold displayed
260 | hi! link FoldColumn Folded
261 |
262 | " }}}
263 | " Cursor: {{{
264 |
265 | " Character under cursor
266 | call s:Highlight('Cursor', s:none, s:none, s:inverse)
267 | " Link all cursors to base cursor
268 | hi! link vCursor Cursor
269 | hi! link iCursor Cursor
270 | hi! link lCursor Cursor
271 | " }}}
272 | " Syntax Highlighting: {{{
273 |
274 | " Special characters
275 | call s:Highlight('Special', s:mony1, s:bg, s:italic)
276 |
277 | " Comment, todos, errors
278 | call s:Highlight('Comment', s:clay2, s:bg)
279 | call s:Highlight('Todo', s:clay3, s:bg, s:bold)
280 | call s:Highlight('Error', s:iron2, s:clay2, s:inverse)
281 |
282 | " === === General statements an structure === ===
283 | " Loops
284 | hi! link Repeat IrohIron2
285 | " Labels
286 | hi! link Label IrohIron2
287 | " Exceptions
288 | hi! link Exception IrohIron2
289 | " Keywords
290 | hi! link Keyword IrohIron2
291 | " Conditional Statements
292 | hi! link Conditional IrohGold1
293 | " Operators
294 | hi! link Operator IrohIron2
295 | " Statements
296 | call s:Highlight('Statement', s:mony4, s:bg, s:bold)
297 |
298 | " === === Variables and functions/methods === ===
299 | " Variables/ identifiers
300 | hi! link Identifier IrohAntimony1
301 | " Functions
302 | hi! link Function IrohMetal0
303 |
304 | " === === Preprocessor definitions === ===
305 | " Preprocessor definitions
306 | hi! link PreProc IrohCopper0
307 | " Include definitions
308 | hi! link Include IrohCopper0
309 | " #define preprocessor definition
310 | hi! link Define IrohCopper0
311 | " Macro preproc
312 | hi! link Macro IrohCopper0
313 | " Preproc conditionals
314 | hi! link PreCondit IrohCopper0
315 |
316 | " === === Constants and characters
317 | " Generic constants
318 | hi! link Constant IrohAntimony0
319 | " Char constants
320 | hi! link Character IrohMetal0
321 | " String constants
322 | hi! link String IrohClay3
323 | " Boolean constants
324 | hi! link Boolean IrohCopper1
325 | " Number Constants
326 | hi! link Number IrohCobalt1
327 | " Float constants
328 | hi! link Float IrohCobalt1
329 |
330 | " === === Generics and type definitions === ===
331 | " Generic types
332 | hi! link Type IrohAntimony1
333 | " Statics, registers, volatiles
334 | hi! link StorageClass IrohAntimony1
335 | " Structures
336 | hi! link Structure IrohCopper1
337 | " Typedefs
338 | hi! link Typedef IrohGold1
339 |
340 | " }}}
341 | " Completion: {{{
342 | " Pop-up menu snormal look
343 | call s:Highlight('Pmenu', s:brush0, s:clay1)
344 | " Pop-up menu selected item
345 | call s:Highlight('PmenuSel', s:bg, s:silv0, s:bold)
346 | " Pop-up menu scroll bar"
347 | call s:Highlight('PmenuSbar', s:none, s:clay0)
348 | " Pop-up menu scrollbar thumb
349 | call s:Highlight('PmenuThumb', s:none, s:silv0)
350 | " }}}
351 | " Diffs: {{{
352 |
353 | hi! link DiffDelete IrohErrBox
354 | hi! link DiffAdd IrohSuccessBox
355 | call s:Highlight('DiffChange', s:silv0, s:bg, s:inverse)
356 | call s:Highlight('DiffText', s:clay1, s:bg, s:inverse)
357 |
358 | " }}}
359 |
360 | " === === Plugin-specific themeing === ===
361 | " Most of those implementations are based
362 | " on gruvbox implementations.
363 | " EasyMotion: {{{
364 |
365 | hi! link EasyMotionTarget Search
366 | hi! link EasyMotionShade Comment
367 |
368 | " }}}
369 | " Sneak: {{{
370 |
371 | autocmd ColorScheme iroh hi! link Sneak Search
372 | autocmd ColorScheme iroh hi! link SneakLabel Search
373 |
374 | " }}}
375 | " GitGutter: {{{
376 |
377 | hi! link GitGutterAdd IrohCopper1
378 | hi! link GitGutterChange IrohMetal0
379 | hi! link GitGutterDelete IrohIron1
380 | hi! link GitGutterChangeDelete IrohMetal0
381 |
382 | " }}}
383 | " Vim Fugitive: {{{
384 | hi! link gitcommitSelectedFile IrohCopper1
385 | hi! link gitcommitDiscardedFile IrohIron1
386 | " }}}
387 | " Syntastic: {{{
388 | call s:Highlight('SyntasticError', s:iron1, s:none, s:undercurl)
389 | call s:Highlight('SyntasticWarning', s:mony3, s:none, s:undercurl)
390 | hi! link SyntasticErrorSign IrohGold1
391 | hi! link SyntasticWarningSign IrohGold1
392 | " }}}
393 | " NERDTree: {{{
394 |
395 | hi! link NERDTreeDir IrohCopper0
396 | hi! link NERDTreeDirSlash IrohCobalt0
397 |
398 | hi! link NERDTreeOpenable IrohGold0
399 | hi! link NERDTreeClosable IrohGold0
400 |
401 | hi! link NERDTreeFile IrohBrush1
402 | hi! link NERDTreeExecFile IrohAntimony1
403 |
404 | hi! link NERDTreeUp IrohMetal0
405 | hi! link NERDTreeCWD IrohCopper1
406 | hi! link NERDTreeHelp IrohIron2
407 |
408 | hi! link NERDTreeToggleOn IrohCobalt1
409 | hi! link NERDTreeToggleOff IrohIron0
410 |
411 | " }}}
412 | " Coc Nvim: {{{
413 |
414 | hi! link CocWarningSign IrohGold1
415 | hi! link CocErrorSign IrohIron1
416 | hi! link CocInfoSign IrohCobalt1
417 | hi! link CocHintSign IrohMetal0
418 |
419 | " }}}
420 |
421 | " === === Filetype specific highlighting === ===
422 | " C: {{{
423 |
424 | hi! link cOperator Operator
425 | hi! link cStructure Structure
426 |
427 | " }}}
428 | " Java: {{{
429 |
430 | hi! link javaAnnotation IrohCobalt1
431 | hi! link javaDocTags IrohCobalt1
432 | hi! link javaCommentTitle IrohMetal0
433 | hi! link javaParen IrohBrush0
434 | hi! link javaParen1 IrohBrush0
435 | hi! link javaParen2 IrohBrush0
436 | hi! link javaOperator Operator
437 | hi! link javaVarArg IrohClay2
438 |
439 | " }}}
440 | " Vim: {{{
441 |
442 | hi! link vimCommentTitle IrohMetal0
443 | hi! link vimNotation IrohAntimony1
444 | hi! link vimBracket IrohAntimony1
445 | hi! link vimMapModKey IrohAntimony1
446 | hi! link vimFuncSID IrohIron2
447 | hi! link vimSetSep IrohBrush
448 | hi! link vimSep IrohBrush1
449 | hi! link vimContinue IrohBrush1
450 |
451 |
452 | " }}}
453 |
--------------------------------------------------------------------------------
/lua/lualine/themes/iroh.lua:
--------------------------------------------------------------------------------
1 | colors = {
2 | bg = "#2e2a2b",
3 | fg = "#e9d49c",
4 |
5 | -- Antimony - Shades of orange-yellow
6 | mony0 = "#e3630a",
7 | mony1 = "#ff771d",
8 | mony2 = "#d38007",
9 | mony3 = "#faac09",
10 | mony4 = "#ffb032",
11 |
12 | -- Cobalts - Shades of faded green
13 | coba0 = "#899470",
14 | coba1 = "#9eb185",
15 |
16 | -- Iron - Shades of Red
17 | iron0 = "#c22211",
18 | iron1 = "#ca2c18",
19 | iron2 = "#d33b24",
20 |
21 | -- Brush - Shades of Beige
22 | brush0 = "#d6caab",
23 | brush1 = "#f6efdd",
24 |
25 | -- Silver - Shades of Grey
26 | silv0 = "#999999",
27 |
28 | -- Clay - Shades of reddish grey
29 | clay0 = "#403735",
30 | clay1 = "#7d5650",
31 | clay2 = "#8f5e51",
32 | clay3 = "#c2604c",
33 |
34 | -- Copper - Shades of Green
35 | copp0 = "#627400",
36 | copp1 = "#90c523",
37 | }
38 |
39 | return {
40 | normal = {
41 | a = {bg = colors.clay1, fg = colors.bg, gui = 'bold'},
42 | b = {bg = colors.clay0, fg = colors.clay1, gui = 'bold'},
43 | c = {bg = colors.bg, fg = colors.clay1, gui = 'bold'},
44 | x = {bg = colors.bg},
45 | y = {bg = colors.clay0, fg = colors.clay1, gui = 'bold'},
46 | z = {bg = colors.clay1, fg = colors.bg, gui = 'bold'},
47 | },
48 | insert = {
49 | a = {bg = colors.mony2, fg = colors.bg, gui = 'bold'},
50 | b = {bg = colors.clay0, fg = colors.mony1, gui = 'bold'},
51 | c = {bg = colors.bg, fg = colors.clay1, gui = 'bold'},
52 | x = {bg = colors.bg},
53 | y = {bg = colors.clay0, fg = colors.mony1, gui = 'bold'},
54 | z = {bg = colors.mony2, fg = colors.bg, gui = 'bold'},
55 | },
56 | replace = {
57 | a = {bg = colors.iron1, fg = colors.bg, gui = 'bold'},
58 | b = {bg = colors.clay0, fg = colors.iron0, gui = 'bold'},
59 | c = {bg = colors.bg, fg = colors.clay1, gui = 'bold'},
60 | x = {bg = colors.bg},
61 | y = {bg = colors.clay0, fg = colors.iron0, gui = 'bold'},
62 | z = {bg = colors.iron1, fg = colors.bg, gui = 'bold'},
63 | },
64 | visual = {
65 | a = {bg = colors.copp1, fg = colors.bg, gui = 'bold'},
66 | b = {bg = colors.clay0, fg = colors.copp0, gui = 'bold'},
67 | c = {bg = colors.bg, fg = colors.clay1, gui = 'bold'},
68 | x = {bg = colors.bg},
69 | y = {bg = colors.clay0, fg = colors.copp0, gui = 'bold'},
70 | z = {bg = colors.copp1, fg = colors.bg, gui = 'bold'},
71 | },
72 | inactive = {
73 | a = {bg = colors.clay0, fg = colors.bg},
74 | b = {bg = colors.bg},
75 | c = {bg = colors.bg},
76 | x = {bg = colors.bg},
77 | y = {bg = colors.bg},
78 | z = {bg = colors.clay0, fg = colors.bg},
79 | },
80 | }
81 |
82 |
--------------------------------------------------------------------------------