├── .gitignore
├── LICENSE
├── README.md
├── autoload
└── lightline
│ └── colorscheme
│ └── yami.vim
└── colors
└── yami.vim
/.gitignore:
--------------------------------------------------------------------------------
1 | ### OSX template
2 | .DS_Store
3 | .AppleDouble
4 | .LSOverride
5 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Danish Prakash
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 |
vim-yami
2 | Monochromatic dark(闇) theme for Vim
3 |
4 |
5 |
6 |
7 | ## Install
8 | ```VimL
9 | Plug 'danishprakash/vim-yami'
10 | ```
11 |
12 | ## Usage
13 | ```VimL
14 | colorscheme yami
15 | ```
16 |
17 | ## Note
18 | For Yami to work, you Vim installation should support `termguicolors`. Neovim and Vim (> 7.4.1799) should work as expected. However, if you face any issues, feel free to create an issue and/or a pull request.
19 |
20 | [Preto](https://github.com/ewilazarus/preto) was the indirect inspiration behind this theme, a word of thanks to [ewilazarus](https://github.com/ewilazarus).
21 |
22 | ## License
23 | MIT License
24 |
25 | Copyright (c) 2019 [Danish Prakash](https://github.com/danishprakash)
26 |
--------------------------------------------------------------------------------
/autoload/lightline/colorscheme/yami.vim:
--------------------------------------------------------------------------------
1 | " =============================================================================
2 | " Filename: autoload/lightline/colorscheme/yami.vim
3 | " Author: danishprakash
4 | " License: MIT License
5 | " =============================================================================
6 |
7 | let s:white = [ '#d0d0d0' , 252 ]
8 | let s:gray = [ '#23242a' , 242 ]
9 | let s:lightgray = [ '#666666' , 245 ]
10 | let s:yellow = [ '#1c1c24' , 221 ]
11 | let s:red = [ '#23242a' , 161 ]
12 | let s:orange = [ '#ec8f6a' , 202 ]
13 |
14 | let s:p = {
15 | \ 'normal': {},
16 | \ 'inactive': {},
17 | \ 'insert': {},
18 | \ 'replace': {},
19 | \ 'visual': {},
20 | \ 'tabline': {}
21 | \ }
22 |
23 | let s:p.normal.left = [[ s:gray, s:white ], [ s:white, s:gray ]]
24 | let s:p.normal.right = [[ s:white, s:gray ], [ s:white, s:gray ]]
25 | let s:p.insert.left = [[ s:gray, s:white ], [ s:white, s:gray ]]
26 | let s:p.visual.left = [[ s:gray, s:white ], [ s:white, s:gray ]]
27 | let s:p.replace.left = [[ s:gray, s:white ], [ s:white, s:gray ]]
28 |
29 | let s:p.inactive.right = [[ s:lightgray, s:gray ], [ s:gray, s:gray ]]
30 | let s:p.inactive.left = [[ s:lightgray, s:gray ], [ s:gray, s:gray ]]
31 | let s:p.inactive.middle = [[ s:lightgray, s:gray ]]
32 |
33 | let s:p.normal.middle = [[ s:lightgray, s:gray ]]
34 | let s:p.normal.error = [[ s:red, s:gray ]]
35 | let s:p.normal.warning = [[ s:orange, s:gray ]]
36 |
37 | let s:p.tabline.left = [[ s:lightgray, s:gray ]]
38 | let s:p.tabline.tabsel = [[ s:gray, s:yellow ]]
39 | let s:p.tabline.middle = [[ s:yellow, s:gray ]]
40 |
41 |
42 | let g:lightline#colorscheme#yami#palette = lightline#colorscheme#flatten(s:p)
43 |
--------------------------------------------------------------------------------
/colors/yami.vim:
--------------------------------------------------------------------------------
1 | " vim:fdm=marker:foldlevel=0
2 | "
3 | " _ _ __ _ _ __ ___ _
4 | " | | | |/ _` | '_ ` _ \| |
5 | " | |_| | (_| | | | | | | |
6 | " \__, |\__,_|_| |_| |_|_|
7 | " __/ |
8 | " |___/
9 | "
10 | " Monochrome dark(闇) theme for Vim
11 |
12 |
13 | " Setup
14 | set background=dark
15 | highlight clear
16 | if exists("syntax_on")
17 | syntax reset
18 | endif
19 | let g:colors_name = "yami"
20 |
21 |
22 | " Color palette
23 | let s:lime = "#ffb700"
24 | let s:light = "#d4d4d5"
25 | let s:dark = "#000000"
26 | let s:gray0 = "#666666"
27 | let s:gray1 = "#323232"
28 | let s:gray2 = "#23242a"
29 | let s:gray3 = "#2b2b2b"
30 | let s:yellow = "#ffe59e"
31 | let s:blue = "#52de97"
32 | let s:green = "#79dcaa"
33 | let s:red = "#f87070"
34 |
35 |
36 | " Highlight helper function
37 | function! s:HL(item, fgColor, bgColor, style)
38 | let command = 'hi ' . a:item
39 | let command .= ' ' . 'gui' . 'fg=' . a:fgColor
40 | let command .= ' ' . 'gui' . 'bg=' . a:bgColor
41 | let command .= ' ' . 'gui' . '=' . a:style
42 | execute command
43 | endfunction
44 |
45 |
46 | " Primitives
47 | call s:HL('String' , s:lime , 'NONE' , 'NONE' )
48 | call s:HL('Number' , s:light , 'NONE' , 'NONE' )
49 | call s:HL('Boolean' , s:light , 'NONE' , 'NONE' )
50 | call s:HL('Float' , s:light , 'NONE' , 'NONE' )
51 | call s:HL('Constant' , s:light , 'NONE' , 'NONE' )
52 | call s:HL('Character' , s:light , 'NONE' , 'NONE' )
53 | call s:HL('SpecialChar' , s:light , 'NONE' , 'NONE' )
54 |
55 | " Specials
56 | call s:HL('Title' , s:gray0 , 'NONE' , 'NONE' )
57 | call s:HL('Todo' , s:yellow , 'NONE' , 'NONE' )
58 | call s:HL('Comment' , s:gray0 , 'NONE' , 'NONE' )
59 | call s:HL('SpecialComment' , s:gray0 , 'NONE' , 'NONE' )
60 |
61 | " Lines , Columns
62 | call s:HL('LineNr' , s:gray0 , 'NONE' , 'NONE' )
63 | call s:HL('CursorLine' , 'NONE' , s:gray3 , 'NONE' )
64 | call s:HL('CursorLineNr' , s:light , s:gray3, 'NONE' )
65 | call s:HL('SignColumn' , s:gray3 , s:dark , 'NONE' )
66 | call s:HL('ColorColumn' , s:light , s:gray3 , 'NONE' )
67 | call s:HL('CursorColumn' , s:light , s:gray3 , 'NONE' )
68 |
69 | " Visual
70 | call s:HL('Visual' , 'NONE' , s:gray1 , 'NONE' )
71 | call s:HL('VisualNOS' , s:gray3 , s:light , 'NONE' )
72 | call s:HL('Search' , s:yellow , s:gray0 , 'NONE' )
73 | call s:HL('IncSearch' , s:yellow , s:gray0 , 'NONE' )
74 |
75 | " Spelling
76 | call s:HL('SpellBad' , s:red , s:dark , 'NONE' )
77 | call s:HL('SpellCap' , s:red , s:dark , 'NONE' )
78 | call s:HL('SpellLocal' , s:red , s:dark , 'NONE' )
79 | call s:HL('SpellRare' , s:red , s:dark , 'NONE' )
80 |
81 | " Messages
82 | call s:HL('ErrorMsg' , s:red , s:dark , 'NONE' )
83 | call s:HL('WarningMsg' , s:yellow , s:dark , 'NONE' )
84 | call s:HL('ModeMsg' , s:light , s:dark , 'NONE' )
85 | call s:HL('MoreMsg' , s:light , s:dark , 'NONE' )
86 | call s:HL('Error' , s:red , s:dark , 'NONE' )
87 |
88 | " Preprocessor Directives
89 | call s:HL('Include' , s:light , 'NONE', 'NONE' )
90 | call s:HL('Define' , s:light , 'NONE', 'NONE' )
91 | call s:HL('Macro' , s:light , 'NONE', 'NONE' )
92 | call s:HL('PreCondit' , s:light , 'NONE', 'NONE' )
93 | call s:HL('PreProc' , s:light , 'NONE', 'NONE' )
94 |
95 | " Bindings
96 | call s:HL('Identifier' , s:light , 'NONE', 'NONE' )
97 | call s:HL('Function' , s:light , 'NONE', 'NONE' )
98 | call s:HL('Keyword' , s:light , 'NONE', 'NONE' )
99 | call s:HL('Operator' , s:light , 'NONE', 'NONE' )
100 |
101 | " Types
102 | call s:HL('Type' , s:light , 'NONE', 'NONE' )
103 | call s:HL('Typedef' , s:light , 'NONE', 'NONE' )
104 | call s:HL('StorageClass' , s:light , 'NONE', 'NONE' )
105 | call s:HL('Structure' , s:light , 'NONE', 'NONE' )
106 |
107 | " Flow Control
108 | call s:HL('Statement' , s:light , 'NONE', 'NONE' )
109 | call s:HL('Conditional' , s:light , 'NONE', 'NONE' )
110 | call s:HL('Repeat' , s:light , 'NONE', 'NONE' )
111 | call s:HL('Label' , s:light , 'NONE', 'NONE' )
112 | call s:HL('Exception' , s:light , 'NONE', 'NONE' )
113 |
114 | " Misc
115 | call s:HL('Normal' , s:light , s:dark , 'NONE' )
116 | call s:HL('Cursor' , s:dark , s:light , 'NONE' )
117 | call s:HL('Underlined' , s:light , 'NONE' , 'underline' )
118 | call s:HL('SpecialKey' , s:light , 'NONE' , 'NONE' )
119 | call s:HL('NonText' , s:light , 'NONE' , 'NONE' )
120 | call s:HL('Directory' , s:light , 'NONE' , 'NONE' )
121 |
122 | " Fold
123 | call s:HL('FoldColumn' , s:light, s:gray3 , 'NONE' )
124 | call s:HL('Folded' , s:light, s:gray3 , 'NONE' )
125 |
126 | " Parens
127 | call s:HL('MatchParen' , s:dark, s:light , 'NONE' )
128 |
129 | " Popup Menu
130 | call s:HL('Pmenu' , s:light , s:gray1 , 'NONE' )
131 | call s:HL('PmenuSbar' , s:dark , s:gray3 , 'NONE' )
132 | call s:HL('PmenuSel' , s:dark , s:light , 'NONE' )
133 | call s:HL('PmenuThumb' , s:dark , s:light , 'NONE' )
134 |
135 | " Split
136 | call s:HL('VertSplit' , s:gray1, s:dark , 'bold' )
137 |
138 | " Others
139 | call s:HL('Debug' , s:light , 'NONE' , 'NONE' )
140 | call s:HL('Delimiter' , s:light , 'NONE' , 'NONE' )
141 | call s:HL('Question' , s:light , 'NONE' , 'NONE' )
142 | call s:HL('Special' , s:light , 'NONE' , 'NONE' )
143 | call s:HL('StatusLine' , s:light , s:gray2 , 'NONE' )
144 | call s:HL('StatusLineNC' , s:light , s:gray2 , 'NONE' )
145 | call s:HL('Tag' , s:light , 'NONE' , 'NONE' )
146 | call s:HL('WildMenu' , s:dark , s:light , 'NONE' )
147 | call s:HL('TabLine' , s:light , s:gray2 , 'NONE' )
148 |
149 | " Diff
150 | call s:HL('DiffAdd' , s:green , 'NONE' , 'NONE' )
151 | call s:HL('DiffChange' , s:yellow , 'NONE' , 'NONE' )
152 | call s:HL('DiffDelete' , s:red , 'NONE' , 'NONE' )
153 | call s:HL('DiffText' , s:dark , 'NONE' , 'NONE' )
154 |
155 | " GitGutter
156 | call s:HL('GitGutterAdd' , s:green , 'NONE' , 'NONE' )
157 | call s:HL('GitGutterChange' , s:yellow , 'NONE' , 'NONE' )
158 | call s:HL('GitGutterDelete' , s:red , 'NONE' , 'NONE' )
159 | call s:HL('GitGutterChangeDelete' , s:dark , 'NONE' , 'NONE' )
160 |
161 | " Vimscript
162 | call s:HL('vimFunc' , s:light , 'NONE' , 'NONE' )
163 | call s:HL('vimUserFunc' , s:light , 'NONE' , 'NONE' )
164 | call s:HL('vimLineComment' , s:gray0 , 'NONE' , 'NONE' )
165 | call s:HL('vimCommentString' , s:gray0 , 'NONE' , 'NONE' )
166 |
167 | " NERDTree
168 | call s:HL('NERDTreeCWD' , s:gray1 , 'NONE' , 'NONE' )
169 | call s:HL('NERDTreeFile' , s:light , 'NONE' , 'NONE' )
170 | call s:HL('NERDTreeNodeDelimiters' , s:light , 'NONE' , 'NONE' )
171 |
172 |
173 | " FZF
174 | call s:HL('fzf1' , s:light , s:gray2 , 'NONE' )
175 | call s:HL('fzf2' , s:light , s:gray2 , 'NONE' )
176 | call s:HL('fzf3' , s:light , s:gray2 , 'NONE' )
177 |
--------------------------------------------------------------------------------