├── 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 | ![Screenshot java](https://i.imgur.com/ALslMCw.png) 21 | 22 | ### Using Vim script 23 | 24 | ![Screenshot Vim](https://i.imgur.com/uqRbmxQ.png?0) 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 | --------------------------------------------------------------------------------