diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | README.md | 42 | ||||
-rw-r--r-- | autoload/README.md | 3 | ||||
-rw-r--r-- | autoload/spectral.py | 492 | ||||
-rw-r--r-- | autoload/spectral.vim | 250 | ||||
-rw-r--r-- | colors/cooldown.vim | 159 | ||||
-rw-r--r-- | colors/meltdown.vim | 193 | ||||
-rw-r--r-- | colors/poison.vim | 145 | ||||
-rw-r--r-- | colors/royal.vim | 104 | ||||
-rw-r--r-- | colors/spectral.vim | 35 |
10 files changed, 1424 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a0b127d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*cache diff --git a/README.md b/README.md new file mode 100644 index 0000000..a7e071a --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +#Spectral.vim + +A better way to create colorschemes in Neovim. + +## Description + +Spectral is an easy way to create beautiful Vim colorschemes. The user only +needs to focus on building a colorscheme using true colors and Spectral will do +the rest! + +Spectral will + + * Provide powerful utilities to operate on colors to mix and match them + relative to each other. + * Generate the cterm colors using the Python colormath library so your + colorscheme will look just as great on a 256-color terminal! + * Generate the highlights for the complimentary background setting by flipping + the brightness using the Python colormath library, so your colorscheme will + look great as both a light and dark colorscheme! (Manual overrides totally + possible, too!) + * Compile the colorscheme to make it blazing fast on reloads. (It is slow on + first time loads, I'll grant) + +## Dependencies + +This requires the colormath Python library. Install it with Pip! + + $ pip install colormath + +## Included Colorschemes + +A list of colorschemes included in Spectral: + + * meltdown + * cooldown + * poison + * royal + +## Caveats + +Spectral is only really tested using Neovim. There's no reason it shouldn't work +on Vim, but I use Neovim. diff --git a/autoload/README.md b/autoload/README.md new file mode 100644 index 0000000..9f6104e --- /dev/null +++ b/autoload/README.md @@ -0,0 +1,3 @@ +# Vivid.vim + + diff --git a/autoload/spectral.py b/autoload/spectral.py new file mode 100644 index 0000000..f7903aa --- /dev/null +++ b/autoload/spectral.py @@ -0,0 +1,492 @@ +import os + +import vim +import colormath +import colormath.color_diff +from colormath.color_objects import LabColor, sRGBColor +from colormath.color_conversions import convert_color +import sys +import math + +xterm_tbl = { + "000000": "016", + "00005f": "017", + "000087": "018", + "0000af": "019", + "0000d7": "020", + "0000ff": "021", + "005f00": "022", + "005f5f": "023", + "005f87": "024", + "005faf": "025", + "005fd7": "026", + "005fff": "027", + "008700": "028", + "00875f": "029", + "008787": "030", + "0087af": "031", + "0087d7": "032", + "0087ff": "033", + "00af00": "034", + "00af5f": "035", + "00af87": "036", + "00afaf": "037", + "00afd7": "038", + "00afff": "039", + "00d700": "040", + "00d75f": "041", + "00d787": "042", + "00d7af": "043", + "00d7d7": "044", + "00d7ff": "045", + "00ff00": "046", + "00ff5f": "047", + "00ff87": "048", + "00ffaf": "049", + "00ffd7": "050", + "00ffff": "051", + "5fff00": "082", + "5fff5f": "083", + "5fff87": "084", + "5fffaf": "085", + "5fffd7": "086", + "5fffff": "087", + "5fd700": "076", + "5fd75f": "077", + "5fd787": "078", + "5fd7af": "079", + "5fd7d7": "080", + "5fd7ff": "081", + "5faf00": "070", + "5faf5f": "071", + "5faf87": "072", + "5fafaf": "073", + "5fafd7": "074", + "5fafff": "075", + "5f8700": "064", + "5f875f": "065", + "5f8787": "066", + "5f87af": "067", + "5f87d7": "068", + "5f87ff": "069", + "5f5f00": "058", + "5f5f5f": "059", + "5f5f87": "060", + "5f5faf": "061", + "5f5fd7": "062", + "5f5fff": "063", + "5f0000": "052", + "5f005f": "053", + "5f0087": "054", + "5f00af": "055", + "5f00d7": "056", + "5f00ff": "057", + "8700ff": "093", + "8700d7": "092", + "8700af": "091", + "870087": "090", + "87005f": "089", + "870000": "088", + "875fff": "099", + "875fd7": "098", + "875faf": "097", + "875f87": "096", + "875f5f": "095", + "875f00": "094", + "8787ff": "105", + "8787d7": "104", + "8787af": "103", + "878787": "102", + "87875f": "101", + "878700": "100", + "87afff": "111", + "87afd7": "110", + "87afaf": "109", + "87af87": "108", + "87af5f": "107", + "87af00": "106", + "87d7ff": "117", + "87d7d7": "116", + "87d7af": "115", + "87d787": "114", + "87d75f": "113", + "87d700": "112", + "87ffff": "123", + "87ffd7": "122", + "87ffaf": "121", + "87ff87": "120", + "87ff5f": "119", + "87ff00": "118", + "afffff": "159", + "afffd7": "158", + "afffaf": "157", + "afff87": "156", + "afff5f": "155", + "afff00": "154", + "afd7ff": "153", + "afd7d7": "152", + "afd7af": "151", + "afd787": "150", + "afd75f": "149", + "afd700": "148", + "afafff": "147", + "afafd7": "146", + "afafaf": "145", + "afaf87": "144", + "afaf5f": "143", + "afaf00": "142", + "af87ff": "141", + "af87d7": "140", + "af87af": "139", + "af8787": "138", + "af875f": "137", + "af8700": "136", + "af5fff": "135", + "af5fd7": "134", + "af5faf": "133", + "af5f87": "132", + "af5f5f": "131", + "af5f00": "130", + "af00ff": "129", + "af00d7": "128", + "af00af": "127", + "af0087": "126", + "af005f": "125", + "af0000": "124", + "d70000": "160", + "d7005f": "161", + "d70087": "162", + "d700af": "163", + "d700d7": "164", + "d700ff": "165", + "d75f00": "166", + "d75f5f": "167", + "d75f87": "168", + "d75faf": "169", + "d75fd7": "170", + "d75fff": "171", + "d78700": "172", + "d7875f": "173", + "d78787": "174", + "d787af": "175", + "d787d7": "176", + "d787ff": "177", + "dfaf00": "178", + "dfaf5f": "179", + "dfaf87": "180", + "dfafaf": "181", + "dfafdf": "182", + "dfafff": "183", + "dfdf00": "184", + "dfdf5f": "185", + "dfdf87": "186", + "dfdfaf": "187", + "dfdfdf": "188", + "dfdfff": "189", + "dfff00": "190", + "dfff5f": "191", + "dfff87": "192", + "dfffaf": "193", + "dfffdf": "194", + "dfffff": "195", + "ffff00": "226", + "ffff5f": "227", + "ffff87": "228", + "ffffaf": "229", + "ffffdf": "230", + "ffffff": "231", + "ffdf00": "220", + "ffdf5f": "221", + "ffdf87": "222", + "ffdfaf": "223", + "ffdfdf": "224", + "ffdfff": "225", + "ffaf00": "214", + "ffaf5f": "215", + "ffaf87": "216", + "ffafaf": "217", + "ffafdf": "218", + "ffafff": "219", + "ff8700": "208", + "ff875f": "209", + "ff8787": "210", + "ff87af": "211", + "ff87df": "212", + "ff87ff": "213", + "ff5f00": "202", + "ff5f5f": "203", + "ff5f87": "204", + "ff5faf": "205", + "ff5fdf": "206", + "ff5fff": "207", + "ff0000": "196", + "ff005f": "197", + "ff0087": "198", + "ff00af": "199", + "ff00df": "200", + "ff00ff": "201", + "080808": "232", + "121212": "233", + "1c1c1c": "234", + "262626": "235", + "303030": "236", + "3a3a3a": "237", + "444444": "238", + "4e4e4e": "239", + "585858": "240", + "626262": "241", + "6c6c6c": "242", + "767676": "243", + "eeeeee": "255", + "e4e4e4": "254", + "dadada": "253", + "d0d0d0": "252", + "c6c6c6": "251", + "bcbcbc": "250", + "b2b2b2": "249", + "a8a8a8": "248", + "9e9e9e": "247", + "949494": "246", + "8a8a8a": "245", + "808080": "244", + "000000": "000", + "800000": "001", + "008000": "002", + "808000": "003", + "000080": "004", + "800080": "005", + "008080": "006", + "c0c0c0": "007", + "808080": "008", + "ff0000": "009", + "00ff00": "010", + "ffff00": "011", + "0000ff": "012", + "ff00ff": "013", + "00ffff": "014", + "ffffff": "015" +} + +xterm_tbl_lab = [(convert_color(sRGBColor.new_from_rgb_hex("#" + k), + LabColor), v) for (k, v) in xterm_tbl.items()] + + +def colors_name_from_file(file): + basename = os.path.basename(file) + if basename.endswith(".vim"): + return basename[:-4] + return basename + + +flip_algs = { + 'sqrt': math.sqrt, + 'cbrt': lambda x: math.pow(x, 1/3.), + '2/3': lambda x: math.pow(x, 2/3.), + 'linear': lambda x: x, + 'log': math.log +} + +class Vivid: + + def __init__(self, outfile): + self.outfilename = outfile + self.outfile = open(outfile, "w") + self.params = vim.eval("g:spectral_parameters") + self.default_bg = self.params.get("default_bg", "dark") + self.filter_fg = self.params.get("filter_fg", + [[1, 0, 0], [0, 1, 0], [0, 0, 1]]) + self.filter_bg = self.params.get("filter_bg", + [[1, 0, 0], [0, 1, 0], [0, 0, 1]]) + self.flip_algorithm = self.params.get("flip_algorithm", "sqrt") + + self.dark_highlights = [] + self.light_highlights = [] + self.after_highlights = [] + + def writeln(self, str): + self.outfile.write(str + "\n") + + def start(self): + self.writeln(""" +hi clear +if exists('syntax_on') + syntax reset +endif +" Default BG = """ + self.default_bg + """ +" Filter FG = """ + str(self.filter_fg) + """ +" Filter BG = """ + str(self.filter_bg) + """ +let g:colors_name="%s" +""" % (colors_name_from_file(self.outfilename))) + + def highlight_dark(self, name, fg, bg, sp, extra): + self._highlight_dark(name, apply_filter(self.filter_fg, fg), + apply_filter(self.filter_bg, bg), sp, extra) + + def highlight_light(self, name, fg, bg, sp, extra): + self._highlight_light(name, apply_filter(self.filter_fg, fg), + apply_filter(self.filter_bg, bg), sp, extra) + + def _highlight_dark(self, name, fg, bg, sp, extra): + self.dark_highlights.append( + "highlight! %s guifg=%s guibg=%s guisp=%s ctermfg=%s ctermbg=%s %s %s" % + (name, fg, bg, sp, self.project(fg), self.project(bg), + to_gui(",".join(extra)), to_cterm(",".join(extra)))) + + def _highlight_light(self, name, fg, bg, sp, extra): + self.light_highlights.append( + "highlight! %s guifg=%s guibg=%s guisp=%s ctermfg=%s ctermbg=%s %s %s" % + (name, fg, bg, sp, self.project(fg), self.project(bg), + to_gui(",".join(extra)), to_cterm(",".join(extra)))) + + def highlight_after(self, name, fg, bg, sp, extra): + self.after_highlights.append( + "highlight! %s guifg=%s guibg=%s guisp=%s ctermfg=%s ctermbg=%s %s %s" % + (name, fg, bg, sp, self.project(fg), self.project(bg), + to_gui(",".join(extra)), to_cterm(",".join(extra)))) + + def highlight(self, name, fg, bg, sp, extra): + if self.default_bg == "light": + self.highlight_light(name, fg, bg, sp, extra) + self.highlight_dark( + name, + self.flip_brightness(fg), + self.flip_brightness(bg), + self.flip_brightness(sp), + extra) + else: + self.highlight_dark(name, fg, bg, sp, extra) + self.highlight_light( + name, + self.flip_brightness(fg), + self.flip_brightness(bg), + self.flip_brightness(sp), + extra) + + def project(self, color_hex): + if color_hex == "None": + return "None" + + lab_color = convert_color(sRGBColor.new_from_rgb_hex(color_hex), LabColor) + + min_value = "0" + min_number = 100000000 + + for (k, v) in xterm_tbl_lab: + number = colormath.color_diff.delta_e_cie2000(k, lab_color) + if number < min_number: + min_number = number + min_value = v + + return min_value + + def finish(self): + self.writeln("if &bg == 'dark'") + for l in self.dark_highlights: + self.writeln(l) + self.writeln("else") + for l in self.light_highlights: + self.writeln(l) + self.writeln("endif") + for l in self.after_highlights: + self.writeln(l) + + self.outfile.flush() + self.outfile.close() + + def flip_brightness(self, color_hex): + if color_hex == "None": + return color_hex + + color = sRGBColor.new_from_rgb_hex(color_hex) + color_lab = convert_color(color, LabColor) + (l, a, b) = color_lab.get_value_tuple() + + lf = l / 100.0 + lf = 1 - lf + + lf = flip_algs[self.flip_algorithm](lf) + + new_lab = LabColor(lf * 100, a, b) + + return get_rgb_hex(convert_color(new_lab, sRGBColor)) + +def spectral_flip_brightness(color_hex): + c = spectral_ctx.flip_brightness(color_hex) + vim.command('let g:return="%s"' % c) + +def spectral_highlight(name, fg, bg): + spectral_ctx.highlight(name, fg, bg) + + +def spectral_start(outfile): + global spectral_ctx + spectral_ctx = Vivid(outfile) + spectral_ctx.start() + + +def lighter(color, amt): + if isinstance(color, str): + color = sRGBColor.new_from_rgb_hex(color) + + color_lab = convert_color(color, LabColor) + (l, a, b) = color_lab.get_value_tuple() + new_lab = LabColor(l * amt, a, b) + + return convert_color(new_lab, sRGBColor) + + +def spectral_lighter(color, amt): + c = lighter(color, amt) + vim.command('let g:return="#%02x%02x%02x"' % + (int(c.clamped_rgb_r * 255), int( + c.clamped_rgb_g * 255), int(c.clamped_rgb_b * 255))) + + +def get_rgb_hex(c): + # why colormath no clip values?! + (r, g, b) = c.get_upscaled_value_tuple() + return "#%02x%02x%02x" % (min(r, 255), min(g, 255), min(b, 255)) + + +def to_gui(s): + if s: + return "gui=" + s + else: + return "" + + +def to_cterm(s): + if s: + return "cterm=" + s + else: + return "" + + +def spectral_finish(): + spectral_ctx.finish() + + +def apply_filter(filter, color_hex): + if color_hex == "None": + return "None" + + r = int(color_hex[1:3], 16) / 255. + g = int(color_hex[3:5], 16) / 255. + b = int(color_hex[5:7], 16) / 255. + + rn = ( + float(filter[0][0]) * r + float(filter[0][1]) * g + + float(filter[0][2]) * b) + + gn = ( + float(filter[1][0]) * r + float(filter[1][1]) * g + + float(filter[1][2]) * b) + + bn = ( + float(filter[2][0]) * r + float(filter[2][1]) * g + + float(filter[2][2]) * b) + + def clip(n): + return int(max(min(n, 255), 0)) + + return "#%02x%02x%02x" % (clip(rn * 255), clip(gn * 255), clip(bn * 255)) diff --git a/autoload/spectral.vim b/autoload/spectral.vim new file mode 100644 index 0000000..0284d19 --- /dev/null +++ b/autoload/spectral.vim @@ -0,0 +1,250 @@ +function! s:dirname(arg) abort + return substitute(a:arg, '/[^/]*$', '', '') +endfunction + +function! s:basename(arg) abort + return substitute(a:arg, '.\{-}/\([^/]*\)$', '\1', '') +endfunction + +let s:cache_folder = s:dirname(expand('<sfile>')) . '/cache/' +let s:this_file = expand('<sfile>') +let s:this_folder = s:dirname(s:this_file) + +let s:source = [] +let s:cache_file = '' +let s:loaded_python = 0 +let s:use_cache = 0 + +function! spectral#brighter(color, amount) + let saved = 0 + if exists('g:return') + let old_return = g:return + let saved = 1 + endif + + call s:loadPythonScript() + exec printf('python3 spectral_lighter("%s", %s)', a:color, a:amount) + + let ret = g:return + + if saved + let g:return = old_return + else + unlet g:return + endif + + return ret +endfunction + +function! spectral#desaturate(color, amount) + let matrix = [ spectral#normalize([1, a:amount, a:amount], 1), + \ spectral#normalize([a:amount, 1, a:amount], 1), + \ spectral#normalize([a:amount, a:amount, 1], 1) ] + + let [r, g, b] = spectral#parseColor(a:color) + + let nr = r * matrix[0][0] + g * matrix[0][1] + b * matrix[0][2] + let ng = r * matrix[1][0] + g * matrix[1][1] + b * matrix[1][2] + let nb = r * matrix[2][0] + g * matrix[2][1] + b * matrix[2][2] + + return spectral#toColor(nr, ng, nb) +endfunction + + +function! spectral#parseColor(color) abort + if type(a:color) == v:t_list + return a:color + endif + + return [ + \ str2nr(a:color[1:2], 16), + \ str2nr(a:color[3:4], 16), + \ str2nr(a:color[5:6], 16) ] +endfunction + +function! spectral#toColor(r, g, b) abort + let r = spectral#clip(a:r, 0, 255) + let g = spectral#clip(a:g, 0, 255) + let b = spectral#clip(a:b, 0, 255) + + return printf("#%02x%02x%02x", + \ float2nr(r), + \ float2nr(g), + \ float2nr(b)) +endfunction + +function! spectral#clip(c, min, max) abort + if a:c < a:min + return a:min + elseif a:c > a:max + return a:max + else + return a:c + endif +endfunction + +function! s:loadPythonScript() + if s:loaded_python + return + endif + + exec 'py3file ' . s:this_folder . '/spectral.py' + let s:loaded_python = 1 +endfunction + +function! spectral#normalize(ls, target_mag) abort + let total_mag = 0 + for l in a:ls + let total_mag += l * l + endfor + let total_mag = sqrt(total_mag) + + let lsp = [] + let frac = total_mag / a:target_mag + for l in a:ls + call add(lsp, l / frac) + endfor + + return lsp +endfunction + +function! spectral#mix(color1, color2, ...) abort + if a:0 == 1 + let amt = a:1 + else + let amt = 0.5 + endif + + let [r1, g1, b1] = spectral#parseColor(a:color1) + let [r2, g2, b2] = spectral#parseColor(a:color2) + + return spectral#toColor( + \ r1 * (1 - amt) + r2 * amt, + \ g1 * (1 - amt) + g2 * amt, + \ b1 * (1 - amt) + b2 * amt) + +endfunction + +function! spectral#StartCompile() + if !exists('g:spectral_parameters') + let g:spectral_parameters = {} + endif + + call system('mkdir -p ' . shellescape(s:cache_folder)) + + let basename = s:basename(g:spectral_colorscheme_file) + let s:cache_file = printf('%s/%s', s:cache_folder, basename) + + if filereadable(s:cache_file) + let cache_file_time = getftime(s:cache_file) + let script_file_time = getftime(g:spectral_colorscheme_file) + let this_file_time = getftime(s:this_file) + let python_file_time = getftime(s:this_folder . '/spectral.py') + + if cache_file_time >= script_file_time + \ && cache_file_time >= this_file_time + \ && cache_file_time >= python_file_time + exec "source " . s:cache_file + let s:use_cache = 1 + return 1 + endif + endif + + let s:use_cache = 0 + call s:loadPythonScript() + exec "python3 spectral_start('" . s:cache_file . "')" + + return 0 +endfunction + +function! s:resolve(name) abort + if (len(a:name) == 0 || a:name[0] != '#') && a:name != "None" + return eval(a:name) + else + return a:name + endif +endfunction + +function! spectral#flip_brightness(color) abort + let saved = 0 + if exists('g:return') + let old_return = g:return + let saved = 1 + endif + + call s:loadPythonScript() + exec printf('python3 spectral_flip_brightness("%s")', a:color) + + let ret = g:return + + if saved + let g:return = old_return + else + unlet g:return + endif + + return ret +endfunction + +function! spectral#Hi(bang, fn, name, ...) + if s:use_cache + return + endif + + let count = a:0 + if count == 4 + let fg = s:resolve(a:1) + let bg = s:resolve(a:2) + let sp = s:resolve(a:3) + let extra = eval(a:4) + elseif count == 3 + let fg = s:resolve(a:1) + let bg = s:resolve(a:2) + let sp = "None" + let extra = eval(a:3) + elseif count == 2 + let fg = s:resolve(a:1) + let bg = s:resolve(a:2) + let sp = "None" + let extra = [] + elseif count == 1 + let fg = s:resolve(a:1) + let bg = "None" + let sp = "None" + let extra = [] + endif + + if extra == [] + let extra = ["None"] + endif + + if a:bang + exec printf('python3 spectral_ctx.highlight_after("%s", "%s", "%s", "%s", %s)', + \ a:name, fg, bg, sp, string(extra)) + elseif a:fn == "dark" + exec printf('python3 spectral_ctx.highlight_dark("%s", "%s", "%s", "%s", %s)', + \ a:name, fg, bg, sp, string(extra)) + elseif a:fn == "light" + exec printf('python3 spectral_ctx.highlight_light("%s", "%s", "%s", "%s", %s)', + \ a:name, fg, bg, sp, string(extra)) + else + exec printf('python3 spectral_ctx.highlight("%s", "%s", "%s", "%s", %s)', + \ a:name, fg, bg, sp, string(extra)) + endif +endfunction + +command! -bang -nargs=* Hi call spectral#Hi("<bang>" == "!", "", <f-args>) +command! -bang -nargs=* HiDark call spectral#Hi("<bang>" == "!", "dark", <f-args>) +command! -bang -nargs=* HiLight call spectral#Hi("<bang>" == "!", "light", <f-args>) + +function! spectral#Finish() + unlet g:spectral_parameters + unlet g:spectral_colorscheme_file + + if s:use_cache + return + endif + + python3 spectral_finish() + exec "source " . s:cache_file +endfunction diff --git a/colors/cooldown.vim b/colors/cooldown.vim new file mode 100644 index 0000000..20b05fe --- /dev/null +++ b/colors/cooldown.vim @@ -0,0 +1,159 @@ +if !exists('g:spectral_colorscheme_file') + let g:spectral_colorscheme_file = expand('<sfile>') +endif + +if !exists('g:spectral_parameters') + let g:spectral_parameters = { + \ 'default_bg': 'dark', + \ 'filter_fg': [spectral#normalize([1, 0, 0], 1), + \ spectral#normalize([0, 1, 0], 1), + \ spectral#normalize([0, 0, 1], 1)], + \ 'flip_algorithm': 'sqrt'} +endif + +let g:_snormal = "#fbdeff" +let g:_sbackground = "#202025" +let g:_svert = spectral#brighter(g:_sbackground, 2) +let g:_sstatement = "#50D28C" +let g:_stype = '#b7b0ff' +let g:_sabstract_class = spectral#mix(g:_stype,"#ff0000",0.1) +let g:_sinterface = spectral#mix(g:_stype,"#ff0000",0.2) +let g:_senum = spectral#mix(g:_stype,"#ff0000",0.3) +let g:_spreproc = spectral#brighter(g:_snormal,0.6) +let g:_sfunction = '#d9a7ff' +let g:_syellow1 = '#e4c692' +let g:_scodebg = spectral#brighter(g:_sbackground,2) + +call spectral#StartCompile() + +Hi Title g:_syellow1 None None ["Underline","Bold"] +Hi HtmlH2 g:_syellow1 None None ["Bold"] +Hi HtmlH3 g:_syellow1 None None ["Italic"] +Hi HtmlItalic g:_snormal None None ["Italic"] +Hi HtmlBold g:_snormal None None ["Bold"] +Hi HtmlUnderline g:_snormal None None ["Underline"] +Hi HtmlBoldItalic g:_snormal None None ["Bold","Italic"] +Hi markdownCodeBlock None g:_scodebg +Hi markdownCode None g:_scodebg +Hi Yellow1 g:_syellow1 None None [] +Hi Blue2 #8fcf81 None None [] +Hi Blue3 #ffc2b1 None None [] +Hi Blue4 #fffbeb None None [] +Hi ColorColumn g:_svert None None [] +Hi Comment #96856a None None ["italic"] +Hi Conceal #fff0ff None None ["bold"] +Hi CursorColumn None #666666 None [] +Hi CursorLine None #1d1e1e None [] +Hi CursorLineNr #00557b #151717 None [] +Hi DarkGray #8e8e8e None None [] +Hi DarkTeal #ba928f None None [] +Hi Directory #e4c692 None None ["bold"] +Hi Error #147d80 #767878 None [] +Hi Fern1 #ffb0fd None None [] +Hi Folded #6b6b6b #c9c7e1 None [] +Hi Function g:_sfunction None None [] +Hi Green1 #f299ff None None [] +Hi Green2 #f57cff None None [] +Hi Green3 #d9a7ff None None [] +Hi IncSearch #7aa6d2 #6b6b6b None ["inverse","reverse"] +Hi javaError #147d80 None None [] +Hi javaParen None None None [] +Hi LineNr #7d7e96 #0e1010 None ["bold"] +Hi MatchParen None #008b8b None [] +Hi NonText #9c7e25 #151717 None ["bold"] +Hi Normal g:_snormal g:_sbackground None [] +Hi VertSplit g:_svert g:_svert +Hi Orange1 None None None [] +Hi Orange2 #f1afff None None [] +Hi Orange3 None None None [] +Hi Orange4 None None None [] +Hi Orange5 None None None [] +Hi Orange6 None None None [] +Hi PMenu None #ff00ff None [] +Hi PMenuSel None #a9a9a9 None [] +Hi Red1 #7aa6d2 None None [] +Hi Red3 #499b89 None None [] +Hi Red4 None None None [] +Hi Red5 None None None [] +Hi Red6 #7fc774 None None [] +Hi Sage1 #c9c7e1 None None [] +Hi Sage2 #dac1e1 None None [] +Hi Sage3 #e1c1f9 None None [] +Hi Sage3Mix None None None [] +Hi Search #ffdeff #6b6b6b None ["inverse","reverse"] +Hi SignColumn None #0e1010 None [] +Hi Statement g:_sstatement None None ["bold"] +Hi StatusLineNC #9da4a4 #727272 None ["bold"] +Hi StorageClass #7aa6d2 None None ["bold"] +Hi String #f299ff None None [] +Hi Teal1 #ff8e71 None None [] +Hi Visual #737373 #ffffff None [] +Hi WarmSage #bfcbc7 None None [] +Hi Warning None None None [] +Hi Yellow1 #eeceff None None [] +Hi PreProc g:_spreproc None ["Bold"] + +Hi TabLineFill None g:_svert +Hi TabLineSel #ffffff g:_sbackground ["bold"] +Hi TabLine #808080 spectral#mix(g:_sbackground,g:_svert) [] + +Hi Type g:_stype +Hi EnjinAbstractClass g:_sabstract_class +Hi EnjinInterface g:_sinterface +Hi EnjinEnum g:_senum + +Hi Pmenu None spectral#mix(g:_sbackground,'#000020',0.3) + +Hi PreProcEnjinFunction spectral#mix(g:_sfunction,'#ffffff',0.3) +Hi PreProcEnjinClass spectral#mix(g:_stype,'#ffffff',0.3) +Hi PreProcEnjinAbstractClass spectral#mix(g:_sabstract_class,'#ffffff',0.3) +Hi PreProcEnjinInterface spectral#mix(g:_sinterface,'#ffffff',0.3) +Hi PreProcEnjinEnum spectral#mix(g:_senum,'#ffffff',0.3) +Hi PreProcEnjinAnnotation spectral#mix(g:_stype,'#ffffff',0.3) + +let g:_sstatuslfg='#7aa6d2' +Hi StatusLine g:_sstatuslfg spectral#mix(g:_svert,'#0000ff',0.2) None ["bold"] +Hi StatusLineNC spectral#desaturate(g:_sstatuslfg,0.5) g:_svert None ["bold"] + +call spectral#Finish() + +hi! link TagbarAccessProtected Yellow1 +hi! link FoldColumn Green1 +hi! link RadiationJavaConstant Constant +hi! link xmlTag Yellow1 +hi! link RadiationCppNamespace Sage2 +hi! link RadiationJavaAbstractClass Red4 +hi! link RadiationJavaFunction Function +hi! link javaDocTags Orange6 +hi! link RadiationJavaTypeParameter Red6 +hi! link javaAnnotation PreProc +hi! link htmlEndTag Blue2 +hi! link javaCodedoc WarmSage +hi! link RadiationProtoType Red5 +hi! link RadiationCppStruct Type +hi! link xmlAttrib Green3 +hi! link RadiationJavaParam Orange3 +hi! link RadiationJavaForIterator Sage3Mix +hi! link RadiationJavaMember Yellow1 +hi! link Structure Red1 +hi! link htmlTagName Yellow1 +hi! link RadiationCppEnum Type +hi! link RadiationJavaLocalVar Sage2 +hi! link TagbarAccessPublic Green1 +hi! link xmlEndTag Red1 +hi! link Identifier Orange4 +hi! link javaOperator Operator +hi! link RadiationJavaEnhancedForIterator RadiationJavaForIterator +hi! link RadiationCppUnion Type +hi! link RadiationCppTypedef RadiationProtoType +hi! link javaCommentTitle Yellow1 +hi! link Constant PreProc +hi! link SpecialKey Yellow1 +hi! link Number Constant +hi! link javaDocComment Comment +hi! link TagbarAccessPrivate Red1 +hi! link htmlTag Blue2 +hi! link Operator Yellow1 +hi! link RadiationJavaClass Type +hi! link RadiationJavaInterface RadiationProtoType +hi! link Special Orange2 diff --git a/colors/meltdown.vim b/colors/meltdown.vim new file mode 100644 index 0000000..dca7def --- /dev/null +++ b/colors/meltdown.vim @@ -0,0 +1,193 @@ +if !exists('g:spectral_colorscheme_file') + let g:spectral_colorscheme_file = expand('<sfile>') +endif + +if !exists('g:spectral_parameters') + let g:spectral_parameters = { + \ 'default_bg': 'dark', + \ 'filter_fg': [spectral#normalize([1, 0, 0], 1), + \ spectral#normalize([0, 1, 0], 1), + \ spectral#normalize([0, 0, 1], 1)], + \ 'flip_algorithm': "2/3"} +endif + +call spectral#StartCompile() + +let g:_sblue1 = '#80a0ff' +let g:_scomment = '#8ba3bb' +let g:_snormal = '#d8e5b8' +let g:_sbackground = '#1e1d1c' + +Hi HtmlItalic g:_snormal None None ["Italic"] +Hi HtmlBold g:_snormal None None ["Bold"] +Hi Blue1 g:_sblue1 None None [] +Hi ColorColumn #4d5c8b None None [] +Hi Comment g:_scomment None None [] +Hi Conceal spectral#brighter(g:_sbackground,3) +Hi CursorColumn None #313030 None [] +Hi CursorLine None #313030 None [] +Hi CursorLineNr #ff5d34 #272424 None [] +Hi DarkGray #404040 None None [] +Hi DarkTeal #346063 None None [] +Hi DiffAdd None #1e2d1c None [] +Hi DiffChange None #3e3d1c None [] +Hi DiffDelete #af0000 #3e1d1c None ["bold"] +Hi DiffText None #4e7d3c None [] +Hi Directory g:_sblue1 None None ["bold"] +Hi Error #ff0000 #1a1818 None [] +Hi Fern1 #71bc78 None None [] +Hi FoldColumn #80ab24 #1a1818 None [] +Hi FoldColumn1 #80a84f #1a1818 None [] +Hi FoldColumn2 #80a67b #1a1818 None [] +Hi FoldColumn3 #80a4a7 #1a1818 None [] +Hi FoldColumn4 #80a2d3 #1a1818 None [] +Hi FoldColumn5 g:_sblue1 #1a1818 None [] +Hi FoldColumn6 #9992d6 #1a1818 None [] +Hi FoldColumn7 #b285ad #1a1818 None [] +Hi FoldColumn8 #cc7785 #1a1818 None [] +Hi FoldColumn9 #e56a5c #1a1818 None [] +Hi Folded #000000 #9f9a84 None [] +Hi Function #aba024 None None [] +Hi FunctionPreProc #9fa456 None None [] +Hi Green1 #80ab24 None None [] +Hi Green2 #3dab24 None None [] +Hi Green3 #aba024 None None [] +Hi IncSearch #ff5d34 #000000 None ["inverse","reverse"] +Hi LineNr #9f9a84 #1a1818 None ["bold"] +Hi MatchParen None #346063 None ["bold"] +Hi NonText g:_sblue1 #272424 None ["bold"] +Hi Normal g:_snormal g:_sbackground None [] +Hi Orange1 #ff892f None None [] +Hi Orange2 #ffbd2f None None [] +Hi Orange3 #ff552f None None [] +Hi Orange4 #ffb780 None None [] +Hi Orange5 #ffd780 None None [] +Hi Orange6 #ff9780 None None [] +Hi PMenu #686060 #101010 None [] +Hi PMenuSel #ff5d34 #343030 None ["bold"] +Hi Red1 #ff5d34 None None [] +Hi Red1PreProc #c0895c None None [] +Hi Red2 #ff8f34 None None [] +Hi Red2PreProc #c09d5c None None [] +Hi Red3 #ff3448 None None [] +Hi Red3PreProc #c07864 None None [] +Hi Red4 #ffa034 None None [] +Hi Red4PreProc #c0a45c None None [] +Hi Red5 #ff9074 None None [] +Hi Red5PreProc #c09d76 None None [] +Hi Red6 #ff74f4 None None [] +Hi Red6PreProc #c092a9 None None [] +Hi Royal #f02690 None None [] +Hi Sage1 #9f9a84 None None [] +Hi Sage2 #8e9f84 None None [] +Hi Sage3 #96a677 None None [] +Hi Sage3Mix g:_scomment None None [] +Hi Search #ffd780 #000000 None ["inverse","reverse"] +Hi SignColumn None #1a1818 None [] +Hi SpellBad None None #b67632 ["undercurl"] +Hi Statement g:_sblue1 None None ["bold"] +Hi StatusLine #ff5d34 #0f0e0e None ["bold"] +Hi StatusLineNC #686060 #0f0e0e None ["bold"] +Hi StorageClass #ff5d34 None None ["bold"] +Hi String #80ab24 None None [] +Hi TabLine #686060 #444040 None ["bold"] +Hi TabLineFill #686060 #0f0e0e None [] +Hi TabLineSel #ff5d34 #1e1d1c g:_sblue1 ["bold"] +Hi Teal1 #34ffd6 None None [] +Hi Title #ff8f34 #444040 None ["bold"] +Hi VertSplit #0f0e0e #0f0e0e None [] +Hi Visual #101010 #e0e0e0 None [] +Hi WarmSage #a09598 None None [] +Hi Warning #ffff00 #1a1818 None [] +Hi Yellow1 #e0bf65 None None [] +Hi Yellow1PreProc #b4b070 None None [] +Hi javaError #dd0000 None None [] +Hi javaParen g:_sblue1 None None ["bold"] + +call spectral#Finish() + +" if &bg == 'light' +" hi Normal guifg=#0a1900 ctermfg=233 guibg=#ffffe1 ctermbg=255 gui=NONE cterm=NONE +" endif + +hi! link LiteralTab Warning +hi! link Constant PreProc +hi! link Identifier Orange4 +hi! link Number Constant +hi! link Operator Blue1 +hi! link PreProc Sage3 +hi! link RadiationCppEnum Type +hi! link RadiationCppNamespace Sage2 +hi! link RadiationCppStruct Type +hi! link RadiationCppTypedef RadiationProtoType +hi! link RadiationCppUnion Type +hi! link RadiationJavaAbstractClass Red4 +hi! link RadiationJavaClass Type +hi! link RadiationJavaConstant Constant +hi! link RadiationJavaEnhancedForIterator RadiationJavaForIterator +hi! link RadiationJavaForIterator Sage3Mix +hi! link RadiationJavaFunction Function +hi! link RadiationJavaInterface RadiationProtoType +hi! link RadiationJavaLambdaParam Royal +hi! link RadiationJavaLocalVar Sage2 +hi! link RadiationJavaMember Yellow1 +hi! link RadiationJavaParam Orange3 +hi! link RadiationJavaTypeParameter Red6 +hi! link RadiationProtoType Red5 +hi! link Special Orange2 +hi! link SpecialKey Blue1 +hi! link Structure Red1 +hi! link TagbarAccessPrivate Red1 +hi! link TagbarAccessProtected Yellow1 +hi! link TagbarAccessPublic Green1 +hi! link Type Red2 +hi! link htmlEndTag Blue2 +hi! link htmlTag Blue2 +hi! link htmlTagName Blue1 +hi! link javaAnnotation PreProc +hi! link javaCodedoc WarmSage +hi! link javaCommentTitle Blue1 +hi! link javaDocComment Comment +hi! link javaDocTags Orange6 +hi! link javaOperator Operator +hi! link xmlAttrib Green3 +hi! link xmlEndTag Red1 +hi! link xmlTag Blue1 + +hi! link EnjinAbstractClass Red4 +hi! link EnjinClass Type +hi! link EnjinEnum EnjinClass +hi! link EnjinConstant Constant +hi! link EnjinEnhancedForVar RadiationJavaForIterator +hi! link EnjinBasicForVar Sage3Mix +hi! link EnjinFunction Function +hi! link EnjinInterface RadiationProtoType +hi! link EnjinLambdaParameter Royal +hi! link EnjinLocalVar Sage2 +hi! link EnjinField Yellow1 +hi! link EnjinParameter Orange3 +hi! link EnjinTypeParameter Red6 +hi! link EnjinCatchVar EnjinBasicForVar +hi! link EnjinAnnotation EnjinInterface +hi! link EnjinTryVar EnjinCatchVar + +hi! link PreProcEnjinAbstractClass PreProcRed4 +hi! link PreProcEnjinClass Red2PreProc +hi! link PreProcEnjinEnum PreProcEnjinClass +hi! link PreProcEnjinConstant Yellow1PreProc +hi! link PreProcEnjinEnhancedForVar RadiationJavaForIterator +hi! link PreProcEnjinBasicForVar Sage3Mix +hi! link PreProcEnjinFunction FunctionPreProc +hi! link PreProcEnjinAnnotationElement FunctionPreProc +hi! link PreProcEnjinInterface Red5PreProc +hi! link PreProcEnjinLambdaParameter Royal +hi! link PreProcEnjinLocalVar Sage2 +hi! link PreProcEnjinField Yellow1 +hi! link PreProcEnjinParameter Orange3 +hi! link PreProcEnjinTypeParameter Red6 +hi! link PreProcEnjinCatchVar EnjinBasicForVar +hi! link PreProcEnjinAnnotation PreProcEnjinInterface +hi! link PreProcEnjinTryVar EnjinCatchVar + +hi! link javaImportPackage Sage2 +hi! link javaPackage Sage2 diff --git a/colors/poison.vim b/colors/poison.vim new file mode 100644 index 0000000..6b14a08 --- /dev/null +++ b/colors/poison.vim @@ -0,0 +1,145 @@ +if !exists('g:spectral_colorscheme_file') + let g:spectral_colorscheme_file = expand('<sfile>') +endif + +if !exists('g:spectral_parameters') + let g:spectral_parameters = { + \ 'default_bg': 'dark', + \ 'filter_fg': [spectral#normalize([1, 0, 0], 1), + \ spectral#normalize([0, 1, 0], 1), + \ spectral#normalize([0, 0, 1], 1)], + \ 'flip_algorithm': "sqrt" } +endif + +call spectral#StartCompile() + +let g:_sbackground = '#1e1d1c' +let g:_solive = '#b7ce41' +let g:_sdesat = '#aae171' +let g:_sgreen = '#4eff0c' +let g:_syellow ='#ffde0c' +let g:_snormal = '#e5dab8' +let g:_sred = '#ff0c6c' +let g:_sorange = '#ffa20c' +let g:_sgray = '#8b9da1' +let g:_sbrightgray = spectral#brighter('#8b9da1', 1.2) +let g:_sblue = '#6ee0e0' +let g:_spurple = '#f87fff' + +let g:_svertsplit = spectral#brighter(g:_sbackground,2.5) +let g:_ssigncol = spectral#brighter(g:_sbackground,1.8) + +let g:_stype = g:_sorange +let g:_senum = spectral#mix(g:_sorange,g:_sgray,0.4) +let g:_sinterface = spectral#mix(g:_sorange,g:_sred,0.4) +let g:_sabstract_class = spectral#mix(g:_sorange,g:_sred,0.2) +let g:_sstring = spectral#mix(g:_sgreen, g:_syellow, 0.5) + +let g:_sgold = '#ffd900' + +Hi StatusLine g:_sred spectral#brighter(g:_svertsplit,0.7) ["Bold"] +Hi StatusLineNC g:_sgray spectral#brighter(g:_svertsplit,0.7) ["None"] + +Hi Folded g:_sred spectral#brighter(g:_sbackground,1.5) +Hi Error #d52a2f None #d52a2f ["Undercurl"] +Hi Warning #d5d32a None #d5d32a ["None"] +Hi Success #2ad547 None +Hi Normal g:_snormal g:_sbackground +Hi Comment spectral#brighter(g:_sblue,0.9) None ["Italic"] +Hi StorageClass g:_sgreen None ["Bold"] +Hi Statement g:_sgreen None ["Bold"] +Hi String g:_sstring None ["Italic"] +Hi Identifier g:_sbrightgray None +Hi Structure g:_sred None ["Bold"] +Hi Function #b8b3a9 None ["None"] +Hi Type g:_stype None ["Bold"] +Hi Special g:_sgold +Hi javaCommentTitle g:_sblue None ["Bold","Italic"] +Hi javaDocTags g:_sdesat None ["None"] +Hi htmlTag #dc00ff None ["None"] +Hi htmlTagName g:_sblue None ["Bold"] +Hi javaDocComment spectral#brighter(spectral#desaturate(g:_sblue,0.5),0.7) None ["Italic"] +Hi PreProc g:_sgray None ["Bold"] +Hi EnjinParameter spectral#mix(g:_sbrightgray,g:_sorange,0.4) None [] +Hi EnjinLambdaParameter spectral#mix(g:_sbrightgray,g:_sred,0.4) None [] +Hi EnjinLocalVar spectral#mix(g:_sbrightgray,g:_sgreen,0.4) None [] +Hi EnjinEnum g:_senum None ["Bold"] +Hi EnjinInterface g:_sinterface None ["Bold"] +Hi EnjinAbstractClass g:_sabstract_class None ["Bold"] +Hi EnjinField spectral#mix(g:_sbrightgray,g:_syellow,0.4) +Hi EnjinTypeParameter g:_sred None ["Bold"] +Hi EnjinCatchVar g:_sred +Hi EnjinForVar g:_sred +Hi EnjinEnhancedForVar g:_sred +Hi Directory g:_sblue None ["Bold"] +Hi PMenu g:_snormal spectral#brighter(g:_sbackground,1.3) +Hi UnderCursor None spectral#brighter(g:_sbackground,2) +Hi CursorLine None spectral#brighter(g:_sbackground,2) +Hi Search None spectral#brighter(g:_sbackground,3) +Hi IncSearch None spectral#brighter(g:_sbackground,3) +Hi Visual g:_sbackground g:_snormal +Hi javaImportPackage g:_sgray +Hi SpellBad None None #ff834a ["Undercurl"] +Hi Operator g:_sred None ["Bold"] +Hi Number #dbff00 +Hi PreProcEnjinEnum spectral#mix(g:_senum,g:_sbrightgray,0.6) None ["Bold"] +Hi PreProcEnjinClass spectral#mix(g:_stype,g:_sbrightgray,0.6) None ["Bold"] +Hi PreProcEnjinInterface spectral#mix(g:_sinterface,g:_sbrightgray,0.6) None ["Bold"] +Hi PreProcEnjinAbstractClass spectral#mix(g:_sabstract_class,g:_sbrightgray,0.6) None ["Bold"] +Hi PreProcEnjinConstant spectral#mix(g:_sgray,g:_sbrightgray,0.6) None ["Bold"] +Hi PreProcEnjinFunction spectral#mix(g:_syellow,g:_sbrightgray,0.6) +Hi DiagnosticSignWarn g:_sgold None ["None"] +Hi DiagnosticSignError #d52a2f None ["None"] +Hi DiagnosticVirtualTextWarn g:_sgold spectral#brighter(g:_sbackground,0.7) ["None"] +Hi DiagnosticVirtualTextError #d52a2f spectral#brighter(g:_sbackground,0.7) ["None"] +Hi DiagnosticUnderlineWarn None None #ffaf00 ["undercurl"] +Hi DiagnosticUnderlineError None None #ff0a00 ["undercurl"] +Hi LineNr spectral#desaturate(g:_syellow,0.2) g:_ssigncol ["Bold"] +Hi ColorColumn g:_ssigncol None +Hi SignColumn g:_ssigncol g:_ssigncol +Hi NonText g:_sred g:_ssigncol ["Bold","Italic"] +Hi VertSplit g:_svertsplit g:_svertsplit ["Bold","Italic"] +Hi TabLineFill g:_ssigncol g:_ssigncol +Hi TabLine g:_snormal spectral#brighter(g:_ssigncol,1.3) +Hi TabLineSel g:_sred g:_sbackground g:_sgreen ["Bold"] + +call spectral#Finish() + +if &background == "dark" + let g:terminal_color_0="#282828" + let g:terminal_color_1="#cc241d" + let g:terminal_color_2="#98971a" + let g:terminal_color_3="#d79921" + let g:terminal_color_4="#458588" + let g:terminal_color_5="#b16286" + let g:terminal_color_6="#689d6a" + let g:terminal_color_7="#a89984" + let g:terminal_color_8="#928374" + let g:terminal_color_9="#fb4934" + let g:terminal_color_10="#b8bb26" + let g:terminal_color_11="#fabd2f" + let g:terminal_color_12="#83a598" + let g:terminal_color_13="#d3869b" + let g:terminal_color_14="#8ec07c" + let g:terminal_color_15="#ebdbb2" +else + let g:terminal_color_0="#dedede" + let g:terminal_color_1="#df3c2f" + let g:terminal_color_2="#485300" + let g:terminal_color_3="#5c3400" + let g:terminal_color_4="#347073" + let g:terminal_color_5="#9a4c71" + let g:terminal_color_6="#215b2b" + let g:terminal_color_7="#4e4431" + let g:terminal_color_8="#65594b" + let g:terminal_color_9="#b30005" + let g:terminal_color_10="#2a3600" + let g:terminal_color_11="#3f1b00" + let g:terminal_color_12="#2a493e" + let g:terminal_color_13="#712d44" + let g:terminal_color_14="#003b00" + let g:terminal_color_15="#1e1600" +endif + +hi! link Constant PreProc +hi! link vimFunction Function diff --git a/colors/royal.vim b/colors/royal.vim new file mode 100644 index 0000000..15fafe8 --- /dev/null +++ b/colors/royal.vim @@ -0,0 +1,104 @@ + +if !exists('g:spectral_colorscheme_file') + let g:spectral_colorscheme_file = expand('<sfile>') +endif + +if !exists('g:spectral_parameters') + let g:spectral_parameters = { + \ 'default_bg': 'light', + \ 'filter_fg': [spectral#normalize([1, 0.2, 0.2], 0.8), + \ spectral#normalize([0.2, 1, 0.2], 0.8), + \ spectral#normalize([0.2, 0.2, 1], 0.8)]} +endif + +let g:_snormal = '#2a1a12' +let g:_sbg = '#e5dab8' +let g:_sblueish = '#4e587e' +let g:_sdarknormal = '#f1dbcf' +let g:_sdarkbg = '#25211a' +let g:_sdarkvsplit = spectral#brighter(g:_sdarkbg, 2) +let g:_sdarktablinefill = spectral#brighter(g:_sdarkbg, 0.6) +let g:_sdarktabline = spectral#brighter(g:_sdarkbg, 0.8) + +call spectral#StartCompile() + +Hi StatusLineNC #2a1a12 #f0f0f0 +Hi StatusLine #903300 #f0f0f0 ["Bold"] + +HiLight Normal g:_snormal g:_sbg +HiDark Normal g:_sdarknormal g:_sdarkbg + +HiLight Comment #a38643 None ["Italic"] +HiDark Comment spectral#brighter(g:_sdarkbg,3) None ["Italic"] + +Hi PMenu #2a1a12 #e9dfc9 ["None"] +Hi SignColumn #2a1a12 #e9dfc9 ["None"] +Hi NonText None spectral#brighter(g:_sbg,1.2) +Hi Visual #e5dac0 #2a1a12 ["None"] +Hi Special g:_sblueish + +Hi StorageClass #903300 None ["bold"] +Hi Structure #903300 None ["bold"] +Hi String #2d5c05 None ["None"] +Hi Type #3c2c5c None ["bold"] +Hi Statement #b34700 None ["bold"] +Hi ColorColumn #8080dd None ["None"] +Hi PreProc #735a65 None ["None"] +Hi Function g:_sblueish None ["None"] +Hi Identifier #1a2d4b None ["None"] +Hi Number #b32da0 None ["None"] +Hi Directory #542db3 None ["None"] +Hi Constant #58545c None ["Italic"] + +Hi EnjinTypeParameter #b36b00 None ["bold"] +Hi EnjinLambdaParameter #a000d0 None ["italic"] +Hi EnjinInterface #9c2c5c None ["bold"] +Hi EnjinAbstractClass #6c2c5c None ["bold"] + +Hi EnjinParameter #8b2d1a None ["Italic"] +Hi EnjinField #443c44 None ["None"] +Hi EnjinLocalVar #565b5c None ["Italic"] + +Hi javaCommentTitle #6b4b00 None ["Bold"] +Hi javaDocTags #8b2b00 None ["None"] +Hi javaDocComment #636343 None ["None"] +Hi htmlTag #e65c00 None ["None"] +Hi htmlTagName #b34700 None ["None"] +Hi LineNr #b34700 #dad5d0 ["Bold"] +Hi CursorLineNr #b347b3 #dad5d0 ["Bold"] +Hi CursorColumn None #d3d0ca ["None"] +Hi CursorLine None #d3d0ca ["None"] +Hi LspDiagnosticsDefaultWarning #FF4F00 None ["None"] +Hi LspDiagnosticsUnderlineWarning None None #FFaF00 ["undercurl"] +Hi LspDiagnosticsUnderlineError None None #FF0a00 ["undercurl"] + +HiLight VertSplit #a59a70 #a59a70 ["None"] +HiDark VertSplit g:_sdarkvsplit g:_sdarkvsplit + +HiLight TabLineFill #2a1a12 spectral#brighter(g:_sbg,2) ["None"] +HiLight TabLine #000000 spectral#brighter(g:_sbg,1.2) ["Bold"] +HiLight TabLineSel g:_sblueish g:_sbg #000000 ["Bold"] + +HiDark TabLineFill None g:_sdarktablinefill +HiDark TabLine None g:_sdarktabline +HiDark TabLineSel spectral#flip_brightness(g:_sblueish) g:_sdarkbg ["Bold"] + +Hi PreProcEnjinInterface #483e60 None ["None"] +Hi PreProcEnjinClass #2d2145 None ["None"] +Hi PreProcEnjinFunction #30374f None ["None"] +Hi PreProcEnjinEnum #483e60 None ["None"] +Hi PreProcEnjinAnnotationElement #30374f None ["None"] + +call spectral#Finish() + +if &bg=="dark" + hi EnjinTypeParameter guifg=#ff9900 + hi javaCommentTitle guifg=#ffaa00 gui=bold + hi javaDocComment guifg=#ffdd30 +endif + +hi Terminal guibg=#000000 guifg=#e0e0e0 + +hi link CurosorLine CursorColumn +hi link vimFunction Function +hi link PreProcEnjinAnnotation PreProcEnjinInterface diff --git a/colors/spectral.vim b/colors/spectral.vim new file mode 100644 index 0000000..7a0e579 --- /dev/null +++ b/colors/spectral.vim @@ -0,0 +1,35 @@ + +if !exists('g:spectral_colorscheme_file') + let g:spectral_colorscheme_file = expand('<sfile>') +endif + +let g:spectral_parameters = {'default_bg': 'light'} + +if spectral#StartCompile() + finish +endif + +Hi Normal #2a1a12 #f5ead0 ["None"] +Hi SignColumn #2a1a12 #e5dac0 ["None"] +Hi NonText #2a1a12 #e5dad0 ["bold"] + +Hi StorageClass #931d80 None ["None"] +Hi Structure #dd5050 None ["None"] +Hi String #4f7a40 None ["None"] +Hi Type #2c2c5c None ["None"] +Hi Statement #8c2f10 None ["None"] +Hi ColorColumn #8080dd None ["None"] +Hi PreProc #735a65 None ["None"] +Hi Function #1a2d4b None ["None"] +Hi Identifier #1a2d4b None ["None"] +Hi Number #b32da0 None ["None"] +Hi Comment #313167 None ["None"] +Hi Directory #542db3 None ["None"] + +Hi PreProcEnjinInterface #483e60 None ["None"] +Hi PreProcEnjinEnum #483e60 None ["None"] + +call spectral#Finish() + +hi link vimFunction Function +hi link PreProcEnjinAnnotation PreProcEnjinInterface |