Mercurial > ec-dotfiles
annotate vendor/vim-packs/srcery-vim/autoload/clap/themes/srcery.vim @ 723:440e800e9be0
Merge
author | nanaya <me@nanaya.net> |
---|---|
date | Mon, 19 Aug 2024 17:05:46 +0900 |
parents | 1e0f578f6752 |
children |
rev | line source |
---|---|
704
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
1 " Author: Birger J. Nordolum <contact+srcery@mindtooth.no> |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
2 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
3 " Description: Clap theme based on the Srcery color scheme. The theme |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
4 " require some tweaks to make it work. If you plan on copying or |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
5 " building upon this code for your own colorscheme, make sure that you |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
6 " are aware of the additional tweaks for Srcery. |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
7 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
8 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
9 let s:save_cpo = &cpoptions |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
10 set cpoptions&vim |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
11 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
12 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
13 " Srcery Palette {{{ |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
14 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
15 " Normal Colors |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
16 let s:black = srcery#helper#GetColor('SrceryBlack') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
17 let s:red = srcery#helper#GetColor('SrceryRed') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
18 let s:green = srcery#helper#GetColor('SrceryGreen') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
19 let s:yellow = srcery#helper#GetColor('SrceryYellow') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
20 let s:blue = srcery#helper#GetColor('SrceryBlue') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
21 let s:magenta = srcery#helper#GetColor('SrceryMagenta') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
22 let s:cyan = srcery#helper#GetColor('SrceryCyan') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
23 let s:white = srcery#helper#GetColor('SrceryWhite') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
24 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
25 " Bright Colors |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
26 let s:bright_black = srcery#helper#GetColor('SrceryBrightBlack') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
27 let s:bright_red = srcery#helper#GetColor('SrceryBrightRed') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
28 let s:bright_green = srcery#helper#GetColor('SrceryBrightGreen') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
29 let s:bright_yellow = srcery#helper#GetColor('SrceryBrightYellow') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
30 let s:bright_blue = srcery#helper#GetColor('SrceryBrightBlue') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
31 let s:bright_magenta = srcery#helper#GetColor('SrceryBrightMagenta') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
32 let s:bright_cyan = srcery#helper#GetColor('SrceryBrightCyan') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
33 let s:bright_white = srcery#helper#GetColor('SrceryBrightWhite') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
34 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
35 " Extra Colors |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
36 let s:orange = srcery#helper#GetColor('SrceryOrange') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
37 let s:bright_orange = srcery#helper#GetColor('SrceryBrightOrange') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
38 let s:hard_black = srcery#helper#GetColor('SrceryHardBlack') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
39 let s:xgray1 = srcery#helper#GetColor('SrceryXgray1') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
40 let s:xgray2 = srcery#helper#GetColor('SrceryXgray2') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
41 let s:xgray3 = srcery#helper#GetColor('SrceryXgray3') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
42 let s:xgray4 = srcery#helper#GetColor('SrceryXgray4') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
43 let s:xgray5 = srcery#helper#GetColor('SrceryXgray5') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
44 let s:xgray6 = srcery#helper#GetColor('SrceryXgray6') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
45 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
46 "}}} |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
47 " Srcery Tweaks {{{ |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
48 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
49 " The following tweaks are done to make sure that the theme works |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
50 " properly. Because Srcery has a transparent background as an option, |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
51 " some additional actions were taken to ensure that the clap colors look |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
52 " right regardless of this setting. |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
53 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
54 " We need to tweak both the SignColumn and ClapSymbol to set the colors |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
55 " correctly. When using the transparent option, we explicitly need to |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
56 " change the symbol color. |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
57 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
58 " Save original SignColumn |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
59 let s:original_signcolumn_bg_color = srcery#helper#GetColor('SignColumn', 'bg') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
60 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
61 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
62 " We use an augroup to load/unload tweaks needed for the theme. Clap |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
63 " includes some triggers that we can hook onto. |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
64 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
65 function! ClapSrceryLoad() abort |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
66 " Set column color to NONE so that clap can control this. |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
67 " Note! This changes also the normal SignColumn color of the |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
68 " main window. Might result in unexpected changes. |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
69 highlight SignColumn ctermbg=NONE guibg=NONE |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
70 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
71 " Only execute the color change when the variable |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
72 " `g:srcery_transparent_background` set to 1. This is for |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
73 " making the rounded corners display correctly. Clap read the |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
74 " `Normal` highlight color, but in this case it's not enough, |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
75 " and hence the explicit change. |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
76 if exists('g:srcery_transparent_background') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
77 let l:clap_symbol_style = 'ctermbg=' .s:black[1]. ' guibg=' .s:black[0] |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
78 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
79 execute 'highlight ClapSymbol ' . l:clap_symbol_style |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
80 endif |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
81 endfunction |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
82 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
83 function! ClapSrceryUnload() abort |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
84 " Revert the change made to SignColumn.. |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
85 let l:signcolumn = 'ctermbg=' . |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
86 \ (s:original_signcolumn_bg_color[1] ? s:original_signcolumn_bg_color[1] : 'NONE') . |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
87 \' guibg=' . |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
88 \ (s:original_signcolumn_bg_color[0] ? s:original_signcolumn_bg_color[0] : 'NONE') |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
89 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
90 execute 'highlight SignColumn ' . l:signcolumn |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
91 endfunction |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
92 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
93 augroup ClapSrcery |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
94 autocmd! |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
95 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
96 autocmd User ClapOnEnter call ClapSrceryLoad() |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
97 autocmd User ClapOnExit call ClapSrceryUnload() |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
98 augroup END |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
99 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
100 " }}} |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
101 " Clap Theme {{{ |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
102 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
103 " The tweaks below is copied from the upstream code, but tweaked to use |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
104 " Srcery's colors. |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
105 " Upstream: https://github.com/liuchengxu/vim-clap/blob/master/autoload/clap/themes/material_design_dark.vim |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
106 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
107 let s:palette = {} |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
108 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
109 let s:palette.display = { 'ctermbg': s:xgray2[1], 'guibg': s:xgray2[0], 'ctermfg': 'NONE', } |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
110 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
111 " Let ClapInput, ClapSpinner and ClapSearchText use the same backgound. |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
112 let s:bg0 = { 'ctermbg': s:xgray5[1], 'guibg': s:xgray5[0] } |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
113 let s:palette.input = s:bg0 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
114 let s:palette.spinner = extend({ 'ctermfg': s:bright_orange[1], 'guifg': s:bright_orange[0], 'cterm': 'bold', 'gui': 'bold'}, s:bg0) |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
115 let s:palette.search_text = extend({ 'ctermfg': s:bright_white[1], 'guifg': s:bright_white[0], 'cterm': 'bold', 'gui': 'bold' }, s:bg0) |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
116 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
117 let s:palette.preview = { 'ctermbg': s:xgray4[1], 'guibg': s:xgray4[0] } |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
118 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
119 let s:palette.current_selection = { 'ctermbg': s:xgray3[1], 'guibg': s:xgray3[0], 'cterm': 'bold', 'gui': 'bold' } |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
120 let s:palette.current_selection_sign = { 'ctermfg': s:red[1], 'guifg': s:red[0], 'ctermbg': s:xgray3[1], 'guibg': s:xgray3[0]} |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
121 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
122 let s:palette.selected = { 'ctermfg': 'NONE', 'guifg': s:bright_blue[0], 'ctermbg': s:xgray3[1], 'guibg': s:xgray3[0] } |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
123 let s:palette.selected_sign = { 'ctermfg': s:green[1], 'guifg': s:green[0], 'ctermbg': s:xgray3[1], 'guibg': s:xgray3[0] } |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
124 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
125 let g:clap#themes#srcery#palette = s:palette |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
126 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
127 " }}} |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
128 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
129 |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
130 let &cpoptions = s:save_cpo |
1e0f578f6752
Update vendor and add support for vim packs
nanaya <me@nanaya.net>
parents:
diff
changeset
|
131 unlet s:save_cpo |