a duotonic color scheme

Initial commit

patrick brisbin 72f34d18

Changed files
+235
colors
+43
README.md
··· 1 + # vim-colors-off 2 + 3 + *This is very much a work in progress* 4 + 5 + For a number of weeks, I ran vim with `syntax off`. It was quite nice, 6 + with only two annoyances: 7 + 8 + - Bright white on jet black was a bit off-putting. 9 + - There were cases when I did miss the lack of color, vimdiff for 10 + example. 11 + 12 + Therefore, I aimed to find or create a colorscheme to solve these two 13 + issues. 14 + 15 + The result is very much based on the [pencil][] colorscheme, which is 16 + surprising because it's a very colorful colorscheme, but: 17 + 18 + - It uses a very sane approach to defining and setting colors 19 + - It has nice background and foreground colors 20 + - In the areas where I do want color, I like how it colors things 21 + 22 + [pencil]: https://github.com/reedes/vim-colors-pencil 23 + 24 + ![Screenshot][screenshot.png] 25 + 26 + Not super exciting... 27 + 28 + ## Installation 29 + 30 + - Use [Vundle][] 31 + - Add "pbrisbin/vim-colors-off" as a plugin 32 + 33 + [vundle]: https://github.com/gmarik/Vundle.vim 34 + 35 + ## Usage 36 + 37 + ``` 38 + :colorscheme off 39 + ``` 40 + 41 + Supports both `background=light` and `background=dark`. I use dark, so 42 + that will always be the more tested. 43 +
+192
colors/off.vim
··· 1 + " Name: off.vim 2 + " Version: 0.1 3 + " Maintainer: github.com/pbrisbin 4 + " License: The MIT License (MIT) 5 + " 6 + " A colorscheme meant to look like a more pleasant version of syntax off. 7 + " Structure and what little color there is is taken from pencil.vim 8 + " 9 + " https://github.com/reedes/vim-colors-pencil 10 + " 11 + """ 12 + hi clear 13 + 14 + if exists('syntax on') 15 + syntax reset 16 + endif 17 + 18 + let g:colors_name='off' 19 + 20 + let s:black = { "gui": "#212121", "cterm": "0" } 21 + let s:medium_gray = { "gui": "#767676", "cterm": "243" } 22 + let s:white = { "gui": "#F1F1F1", "cterm": "15" } 23 + let s:actual_white = { "gui": "#FFFFFF", "cterm": "231" } 24 + let s:light_black = { "gui": "#424242", "cterm": "8" } 25 + let s:lighter_black = { "gui": "#545454", "cterm": "240" } 26 + let s:subtle_black = { "gui": "#303030", "cterm": "236" } 27 + let s:light_gray = { "gui": "#B2B2B2", "cterm": "249" } 28 + let s:lighter_gray = { "gui": "#C6C6C6", "cterm": "251" } 29 + let s:pink = { "gui": "#fb007a", "cterm": "9" } 30 + let s:dark_red = { "gui": "#C30771", "cterm": "1" } 31 + let s:light_red = { "gui": "#E32791", "cterm": "1" } 32 + let s:orange = { "gui": "#D75F5F", "cterm": "167" } 33 + let s:darker_blue = { "gui": "#005F87", "cterm": "18" } 34 + let s:dark_blue = { "gui": "#008EC4", "cterm": "4" } 35 + let s:blue = { "gui": "#20BBFC", "cterm": "12" } 36 + let s:light_blue = { "gui": "#b6d6fd", "cterm": "153" } 37 + let s:dark_cyan = { "gui": "#20A5BA", "cterm": "6" } 38 + let s:light_cyan = { "gui": "#4FB8CC", "cterm": "14" } 39 + let s:dark_green = { "gui": "#10A778", "cterm": "2" } 40 + let s:light_green = { "gui": "#5FD7A7", "cterm": "10" } 41 + let s:dark_purple = { "gui": "#523C79", "cterm": "5" } 42 + let s:light_purple = { "gui": "#6855DE", "cterm": "13" } 43 + let s:yellow = { "gui": "#F3E430", "cterm": "11" } 44 + let s:dark_yellow = { "gui": "#A89C14", "cterm": "3" } 45 + 46 + if &background == "dark" 47 + let s:bg = s:black 48 + let s:bg_subtle = s:light_black 49 + let s:bg_very_subtle = s:subtle_black 50 + let s:norm = s:lighter_gray 51 + let s:norm_subtle = s:light_gray 52 + let s:purple = s:light_purple 53 + let s:cyan = s:light_cyan 54 + let s:green = s:light_green 55 + let s:red = s:light_red 56 + let s:visual = s:lighter_black 57 + else 58 + let s:bg = s:white 59 + let s:bg_subtle = s:light_gray 60 + let s:bg_very_subtle = s:lighter_gray 61 + let s:norm = s:light_black 62 + let s:norm_subtle = s:lighter_black 63 + let s:purple = s:dark_purple 64 + let s:cyan = s:dark_cyan 65 + let s:green = s:dark_green 66 + let s:red = s:dark_red 67 + let s:visual = s:light_blue 68 + endif 69 + 70 + " https://github.com/noahfrederick/vim-hemisu/ 71 + function! s:h(group, style) 72 + execute "highlight" a:group 73 + \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE") 74 + \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE") 75 + \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE") 76 + \ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE") 77 + \ "ctermfg=" (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE") 78 + \ "ctermbg=" (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE") 79 + \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE") 80 + endfunction 81 + 82 + call s:h("Normal", {"bg": s:bg, "fg": s:norm}) 83 + call s:h("Cursor", {"bg": s:blue, "fg": s:norm }) 84 + call s:h("Comment", {"fg": s:medium_gray, "gui": "italic"}) 85 + 86 + "call s:h("Constant", {"fg": s:cyan}) 87 + hi! link Constant Normal 88 + hi! link String Constant 89 + hi! link Character Constant 90 + hi! link Number Constant 91 + hi! link Boolean Constant 92 + hi! link Float Constant 93 + 94 + "call s:h("Identifier", {"fg": s:dark_blue}) 95 + hi! link Identifier Normal 96 + hi! link Function Identifier 97 + 98 + "call s:h("Statement", {"fg": s:green}) 99 + hi! link Statement Normal 100 + hi! link Conditonal Statement 101 + hi! link Repeat Statement 102 + hi! link Label Statement 103 + hi! link Operator Statement 104 + hi! link Keyword Statement 105 + hi! link Exception Statement 106 + 107 + "call s:h("PreProc", {"fg": s:red}) 108 + hi! link PreProc Normal 109 + hi! link Include PreProc 110 + hi! link Define PreProc 111 + hi! link Macro PreProc 112 + hi! link PreCondit PreProc 113 + 114 + "call s:h("Type", {"fg": s:purple}) 115 + hi! link Type Normal 116 + hi! link StorageClass Type 117 + hi! link Structure Type 118 + hi! link Typedef Type 119 + 120 + "call s:h("Special", {"fg": s:pink}) 121 + hi! link Special Normal 122 + hi! link SpecialChar Special 123 + hi! link Tag Special 124 + hi! link Delimiter Special 125 + hi! link SpecialComment Special 126 + hi! link Debug Special 127 + 128 + call s:h("Underlined", {"fg": s:norm, "gui": "underline", "cterm": "underline"}) 129 + call s:h("Ignore", {"fg": s:bg}) 130 + call s:h("Error", {"fg": s:actual_white, "bg": s:red, "cterm": "bold"}) 131 + call s:h("Todo", {"fg": s:actual_white, "bg": s:pink, "gui": "bold", "cterm": "bold"}) 132 + call s:h("SpecialKey", {"fg": s:light_green}) 133 + call s:h("NonText", {"fg": s:medium_gray}) 134 + call s:h("Directory", {"fg": s:dark_blue}) 135 + call s:h("ErrorMsg", {"fg": s:pink}) 136 + call s:h("IncSearch", {"bg": s:yellow, "fg": s:light_black}) 137 + call s:h("Search", {"bg": s:bg_subtle}) 138 + call s:h("MoreMsg", {"fg": s:medium_gray, "cterm": "bold", "gui": "bold"}) 139 + hi! link ModeMsg MoreMsg 140 + call s:h("LineNr", {"fg": s:bg_subtle}) 141 + call s:h("CursorLineNr", {"fg": s:blue, "bg": s:bg_very_subtle}) 142 + call s:h("Question", {"fg": s:red}) 143 + call s:h("StatusLine", {"bg": s:bg_very_subtle}) 144 + call s:h("StatusLineNC", {"bg": s:bg_very_subtle, "fg": s:medium_gray}) 145 + call s:h("VertSplit", {"bg": s:bg_very_subtle, "fg": s:bg_very_subtle}) 146 + call s:h("Title", {"fg": s:dark_blue}) 147 + call s:h("Visual", {"bg": s:visual}) 148 + call s:h("VisualNOS", {"bg": s:bg_subtle}) 149 + call s:h("WarningMsg", {"fg": s:red}) 150 + call s:h("WildMenu", {"fg": s:bg, "bg": s:norm}) 151 + call s:h("Folded", {"fg": s:medium_gray}) 152 + call s:h("FoldColumn", {"fg": s:bg_subtle}) 153 + call s:h("DiffAdd", {"fg": s:green}) 154 + call s:h("DiffDelete", {"fg": s:red}) 155 + call s:h("DiffChange", {"fg": s:dark_yellow}) 156 + call s:h("DiffText", {"fg": s:dark_blue}) 157 + call s:h("SignColumn", {"fg": s:light_green}) 158 + 159 + if has("gui_running") 160 + call s:h("SpellBad", {"gui": "underline", "sp": s:red}) 161 + call s:h("SpellCap", {"gui": "underline", "sp": s:light_green}) 162 + call s:h("SpellRare", {"gui": "underline", "sp": s:pink}) 163 + call s:h("SpellLocal", {"gui": "underline", "sp": s:dark_green}) 164 + else 165 + call s:h("SpellBad", {"cterm": "underline", "fg": s:red}) 166 + call s:h("SpellCap", {"cterm": "underline", "fg": s:light_green}) 167 + call s:h("SpellRare", {"cterm": "underline", "fg": s:pink}) 168 + call s:h("SpellLocal", {"cterm": "underline", "fg": s:dark_green}) 169 + endif 170 + 171 + call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_subtle}) 172 + call s:h("PmenuSel", {"fg": s:norm, "bg": s:blue}) 173 + call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_subtle}) 174 + call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_subtle}) 175 + call s:h("TabLine", {"fg": s:norm, "bg": s:bg_very_subtle}) 176 + call s:h("TabLineSel", {"fg": s:blue, "bg": s:bg_subtle, "gui": "bold", "cterm": "bold"}) 177 + call s:h("TabLineFill", {"fg": s:norm, "bg": s:bg_very_subtle}) 178 + call s:h("CursorColumn", {"bg": s:bg_very_subtle}) 179 + call s:h("CursorLine", {"bg": s:bg_very_subtle}) 180 + call s:h("ColorColumn", {"bg": s:bg_subtle}) 181 + 182 + call s:h("MatchParen", {"bg": s:bg_subtle, "fg": s:norm}) 183 + call s:h("qfLineNr", {"fg": s:medium_gray}) 184 + 185 + " Signify, git-gutter 186 + hi link SignifySignAdd LineNr 187 + hi link SignifySignDelete LineNr 188 + hi link SignifySignChange LineNr 189 + hi link GitGutterAdd LineNr 190 + hi link GitGutterDelete LineNr 191 + hi link GitGutterChange LineNr 192 + hi link GitGutterChangeDelete LineNr
screenshot.png

This is a binary file and will not be displayed.