aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md43
-rw-r--r--colors/off.vim192
-rw-r--r--screenshot.pngbin0 -> 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
5For a number of weeks, I ran vim with `syntax off`. It was quite nice,
6with 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
12Therefore, I aimed to find or create a colorscheme to solve these two
13issues.
14
15The result is very much based on the [pencil][] colorscheme, which is
16surprising 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
26Not 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
41Supports both `background=light` and `background=dark`. I use dark, so
42that 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"""
12hi clear
13
14if exists('syntax on')
15 syntax reset
16endif
17
18let g:colors_name='off'
19
20let s:black = { "gui": "#212121", "cterm": "0" }
21let s:medium_gray = { "gui": "#767676", "cterm": "243" }
22let s:white = { "gui": "#F1F1F1", "cterm": "15" }
23let s:actual_white = { "gui": "#FFFFFF", "cterm": "231" }
24let s:light_black = { "gui": "#424242", "cterm": "8" }
25let s:lighter_black = { "gui": "#545454", "cterm": "240" }
26let s:subtle_black = { "gui": "#303030", "cterm": "236" }
27let s:light_gray = { "gui": "#B2B2B2", "cterm": "249" }
28let s:lighter_gray = { "gui": "#C6C6C6", "cterm": "251" }
29let s:pink = { "gui": "#fb007a", "cterm": "9" }
30let s:dark_red = { "gui": "#C30771", "cterm": "1" }
31let s:light_red = { "gui": "#E32791", "cterm": "1" }
32let s:orange = { "gui": "#D75F5F", "cterm": "167" }
33let s:darker_blue = { "gui": "#005F87", "cterm": "18" }
34let s:dark_blue = { "gui": "#008EC4", "cterm": "4" }
35let s:blue = { "gui": "#20BBFC", "cterm": "12" }
36let s:light_blue = { "gui": "#b6d6fd", "cterm": "153" }
37let s:dark_cyan = { "gui": "#20A5BA", "cterm": "6" }
38let s:light_cyan = { "gui": "#4FB8CC", "cterm": "14" }
39let s:dark_green = { "gui": "#10A778", "cterm": "2" }
40let s:light_green = { "gui": "#5FD7A7", "cterm": "10" }
41let s:dark_purple = { "gui": "#523C79", "cterm": "5" }
42let s:light_purple = { "gui": "#6855DE", "cterm": "13" }
43let s:yellow = { "gui": "#F3E430", "cterm": "11" }
44let s:dark_yellow = { "gui": "#A89C14", "cterm": "3" }
45
46if &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
57else
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
68endif
69
70" https://github.com/noahfrederick/vim-hemisu/
71function! 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")
80endfunction
81
82call s:h("Normal", {"bg": s:bg, "fg": s:norm})
83call s:h("Cursor", {"bg": s:blue, "fg": s:norm })
84call s:h("Comment", {"fg": s:medium_gray, "gui": "italic"})
85
86"call s:h("Constant", {"fg": s:cyan})
87hi! link Constant Normal
88hi! link String Constant
89hi! link Character Constant
90hi! link Number Constant
91hi! link Boolean Constant
92hi! link Float Constant
93
94"call s:h("Identifier", {"fg": s:dark_blue})
95hi! link Identifier Normal
96hi! link Function Identifier
97
98"call s:h("Statement", {"fg": s:green})
99hi! link Statement Normal
100hi! link Conditonal Statement
101hi! link Repeat Statement
102hi! link Label Statement
103hi! link Operator Statement
104hi! link Keyword Statement
105hi! link Exception Statement
106
107"call s:h("PreProc", {"fg": s:red})
108hi! link PreProc Normal
109hi! link Include PreProc
110hi! link Define PreProc
111hi! link Macro PreProc
112hi! link PreCondit PreProc
113
114"call s:h("Type", {"fg": s:purple})
115hi! link Type Normal
116hi! link StorageClass Type
117hi! link Structure Type
118hi! link Typedef Type
119
120"call s:h("Special", {"fg": s:pink})
121hi! link Special Normal
122hi! link SpecialChar Special
123hi! link Tag Special
124hi! link Delimiter Special
125hi! link SpecialComment Special
126hi! link Debug Special
127
128call s:h("Underlined", {"fg": s:norm, "gui": "underline", "cterm": "underline"})
129call s:h("Ignore", {"fg": s:bg})
130call s:h("Error", {"fg": s:actual_white, "bg": s:red, "cterm": "bold"})
131call s:h("Todo", {"fg": s:actual_white, "bg": s:pink, "gui": "bold", "cterm": "bold"})
132call s:h("SpecialKey", {"fg": s:light_green})
133call s:h("NonText", {"fg": s:medium_gray})
134call s:h("Directory", {"fg": s:dark_blue})
135call s:h("ErrorMsg", {"fg": s:pink})
136call s:h("IncSearch", {"bg": s:yellow, "fg": s:light_black})
137call s:h("Search", {"bg": s:bg_subtle})
138call s:h("MoreMsg", {"fg": s:medium_gray, "cterm": "bold", "gui": "bold"})
139hi! link ModeMsg MoreMsg
140call s:h("LineNr", {"fg": s:bg_subtle})
141call s:h("CursorLineNr", {"fg": s:blue, "bg": s:bg_very_subtle})
142call s:h("Question", {"fg": s:red})
143call s:h("StatusLine", {"bg": s:bg_very_subtle})
144call s:h("StatusLineNC", {"bg": s:bg_very_subtle, "fg": s:medium_gray})
145call s:h("VertSplit", {"bg": s:bg_very_subtle, "fg": s:bg_very_subtle})
146call s:h("Title", {"fg": s:dark_blue})
147call s:h("Visual", {"bg": s:visual})
148call s:h("VisualNOS", {"bg": s:bg_subtle})
149call s:h("WarningMsg", {"fg": s:red})
150call s:h("WildMenu", {"fg": s:bg, "bg": s:norm})
151call s:h("Folded", {"fg": s:medium_gray})
152call s:h("FoldColumn", {"fg": s:bg_subtle})
153call s:h("DiffAdd", {"fg": s:green})
154call s:h("DiffDelete", {"fg": s:red})
155call s:h("DiffChange", {"fg": s:dark_yellow})
156call s:h("DiffText", {"fg": s:dark_blue})
157call s:h("SignColumn", {"fg": s:light_green})
158
159if 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})
164else
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})
169endif
170
171call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_subtle})
172call s:h("PmenuSel", {"fg": s:norm, "bg": s:blue})
173call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_subtle})
174call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_subtle})
175call s:h("TabLine", {"fg": s:norm, "bg": s:bg_very_subtle})
176call s:h("TabLineSel", {"fg": s:blue, "bg": s:bg_subtle, "gui": "bold", "cterm": "bold"})
177call s:h("TabLineFill", {"fg": s:norm, "bg": s:bg_very_subtle})
178call s:h("CursorColumn", {"bg": s:bg_very_subtle})
179call s:h("CursorLine", {"bg": s:bg_very_subtle})
180call s:h("ColorColumn", {"bg": s:bg_subtle})
181
182call s:h("MatchParen", {"bg": s:bg_subtle, "fg": s:norm})
183call s:h("qfLineNr", {"fg": s:medium_gray})
184
185" Signify, git-gutter
186hi link SignifySignAdd LineNr
187hi link SignifySignDelete LineNr
188hi link SignifySignChange LineNr
189hi link GitGutterAdd LineNr
190hi link GitGutterDelete LineNr
191hi link GitGutterChange LineNr
192hi 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