Added cursor sign highlight.
[profile.git] / .vim / colors / iain.vim
index b49812a..38dcc24 100644 (file)
@@ -208,9 +208,18 @@ if has("gui_running") || &t_Co == 88 || &t_Co == 256
 
     " sets the highlighting for the given group
     fun! <SID>X(group, fg, bg, attr)
+        " Our dark grey ends up being too light when Vim is run inside screen
+        " on an 88-colour urxvt.
+        let l:hackgrey = "#303030"
+        let l:hackterm = "^screen-256color"
+        let l:hackbad = 235
+        let l:hackgood = 234
         if a:fg != ""
             if a:fg =~ '^#'
                 let l:fg = <SID>rgb(substitute(a:fg, '^#', '', ''))
+                if a:fg == l:hackgrey && &term =~ l:hackterm && l:fg == l:hackbad
+                  let l:fg = l:hackgood
+                endif
             else
                 let l:fg=a:fg
             endif
@@ -219,6 +228,9 @@ if has("gui_running") || &t_Co == 88 || &t_Co == 256
         if a:bg != ""
             if a:bg =~ '^#'
                 let l:bg = <SID>rgb(substitute(a:bg, '^#', '', ''))
+                if a:bg == l:hackgrey && &term =~ l:hackterm && l:bg == l:hackbad
+                  let l:bg = l:hackgood
+                endif
             else
                 let l:bg=a:bg
             endif
@@ -237,7 +249,7 @@ if has("gui_running") || &t_Co == 88 || &t_Co == 256
     call <SID>X("Search", "#ffffff", "#2050d0", "")
     call <SID>X("IncSearch", "#b0ffff", "#2050d0", "")
     "call <SID>X("SpecialKey", "#00ffff", "", "")
-    call <SID>X("Directory", "#00ffff", "", "")
+    call <SID>X("Directory", "#008bff", "", "")
     call <SID>X("Title", "#ff00ff", "", "none")
     call <SID>X("WarningMsg", "#ff0000", "", "")
     "call <SID>X("WildMenu", "#ffff00", "#000000", "")
@@ -245,14 +257,16 @@ if has("gui_running") || &t_Co == 88 || &t_Co == 256
     call <SID>X("Question", "#00ff00", "", "none")
     "call <SID>X("NonText", "#0030ff", "", "")
     call <SID>X("VertSplit", "#000000", "#808080", "none")
-    call <SID>X("Folded", "#808080", "#202020", "")
-    call <SID>X("FoldColumn", "#808080", "#202020", "")
-    call <SID>X("LineNr", "#90f020", "#202020", "")
-    call <SID>X("DiffAdd", "#00008b", "", "")
-    call <SID>X("DiffChange", "#8b008b", "", "")
-    call <SID>X("DiffDelete", "#0000ff", "#008b8b", "bold")
-    call <SID>X("DiffText", "", "#ff0000", "bold")
+    call <SID>X("Folded", "#808080", "#303030", "")
+    call <SID>X("FoldColumn", "#808080", "#303030", "")
+    call <SID>X("LineNr", "#90f020", "#303030", "")
+    call <SID>X("DiffAdd", "", "#008bff", "")
+    call <SID>X("DiffChange", "", "#8b008b", "")
+    call <SID>X("DiffDelete", "#008b8b", "#303030", "")
+    call <SID>X("DiffText", "#ffffff", "#ff0000", "none")
     call <SID>X("Cursor", "#000000", "#00ff00", "")
+    call <SID>X("CursorLine", "", "#2e2e2e", "none")
+    call <SID>X("ColorColumn", "", "#2e2e2e", "none")
     call <SID>X("lCursor", "#000000", "#ffffff", "")
     "call <SID>X("Comment", "#80a0ff", "", "")
     "call <SID>X("Constant", "#ffa0a0", "", "")
@@ -267,7 +281,8 @@ if has("gui_running") || &t_Co == 88 || &t_Co == 256
     hi def Normal guifg=#c0c0c0 guibg=#000020
 
     call <SID>X("StatusLineNC", "black", "#808080", "none")
-    call <SID>X("StatusLine", "darkblue", "#808080", "none")
+    call <SID>X("StatusLine", "white", "#000080", "none")
+    call <SID>X("User1", "white", "#000080", "bold")
     call <SID>X("WildMenu", "blue", "white", "bold")
     call <SID>X("Todo", "black", "green", "bold")
     call <SID>X("MoreMsg", "#00ff00", "", "none")
@@ -281,6 +296,10 @@ if has("gui_running") || &t_Co == 88 || &t_Co == 256
     hi! link TabLineSel StatusLine
     hi! link TabLine StatusLineNC
 
+    hi! link CursorColumn CursorLine
+
+    hi MatchParen ctermbg=blue
+
     call <SID>X("Pmenu", "#ffffff", "#287eff", "")
 
     hi Comment ctermfg=lightblue cterm=none guifg=#80a0ff gui=none
@@ -315,10 +334,31 @@ if has("gui_running") || &t_Co == 88 || &t_Co == 256
     " Fix up Perl stuff.
 
     " Signs to highlight marks.
-    call <SID>X("MarkLine", "", "#202020", "")
-    call <SID>X("MarkDot", "red", "#202020", "")
-    call <SID>X("MarkSign", "lightblue", "#202020", "")
+    call <SID>X("MarkLine", "", "#303030", "")
+    call <SID>X("MarkDot", "red", "#303030", "")
+    call <SID>X("MarkSign", "lightblue", "#303030", "")
+    call <SID>X("MarkArrow", "#00ff00", "#303030", "")
     hi! link SignColumn LineNr
+
+    " Fix up NERDTree stuff.
+    hi link treeExecFile Type
+    hi treeLink cterm=none ctermfg=cyan gui=none guifg=cyan
+    hi link treeOpenable treeDirSlash
+    hi link treeClosable treeDirSlash
+    hi link treePart treeDirSlash
+    hi link treePartFile treeDirSlash
+
+    " Fix up BufExplorer stuff.
+    hi link bufExplorerHelp Include
+    hi link bufExplorerSortBy Include
+    hi link bufExplorerMapping Identifier
+    hi link bufExplorerTitle Statement
+    hi link bufExplorerActBuf Directory
+    hi link bufExplorerAltBuf Type
+    hi link bufExplorerCurBuf Statement
+    hi link bufExplorerHidBuf Comment
+    hi link bufExplorerUnlBuf String
+    hi link bufExplorerBufNbr Normal
 endif
 
 " vim: set fdl=0 fdm=marker: