vim/plugin/hexHighlight.vim @ bb44f2206b1c
mercurial: hack around Kaleidoscopes broken process detection
author |
Steve Losh <steve@stevelosh.com> |
date |
Mon, 27 Dec 2010 16:10:25 -0500 |
parents |
6b4b61ea3d1d |
children |
(none) |
"gvim plugin for highlighting hex codes to help with tweaking colors
"Last Change: 2010 Jan 21
"Maintainer: Yuri Feldman <feldman.yuri1@gmail.com>
"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 <Leader><F2> :call HexHighlight()<Return>
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