diff options
-rw-r--r-- | README.md | 43 | ||||
-rw-r--r-- | colors/off.vim | 192 | ||||
-rw-r--r-- | screenshot.png | bin | 0 -> 632005 bytes |
3 files changed, 235 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..9f68e5c --- /dev/null +++ b/README.md | |||
@@ -0,0 +1,43 @@ | |||
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 | |||
diff --git a/colors/off.vim b/colors/off.vim new file mode 100644 index 0000000..97f7a77 --- /dev/null +++ b/colors/off.vim | |||
@@ -0,0 +1,192 @@ | |||
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 | ||
diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000..d8675de --- /dev/null +++ b/screenshot.png | |||
Binary files differ | |||