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