Skip to content

Commit 0b263be

Browse files
committed
Add tokyonight color scheme
1 parent 44c987d commit 0b263be

File tree

4 files changed

+2014
-12
lines changed

4 files changed

+2014
-12
lines changed
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
" =============================================================================
2+
" URL: https://github.com/ghifarit53/tokyonight-vim/
3+
" Filename: autoload/lightline/colorscheme/tokyonight.vim
4+
" Author: Ghifari Taqiuddin
5+
6+
" License: MIT License
7+
" =============================================================================
8+
9+
"{{{Palette
10+
let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
11+
12+
let s:style = get(g:, 'tokyonight_style', 'night')
13+
14+
if s:style ==# 'night'
15+
let s:foreground = [ '#a9b1d6', 250 ]
16+
let s:background = [ '#1a1b26', 235 ]
17+
let s:background_alt = [ '#232433', 236 ]
18+
let s:background_grey = [ '#444B6A', 238 ]
19+
let s:red = [ '#F7768E', 203 ]
20+
let s:yellow = [ '#E0AF68', 179 ]
21+
let s:green = [ '#9ECE6A', 107 ]
22+
let s:blue = [ '#7AA2F7', 110 ]
23+
let s:purple = [ '#ad8ee6', 176 ]
24+
elseif s:style ==# 'storm'
25+
let s:foreground = [ '#a9b1d6', 250 ]
26+
let s:background = [ '#24283b', 235 ]
27+
let s:background_alt = [ '#2c3047', 236 ]
28+
let s:background_grey = [ '#444B6A', 238 ]
29+
let s:red = [ '#F7768E', 203 ]
30+
let s:yellow = [ '#E0AF68', 179 ]
31+
let s:green = [ '#9ECE6A', 107 ]
32+
let s:blue = [ '#7AA2F7', 110 ]
33+
let s:purple = [ '#ad8ee6', 176 ]
34+
endif
35+
"}}}
36+
37+
"{{{Definition
38+
let s:tab_l_fg = s:foreground
39+
let s:tab_l_bg = s:background_grey
40+
let s:tab_r_fg = s:red
41+
let s:tab_r_bg = s:background_grey
42+
let s:tab_sel_fg = s:background
43+
let s:tab_sel_bg = s:red
44+
let s:tab_middle_fg = s:foreground
45+
let s:tab_middle_bg = s:background_alt
46+
47+
let s:warningfg = s:background
48+
let s:warningbg = s:yellow
49+
let s:errorfg = s:background
50+
let s:errorbg = s:red
51+
52+
let s:normal_l1_fg = s:background
53+
let s:normal_l1_bg = s:blue
54+
let s:normal_l2_fg = s:foreground
55+
let s:normal_l2_bg = s:background_grey
56+
let s:normal_r1_fg = s:background
57+
let s:normal_r1_bg = s:blue
58+
let s:normal_r2_fg = s:foreground
59+
let s:normal_r2_bg = s:background_grey
60+
let s:normal_middle_fg = s:foreground
61+
let s:normal_middle_bg = s:background_alt
62+
63+
let s:insert_l1_fg = s:background
64+
let s:insert_l1_bg = s:green
65+
let s:insert_l2_fg = s:foreground
66+
let s:insert_l2_bg = s:background_grey
67+
let s:insert_r1_fg = s:background
68+
let s:insert_r1_bg = s:green
69+
let s:insert_r2_fg = s:foreground
70+
let s:insert_r2_bg = s:background_grey
71+
let s:insert_middle_fg = s:foreground
72+
let s:insert_middle_bg = s:background_alt
73+
74+
let s:visual_l1_fg = s:background
75+
let s:visual_l1_bg = s:purple
76+
let s:visual_l2_fg = s:foreground
77+
let s:visual_l2_bg = s:background_grey
78+
let s:visual_r1_fg = s:background
79+
let s:visual_r1_bg = s:purple
80+
let s:visual_r2_fg = s:foreground
81+
let s:visual_r2_bg = s:background_grey
82+
let s:visual_middle_fg = s:foreground
83+
let s:visual_middle_bg = s:background_alt
84+
85+
let s:replace_l1_fg = s:background
86+
let s:replace_l1_bg = s:yellow
87+
let s:replace_l2_fg = s:foreground
88+
let s:replace_l2_bg = s:background_grey
89+
let s:replace_r1_fg = s:background
90+
let s:replace_r1_bg = s:yellow
91+
let s:replace_r2_fg = s:foreground
92+
let s:replace_r2_bg = s:background_grey
93+
let s:replace_middle_fg = s:foreground
94+
let s:replace_middle_bg = s:background_alt
95+
96+
let s:inactive_l1_fg = s:foreground
97+
let s:inactive_l1_bg = s:background_grey
98+
let s:inactive_l2_fg = s:foreground
99+
let s:inactive_l2_bg = s:background_grey
100+
let s:inactive_r1_fg = s:foreground
101+
let s:inactive_r1_bg = s:background_grey
102+
let s:inactive_r2_fg = s:foreground
103+
let s:inactive_r2_bg = s:background_grey
104+
let s:inactive_middle_fg = s:foreground
105+
let s:inactive_middle_bg = s:background_alt
106+
107+
"}}}
108+
109+
"{{{Implementation
110+
let s:p.normal.middle = [ [ s:normal_middle_fg, s:normal_middle_bg ] ]
111+
let s:p.normal.left = [ [ s:normal_l1_fg, s:normal_l1_bg ], [ s:normal_l2_fg, s:normal_l2_bg ] ]
112+
let s:p.normal.right = [ [ s:normal_r1_fg, s:normal_r1_bg ], [ s:normal_r2_fg, s:normal_r2_bg ] ]
113+
114+
let s:p.insert.middle = [ [ s:insert_middle_fg, s:insert_middle_bg ] ]
115+
let s:p.insert.left = [ [ s:insert_l1_fg, s:insert_l1_bg ], [ s:insert_l2_fg, s:insert_l2_bg ] ]
116+
let s:p.insert.right = [ [ s:insert_r1_fg, s:insert_r1_bg ], [ s:insert_r2_fg, s:insert_r2_bg ] ]
117+
118+
let s:p.visual.middle = [ [ s:visual_middle_fg, s:visual_middle_bg ] ]
119+
let s:p.visual.left = [ [ s:visual_l1_fg, s:visual_l1_bg ], [ s:visual_l2_fg, s:visual_l2_bg ] ]
120+
let s:p.visual.right = [ [ s:visual_r1_fg, s:visual_r1_bg ], [ s:visual_r2_fg, s:visual_r2_bg ] ]
121+
122+
let s:p.replace.middle = [ [ s:replace_middle_fg, s:replace_middle_bg ] ]
123+
let s:p.replace.left = [ [ s:replace_l1_fg, s:replace_l1_bg ], [ s:replace_l2_fg, s:replace_l2_bg ] ]
124+
let s:p.replace.right = [ [ s:replace_r1_fg, s:replace_r1_bg ], [ s:replace_r2_fg, s:replace_r2_bg ] ]
125+
126+
let s:p.inactive.left = [ [ s:inactive_l1_fg, s:inactive_l1_bg ], [ s:inactive_l2_fg, s:inactive_l2_bg ] ]
127+
let s:p.inactive.middle = [ [ s:inactive_middle_fg, s:inactive_middle_bg ] ]
128+
let s:p.inactive.right = [ [ s:inactive_r1_fg, s:inactive_r1_bg ], [ s:inactive_r2_fg, s:inactive_r2_bg ] ]
129+
130+
let s:p.tabline.left = [ [ s:tab_l_fg, s:tab_l_bg] ]
131+
let s:p.tabline.right = [ [ s:tab_r_fg, s:tab_r_bg] ]
132+
let s:p.tabline.tabsel = [ [ s:tab_sel_fg, s:tab_sel_bg ] ]
133+
let s:p.tabline.middle = [ [ s:tab_middle_fg, s:tab_middle_bg] ]
134+
135+
let s:p.normal.error = [ [ s:errorfg, s:errorbg ] ]
136+
let s:p.normal.warning = [ [ s:warningfg, s:warningbg ] ]
137+
138+
"}}}
139+
140+
let g:lightline#colorscheme#tokyonight#palette = lightline#colorscheme#flatten(s:p)

0 commit comments

Comments
 (0)