Skip to content

Instantly share code, notes, and snippets.

@daniel-walker
Created April 2, 2012 13:22
Show Gist options
  • Save daniel-walker/2283371 to your computer and use it in GitHub Desktop.
Save daniel-walker/2283371 to your computer and use it in GitHub Desktop.
vim-css-color output from self modified code
function! <SNR>32_MatchColorValue(color, pattern)
if ! len(a:color) | return | endif
let group = 'cssColor' . tolower(a:color)
let pattern = a:pattern
if pattern =~ '\>$' | let pattern .= '\>' | endif
redir => currentmatch
silent! exe 'syn list' group
redir END
if stridx( currentmatch, 'match /'.pattern.'/' ) >= 0 | return '' | endif
exe 'syn match' group '/'.pattern.'/ contained'
exe 'syn cluster cssColors add='.group
exe 'hi' group 'ctermbg='.s:XTermColorForRGB(a:color) 'ctermfg='.s:XTermColorForRGB(s:FGForBG(a:color)) | "extra parens = easier to patch
return ''
endfunction
function! <SNR>32_MatchColorName(color, name)
let group = 'cssColor' . tolower(a:color)
exe 'syn keyword' group a:name 'contained'
exe 'syn cluster cssColors add='.group
exe 'hi' group 'ctermbg='.s:XTermColorForRGB(a:color) 'ctermfg='.s:XTermColorForRGB(s:FGForBG(a:color)) | "extra parens = easier to patch
endfunction$
3
function! <SNR>32_MatchColorValue(color, pattern)
if ! len(a:color) | return | endif
let group = 'cssColor' . tolower(a:color)
let pattern = a:pattern
if pattern =~ '\>$' | let pattern .= '\>' | endif
redir => currentmatch
silent! exe 'syn list' group
redir END
if stridx( currentmatch, 'match /'.pattern.'/' ) >= 0 | return '' | endif
exe 'syn match' group '/'.pattern.'/ contained'
exe 'syn cluster cssColors add='.group
exe 'hi' group 'ctermbg='.s:XTermColorForRGB(a:color) 'ctermfg='.s:XTermColorForRGB(s:FGForBG(a:color)) | "extra parens = easier to patch
return ''
endfunction
function! <SNR>32_MatchColorName(color, name)
let group = 'cssColor' . tolower(a:color)
exe 'syn keyword' group a:name 'contained'
exe 'syn cluster cssColors add='.group
exe 'hi' group 'ctermbg='.s:XTermColorForRGB(a:color) 'ctermfg='.s:XTermColorForRGB(s:FGForBG(a:color)) | "extra parens = easier to patch
endfunction$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment