let l:normalcolour = "darkblue"
let l:editingcolour = "darkmagenta"
+ let l:replacecolour = "purple"
let l:warningcolour = "darkred"
let l:readonlycolour = "red"
+ if b:iainstatus =~# "I"
+ if v:insertmode == "r"
+ let l:editingcolour = l:replacecolour
+ endif
+ endif
+
" Default colour.
let l:colour = l:normalcolour
" Maybe override depending on status.
return 17
elseif a:colour == "darkmagenta"
return 33
+ elseif a:colour == "purple"
+ return 35
elseif a:colour == "darkred"
return 32
elseif a:colour == "red"
return 17
elseif a:colour == "darkmagenta"
return 90
+ elseif a:colour == "purple"
+ return 57
elseif a:colour == "darkred"
return 88
elseif a:colour == "red"
return 196
endif
else
+ " Colours which cterm*g doesn't recognise.
+ if a:colour == "purple"
+ return "magenta"
+ endif
return a:colour
endif
endfun "}}}2
au StatusLine FocusGained * call Highlight_StatusLine("F")
au StatusLine FocusLost * call Highlight_StatusLine("f")
au StatusLine InsertEnter * call Highlight_StatusLine("I")
+ au StatusLine InsertChange * call Highlight_StatusLine("I")
au StatusLine InsertLeave * call Highlight_StatusLine("i")
if has("signs")