├── .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 | --------------------------------------------------------------------------------