From 75e1c4355e7234f30c6b5df6a8679f884817e963 Mon Sep 17 00:00:00 2001
From: "Kenneth Benzie (Benie)" <benie@infektor.net>
Date: Sun, 30 Nov 2014 12:22:56 +0000
Subject: [PATCH] Add custom twilight color scheme

---
 colors/twilight.vim | 162 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 162 insertions(+)
 create mode 100644 colors/twilight.vim

diff --git a/colors/twilight.vim b/colors/twilight.vim
new file mode 100644
index 0000000..ddea1bb
--- /dev/null
+++ b/colors/twilight.vim
@@ -0,0 +1,162 @@
+set background=dark
+if exists("syntax_on")
+  syntax reset
+endif
+let g:colors_name="twilight"
+
+if has("gui_running") || &t_Co == 256
+  "" colors  {{{
+  let s:empty = []
+  let s:none = [ "none" ]
+  let s:light_grey_blue = [ "102", "#878787" ]
+  let s:grey_blue = [ "103", "#8787af" ]
+  let s:mid_grey_blue = [ "59", "#5f5f5f" ]
+  let s:blue = [ "39", "#00afff" ]
+  let s:beige = [ "179", "#dfaf5f" ]
+  let s:orange = [ "202", "#ff5f00" ]
+  let s:light_orange = [ "214", "#ffaf00" ]
+  let s:peach = [ "173", "#df875f" ]
+  let s:yellow = [ "227", "#ffff5f" ]
+  let s:purple = [ "57", "#5f00ff" ]
+  let s:violet = [ "139", "#af87af" ]
+  let s:green = [ "107", "#87af5f" ]
+  let s:dark_green = [ "34", "#00af00" ]
+  let s:dark_green_blue = [ "35", "#00af5f" ]
+  let s:light_green = [ "150", "#afdf87" ]
+  let s:dark_red = [ "88", "#870000" ]
+  let s:red = [ "124", "#af0000" ]
+  let s:light_red = [ "167", "#df5f5f" ]
+  let s:brown = [ "130", "#af5f00" ]
+  let s:tan = [ "137", "#af875f"  ]
+  let s:cyan = [ "116", "#87dfdf" ]
+  let s:dark_grey = [ "234", "#1c1c1c" ]
+  let s:grey = [ "236", "#303030" ]
+  let s:mid_grey = [ "238", "#444444" ]
+  let s:light_grey = [ "250", "#bcbcbc" ]
+  let s:white = [ "230", "#ffffdf" ]
+  let s:black = [ "16", "#000000" ]
+  " }}}
+
+  "" functions "{{{
+  function <SID>HiGroup(group, fg, bg, attr)
+    if 1 < len(a:fg)
+      exec "hi ".a:group." ctermfg=".get(a:fg, 0)
+      if 2 == len(a:fg)
+        exec "hi ".a:group." guifg=".get(a:fg, 1)
+      endif
+    endif
+    if 1 < len(a:bg)
+      exec "hi ".a:group." ctermbg=".get(a:bg, 0)
+      if 2 == len(a:bg)
+        exec "hi ".a:group." guibg=".get(a:bg, 1)
+      endif
+    endif
+    if a:attr != ""
+      exec "hi ".a:group." cterm=".a:attr." gui="a:attr
+    endif
+  endfunction
+  " }}}
+
+  "" highlight groups {{{
+  "call <SID>HiGroup("ColorColumn", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Conceal", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Cursor", s:empty, s:empty, "none")
+  "call <SID>HiGroup("CursorIM", s:empty, s:empty, "none")
+  "call <SID>HiGroup("CursorColumn", s:empty, s:empty, "none")
+  "call <SID>HiGroup("CursorLine", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Directory", s:empty, s:empty, "none")
+  call <SID>HiGroup("DiffAdd", s:dark_green, s:grey, "bold")
+  call <SID>HiGroup("DiffChange", s:white, s:grey, "bold")
+  call <SID>HiGroup("DiffDelete", s:red, s:grey, "bold")
+  call <SID>HiGroup("DiffText", s:empty, s:dark_red, "none")
+  call <SID>HiGroup("ErrorMsg", s:white, s:red, "none")
+  call <SID>HiGroup("VertSplit", s:dark_grey, s:dark_grey, "none")
+  call <SID>HiGroup("Folded", s:dark_green_blue, s:dark_grey, "none")
+  "call <SID>HiGroup("FoldColumn", s:empty, s:empty, "none")
+  "call <SID>HiGroup("SignColumn", s:empty, s:empty, "none")
+  "call <SID>HiGroup("IncSearch", s:empty, s:empty, "none")
+  call <SID>HiGroup("LineNr", s:white, s:dark_grey, "none")
+  call <SID>HiGroup("CursorLineNr", s:empty, s:dark_grey, "none")
+  call <SID>HiGroup("MatchParen", s:none, s:dark_green_blue, "none")
+  "call <SID>HiGroup("ModeMsg", s:empty, s:empty, "none")
+  "call <SID>HiGroup("MoreMsg", s:empty, s:empty, "none")
+  "call <SID>HiGroup("NonText", s:empty, s:empty, "none")
+  call <SID>HiGroup("Normal", s:white, s:black, "none")
+  call <SID>HiGroup("Pmenu", s:light_grey, s:grey, "none")
+  call <SID>HiGroup("PmenuSel", s:black, s:light_orange, "bold")
+  "call <SID>HiGroup("PmenuSbar", s:empty, s:empty, "none")
+  "call <SID>HiGroup("PmenuThumb", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Question", s:empty, s:empty, "none")
+  call <SID>HiGroup("Search", s:none, s:light_grey, "reverse")
+  "call <SID>HiGroup("SpecialKey", s:emptnoney, s:empty, "none")
+  call <SID>HiGroup("SpellBad", s:white, s:red, "bold")
+  call <SID>HiGroup("SpellCap", s:white, s:purple, "bold")
+  "call <SID>HiGroup("SpellLocal", s:empty, s:empty, "none")
+  "call <SID>HiGroup("SpellRare", s:empty, s:empty, "none")
+  "call <SID>HiGroup("StatusLine", s:empty, s:empty, "none")
+  "call <SID>HiGroup("StatusLineNC", s:empty, s:empty, "none")
+  "call <SID>HiGroup("TabLine", s:empty, s:empty, "none")
+  "call <SID>HiGroup("TabLineFill", s:empty, s:empty, "none")
+  "call <SID>HiGroup("TabLineSel", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Title", s:empty, s:empty, "none")
+  call <SID>HiGroup("Visual", s:empty, s:grey, "none")
+  "call <SID>HiGroup("VisualNOS", s:empty, s:empty, "none")
+  "call <SID>HiGroup("WarningMsg", s:empty, s:empty, "none")
+  "call <SID>HiGroup("WildMenu", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Menu", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Scrollbar", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Tooltip", s:empty, s:empty, "none")
+  " }}}
+
+  "" syntax groups {{{
+  call <SID>HiGroup("Comment", s:mid_grey_blue, s:empty, "none")
+
+  call <SID>HiGroup("Constant", s:light_red, s:empty, "none")
+  call <SID>HiGroup("String", s:green, s:empty, "none")
+  "call <SID>HiGroup("Character", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Number", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Boolean", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Float", s:empty, s:empty, "none")
+
+  call <SID>HiGroup("Identifier", s:grey_blue, s:empty, "none")
+  call <SID>HiGroup("Function", s:brown, s:empty, "none")
+
+  call <SID>HiGroup("Statement", s:beige, s:empty, "none")
+  "call <SID>HiGroup("Conditional", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Repeat", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Label", s:empty, s:empty, "none")
+  call <SID>HiGroup("Operator", s:tan, s:empty, "none")
+  "call <SID>HiGroup("Keyword", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Exception", s:empty, s:empty, "none")
+
+  call <SID>HiGroup("PreProc", s:light_grey_blue, s:empty, "none")
+  "call <SID>HiGroup("Include", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Define", s:empty, s:empty, "none")
+  call <SID>HiGroup("Macro", s:peach, s:empty, "none")
+  "call <SID>HiGroup("PreCondit", s:empty, s:empty, "none")
+
+  call <SID>HiGroup("Type", s:yellow, s:empty, "none")
+  call <SID>HiGroup("StorageClass", s:beige, s:empty, "none")
+  call <SID>HiGroup("Structure", s:beige, s:empty, "none")
+  "call <SID>HiGroup("Typedef", s:empty, s:empty, "none")
+
+  call <SID>HiGroup("Special", s:light_green, s:empty, "none")
+  "call <SID>HiGroup("SpecialChar", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Tag", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Delimiter", s:empty, s:empty, "none")
+  "call <SID>HiGroup("SpecialComment", s:empty, s:empty, "none")
+  "call <SID>HiGroup("Debug", s:empty, s:empty, "none")
+
+  call <SID>HiGroup("Underlined", s:blue, s:none, "underline")
+
+  "call <SID>HiGroup("Ignore", s:empty, s:empty, "none")
+
+  call <SID>HiGroup("Error", s:white, s:red, "bold")
+
+  call <SID>HiGroup("Todo", s:orange, s:purple, "bold")
+  " }}}
+
+  "" delete functions {{{
+  delfunction <SID>HiGroup
+  " }}}
+endif