Add Yuri Feldman's hexHighlight plugin to vim/plugins
This commit is contained in:
parent
1a0a9e2b1a
commit
610c0ee66e
1 changed files with 42 additions and 0 deletions
42
vim/plugin/hexHighlight.vim
Normal file
42
vim/plugin/hexHighlight.vim
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
"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><F10> :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
|
Loading…
Add table
Add a link
Reference in a new issue