Mantis 361
authorIain Patterson <me@iain.cx>
Thu, 12 Nov 2009 20:33:57 +0000 (20:33 +0000)
committerIain Patterson <me@iain.cx>
Thu, 12 Nov 2009 20:37:08 +0000 (20:37 +0000)
Hack to make dark grey actually dark when Vim is run under screen in an
88-colour terminal.

.vim/colors/iain.vim

index 1693e2e..1ceaf05 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