Skip to content

Commit 1c1720a

Browse files
committed
Use lifepillar/vim-colortemplate refact the repo
Update with latest nvim's repo. Add support for 265 16 and 8 colors. These files are color templates for each palette, used to generate color scheme files in colors/*.vim. Use lifepillar/vim-colortemplate to build colorschemes from templates. Files descriptions: * _base -- Highlight group settings and links for Vim's internal settings. * _extra -- Highlight group settings and links for plugin support. * _frappe -- Frappe palette. * _latte -- Latte palette. * _macchiato -- Macchiato palette. * _mocha -- Mocha palette. * catppuccin.colortemplate -- Colortemplate for both light and dark backgrounds. * catppuccin_frappe.colortemplate -- Colortemplate for Frappe (one palette). * catppuccin_latte.colortemplate -- Colortemplate for Latte (one palette). * catppuccin_macchiato.colortemplate -- Colortemplate for Macchiato (one palette). * catppuccin_mocha.colortemplate -- Colortemplate for Mocha (one palette). Signed-off-by: Mao-Yining <[email protected]>
1 parent fc2e9d8 commit 1c1720a

21 files changed

+2693
-617
lines changed

.editorconfig

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,8 @@ end_of_line = lf
1212
insert_final_newline = true
1313
trim_trailing_whitespace = true
1414

15-
# go
16-
[*.go]
15+
[*.colortemplate]
1716
indent_style = tab
18-
indent_size = 4
19-
20-
# python
21-
[*.{ini,py,py.tpl,rst}]
22-
indent_size = 4
23-
24-
# rust
25-
[*.rs]
26-
indent_size = 4
2717

2818
# documentation, utils
2919
[*.{md,mdx,diff}]

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
</p>
1717

1818
## ✨ Integrations
19+
1920
- [lightline](https://github.com/itchyny/lightline.vim)
2021
- [airline](https://github.com/vim-airline/vim-airline)
2122

@@ -33,28 +34,35 @@ git clone https://github.com/catppuccin/vim.git ~/.vim/pack/vendor/start/catppuc
3334
```
3435

3536
### Manually
37+
3638
1. Clone this repository
3739
2. Put the `colors` folder inside your `.vim` (or if the `colors` folder already exists, move all the catppuccin palettes inside it)
3840
3. When Vim is running use `:colorscheme catppuccin_` followed by the flavor name (e.g. `:colorscheme catppuccin_mocha`)
3941

4042
### Vim-Plug
43+
4144
```vim
4245
Plug 'catppuccin/vim', { 'as': 'catppuccin' }
4346
```
4447

4548
## ✨ Integrations setup
4649

4750
### lightline
51+
4852
1. Download the plugin via your plugin manager or manually
4953
2. Set the colorscheme by inserting the following line in your `.vimrc`:
54+
5055
```vim
5156
let g:lightline = {'colorscheme': 'catppuccin_mocha'}
5257
```
58+
5359
3. Now that lightline is good to go, you can use `set noshowmode` to hide the default mode showcase since now it will be displayed in the plugin
5460

5561
### airline
62+
5663
Airline should automatically choose the correct theme.
5764
If it does not you can force it by inserting the following line in your `.vimrc`:
65+
5866
```vim
5967
let g:airline_theme = 'catppuccin_mocha'
6068
```
@@ -65,6 +73,10 @@ let g:airline_theme = 'catppuccin_mocha'
6573

6674
A: For better syntax highlighting you should download plugins that allow you to see all color groups for each language in question.
6775

76+
## Contributing
77+
78+
This color plugin is developed with [lifepillar/vim-colortemplate](https://github.com/lifepillar/vim-colortemplate/).
79+
6880
## 💝 Thanks to
6981

7082
- [M3nny](https://github.com/M3nny)
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
let g:airline#themes#catppuccin#palette = {}
2+
3+
if &background == 'dark'
4+
let s:rosewater = "#F5E0DC"
5+
let s:flamingo = "#F2CDCD"
6+
let s:pink = "#F5C2E7"
7+
let s:mauve = "#CBA6F7"
8+
let s:red = "#F38BA8"
9+
let s:maroon = "#EBA0AC"
10+
let s:peach = "#FAB387"
11+
let s:yellow = "#F9E2AF"
12+
let s:green = "#A6E3A1"
13+
let s:teal = "#94E2D5"
14+
let s:sky = "#89DCEB"
15+
let s:sapphire = "#74C7EC"
16+
let s:blue = "#89B4FA"
17+
let s:lavender = "#B4BEFE"
18+
"
19+
let s:text = "#CDD6F4"
20+
let s:subtext1 = "#BAC2DE"
21+
let s:subtext0 = "#A6ADC8"
22+
let s:overlay2 = "#9399B2"
23+
let s:overlay1 = "#7F849C"
24+
let s:overlay0 = "#6C7086"
25+
let s:surface2 = "#585B70"
26+
let s:surface1 = "#45475A"
27+
let s:surface0 = "#313244"
28+
"
29+
let s:base = "#1E1E2E"
30+
let s:mantle = "#181825"
31+
let s:crust = "#11111B"
32+
else
33+
let s:rosewater = "#dc8a78"
34+
let s:flamingo = "#DD7878"
35+
let s:pink = "#ea76cb"
36+
let s:mauve = "#8839EF"
37+
let s:red = "#D20F39"
38+
let s:maroon = "#E64553"
39+
let s:peach = "#FE640B"
40+
let s:yellow = "#df8e1d"
41+
let s:green = "#40A02B"
42+
let s:teal = "#179299"
43+
let s:sky = "#04A5E5"
44+
let s:sapphire = "#209FB5"
45+
let s:blue = "#1e66f5"
46+
let s:lavender = "#7287FD"
47+
"
48+
let s:text = "#4C4F69"
49+
let s:subtext1 = "#5C5F77"
50+
let s:subtext0 = "#6C6F85"
51+
let s:overlay2 = "#7C7F93"
52+
let s:overlay1 = "#8C8FA1"
53+
let s:overlay0 = "#9CA0B0"
54+
let s:surface2 = "#ACB0BE"
55+
let s:surface1 = "#BCC0CC"
56+
let s:surface0 = "#CCD0DA"
57+
"
58+
let s:base = "#EFF1F5"
59+
let s:mantle = "#E6E9EF"
60+
let s:crust = "#DCE0E8"
61+
endif
62+
63+
function! airline#themes#catppuccin#refresh()
64+
" Normal mode
65+
" (Dark)
66+
let s:N1 = [ s:mantle, s:blue, 59, 149 ] " guifg guibg ctermfg ctermbg
67+
let s:N2 = [ s:blue, s:surface0, 149, 59 ] " guifg guibg ctermfg ctermbg
68+
let s:N3 = [ s:text, s:mantle, 145, 16 ] " guifg guibg ctermfg ctermbg
69+
70+
" Insert mode
71+
let s:I1 = [ s:mantle, s:teal, 59, 74 ] " guifg guibg ctermfg ctermbg
72+
let s:I2 = [ s:teal, s:surface0, 74, 59 ] " guifg guibg ctermfg ctermbg
73+
let s:I3 = [ s:text, s:mantle, 145, 16 ] " guifg guibg ctermfg ctermbg
74+
75+
" Visual mode
76+
let s:V1 = [ s:mantle, s:mauve, 59, 209 ] " guifg guibg ctermfg ctermbg
77+
let s:V2 = [ s:mauve, s:surface0, 209, 59 ] " guifg guibg ctermfg ctermbg
78+
let s:V3 = [ s:text, s:mantle, 145, 16 ] " guifg guibg ctermfg ctermbg
79+
80+
" Replace mode
81+
let s:R1 = [ s:mantle, s:red, 59, 203 ] " guifg guibg ctermfg ctermbg
82+
let s:R2 = [ s:red, s:surface0, 203, 59 ] " guifg guibg ctermfg ctermbg
83+
84+
" Command mode
85+
let s:C1 = [ s:base, s:peach, 59, 166 ] " guifg guibg ctermfg ctermbg
86+
let s:C2 = [ s:peach, s:surface0, 166, 59 ] " guifg guibg ctermfg ctermbg
87+
88+
" Warning section
89+
let s:WR = [s:mantle, s:peach, 232, 166 ]
90+
91+
" Error section
92+
let s:ER = [s:mantle, s:red, 232, 166 ]
93+
94+
95+
let g:airline#themes#catppuccin#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
96+
97+
let g:airline#themes#catppuccin#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
98+
99+
let g:airline#themes#catppuccin#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
100+
101+
let s:IA = [ s:N1[1], s:N3[1], s:N1[3], s:N3[3], '' ]
102+
let g:airline#themes#catppuccin#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
103+
104+
let g:airline#themes#catppuccin#palette.normal.airline_warning = s:WR
105+
let g:airline#themes#catppuccin#palette.insert.airline_warning = s:WR
106+
let g:airline#themes#catppuccin#palette.visual.airline_warning = s:WR
107+
108+
let g:airline#themes#catppuccin#palette.normal.airline_warning_to_airline_error = s:WR
109+
let g:airline#themes#catppuccin#palette.insert.airline_warning_to_airline_error = s:WR
110+
let g:airline#themes#catppuccin#palette.visual.airline_warning_to_airline_error = s:WR
111+
112+
let g:airline#themes#catppuccin#palette.normal.airline_error = s:ER
113+
let g:airline#themes#catppuccin#palette.insert.airline_error = s:ER
114+
let g:airline#themes#catppuccin#palette.visual.airline_error = s:ER
115+
116+
" Fork replace mode from insert mode
117+
let g:airline#themes#catppuccin#palette.replace = copy(g:airline#themes#catppuccin#palette.insert)
118+
let g:airline#themes#catppuccin#palette.replace.airline_a = [ s:R1[0], s:R1[1], s:R1[2], s:R1[3], '' ]
119+
let g:airline#themes#catppuccin#palette.replace.airline_b = [ s:R2[0], s:R2[1], s:R2[2], s:R2[3], '' ]
120+
121+
" Terminal mode is same as insert mode
122+
let g:airline#themes#catppuccin#palette.terminal = copy(g:airline#themes#catppuccin#palette.insert)
123+
124+
" Fork command mode from normal mode
125+
let g:airline#themes#catppuccin#palette.commandline = copy(g:airline#themes#catppuccin#palette.normal)
126+
let g:airline#themes#catppuccin#palette.commandline.airline_a = [ s:C1[0], s:C1[1], s:C1[2], s:C1[3], '' ]
127+
let g:airline#themes#catppuccin#palette.commandline.airline_b = [ s:C2[0], s:C2[1], s:C2[2], s:C2[3], '' ]
128+
endfunction
129+
130+
call airline#themes#catppuccin#refresh()
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
if &background == 'dark'
2+
let s:rosewater = "#F5E0DC"
3+
let s:flamingo = "#F2CDCD"
4+
let s:pink = "#F5C2E7"
5+
let s:mauve = "#CBA6F7"
6+
let s:red = "#F38BA8"
7+
let s:maroon = "#EBA0AC"
8+
let s:peach = "#FAB387"
9+
let s:yellow = "#F9E2AF"
10+
let s:green = "#A6E3A1"
11+
let s:teal = "#94E2D5"
12+
let s:sky = "#89DCEB"
13+
let s:sapphire = "#74C7EC"
14+
let s:blue = "#89B4FA"
15+
let s:lavender = "#B4BEFE"
16+
"
17+
let s:text = "#CDD6F4"
18+
let s:subtext1 = "#BAC2DE"
19+
let s:subtext0 = "#A6ADC8"
20+
let s:overlay2 = "#9399B2"
21+
let s:overlay1 = "#7F849C"
22+
let s:overlay0 = "#6C7086"
23+
let s:surface2 = "#585B70"
24+
let s:surface1 = "#45475A"
25+
let s:surface0 = "#313244"
26+
"
27+
let s:base = "#1E1E2E"
28+
let s:mantle = "#181825"
29+
let s:crust = "#11111B"
30+
else
31+
let s:rosewater = "#dc8a78"
32+
let s:flamingo = "#DD7878"
33+
let s:pink = "#ea76cb"
34+
let s:mauve = "#8839EF"
35+
let s:red = "#D20F39"
36+
let s:maroon = "#E64553"
37+
let s:peach = "#FE640B"
38+
let s:yellow = "#df8e1d"
39+
let s:green = "#40A02B"
40+
let s:teal = "#179299"
41+
let s:sky = "#04A5E5"
42+
let s:sapphire = "#209FB5"
43+
let s:blue = "#1e66f5"
44+
let s:lavender = "#7287FD"
45+
"
46+
let s:text = "#4C4F69"
47+
let s:subtext1 = "#5C5F77"
48+
let s:subtext0 = "#6C6F85"
49+
let s:overlay2 = "#7C7F93"
50+
let s:overlay1 = "#8C8FA1"
51+
let s:overlay0 = "#9CA0B0"
52+
let s:surface2 = "#ACB0BE"
53+
let s:surface1 = "#BCC0CC"
54+
let s:surface0 = "#CCD0DA"
55+
"
56+
let s:base = "#EFF1F5"
57+
let s:mantle = "#E6E9EF"
58+
let s:crust = "#DCE0E8"
59+
endif
60+
61+
let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
62+
let s:p.normal.left = [ [ s:mantle, s:blue ], [ s:blue, s:base ] ]
63+
let s:p.normal.middle = [ [ s:blue, s:mantle ] ]
64+
let s:p.normal.right = [ [ s:overlay0, s:base ], [ s:blue, s:surface0 ] ]
65+
let s:p.insert.left = [ [ s:mantle, s:teal ], [ s:blue, s:base ] ]
66+
let s:p.visual.left = [ [ s:mantle, s:mauve ], [ s:blue, s:base ] ]
67+
let s:p.replace.left = [ [ s:mantle, s:red ], [ s:blue, s:base ] ]
68+
69+
let s:p.inactive.left = [ [ s:blue, s:base ], [ s:overlay0, s:base ] ]
70+
let s:p.inactive.middle = [ [ s:surface1, s:base ] ]
71+
let s:p.inactive.right = [ [ s:surface1, s:base ], [ s:overlay0, s:base ] ]
72+
73+
let s:p.tabline.left = [ [ s:overlay0, s:base ], [ s:overlay0, s:base ] ]
74+
let s:p.tabline.tabsel = [ [ s:blue, s:surface1 ], [ s:overlay0, s:base] ]
75+
let s:p.tabline.middle = [ [ s:surface1, s:base ] ]
76+
let s:p.tabline.right = copy(s:p.inactive.right)
77+
let s:p.normal.error = [ [ s:mantle, s:red ] ]
78+
let s:p.normal.warning = [ [ s:mantle, s:yellow ] ]
79+
80+
let g:lightline#colorscheme#catppuccin#palette = lightline#colorscheme#fill(s:p)

0 commit comments

Comments
 (0)