# HG changeset patch # User Steve Losh # Date 1287006977 14400 # Node ID 6b4b61ea3d1d8ff5109f32a7d3ae0cde95e90738 # Parent f0175ad134fded296fc3332a70b0e74878608a33 vim: add hexhighlight diff -r f0175ad134fd -r 6b4b61ea3d1d vim/plugin/hexHighlight.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vim/plugin/hexHighlight.vim Wed Oct 13 17:56:17 2010 -0400 @@ -0,0 +1,42 @@ +"gvim plugin for highlighting hex codes to help with tweaking colors +"Last Change: 2010 Jan 21 +"Maintainer: Yuri Feldman +"License: WTFPL - Do What The Fuck You Want To Public License. +"Email me if you'd like. +let s:HexColored = 0 +let s:HexColors = [] + +map :call HexHighlight() +function! HexHighlight() + if has("gui_running") + if s:HexColored == 0 + let hexGroup = 4 + let lineNumber = 0 + while lineNumber <= line("$") + let currentLine = getline(lineNumber) + let hexLineMatch = 1 + while match(currentLine, '#\x\{6}', 0, hexLineMatch) != -1 + let hexMatch = matchstr(currentLine, '#\x\{6}', 0, hexLineMatch) + exe 'hi hexColor'.hexGroup.' guifg='.hexMatch.' guibg='.hexMatch + exe 'let m = matchadd("hexColor'.hexGroup.'", "'.hexMatch.'", 25, '.hexGroup.')' + let s:HexColors += ['hexColor'.hexGroup] + let hexGroup += 1 + let hexLineMatch += 1 + endwhile + let lineNumber += 1 + endwhile + unlet lineNumber hexGroup + let s:HexColored = 1 + echo "Highlighting hex colors..." + elseif s:HexColored == 1 + for hexColor in s:HexColors + exe 'highlight clear '.hexColor + endfor + call clearmatches() + let s:HexColored = 0 + echo "Unhighlighting hex colors..." + endif + else + echo "hexHighlight only works with a graphical version of vim" + endif +endfunction