Hi Paul!
On Fr, 23 Jan 2015, Paul wrote:
> Christian Brabandt:
> >On Do, 04 Mär 2010, pansz wrote:
> >> Script can use highlight command to change color, however, if a
> >> script  meant to change one color temporarily, it has no knowledge
> >> about the  previous setting.
> >>
> >> 1. the :hi Cursor is defined by my color scheme.  2. now in some
> >> case a script change the cursor color to indicate a  special mode.
> >> 3. when the mode ends, the script want to change the Cursor back
> >> but it  has no knowledge about what is the highlight of Cursor
> >> defined by user's  color scheme.
> > […]
> >> Any work around? Thanks for all.
> >>
> > 
> > Try the attached script. I was written quick and dirty fr a similar
> > issue on this list. It already queries the font attribute, though
> > this only works with a patched vim, currently.
> 
> Christian Brabandt kindly donated a function "Hi" to save the
> highlighting for a group (included at the very bottom).
> 
>    :hi CursorLine
>    CursorLine     xxx term=underline cterm=underline guifg=white guibg=#002000
> 
> I have groups for which not all keys are defined.  They are saved with
> a value of -1, which seems to be interpretted as an error:
> 
>    :echo Hi("CursorLine")
>    hi CursorLine term=underline ctermbg=-1 ctermfg=-1 guibg=#002000 cterm=underline guifg=white
> 
>    :exe Hi("CursorLine")
>    E421: Color name or number not recognized: ctermbg=-1 ctermfg=-1 guibg=#002000 cterm=underline guifg=white
> 
> I've delved into vim code in years past, and I have an idea of how
> long it will take.  Unfortunately, I won't be doing that any time
> soon.  Is there a quick way to get around the problem?  My vim version
> info is:
>      let out='hi ' . a:1
>      for item in items(s:attr) 
> 	 "if item[1] >=0
> 	     let out .= printf(" %s=%s", item[0], item[1])
> 	 "endif
>      endfor
Try uncommenting the above if statement.
Best,
Christian
-- 
Ich glaube, alle Empfängnisse sind unbefleckt.
		-- George Bernard Shaw
-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
--- 
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Friday, January 23, 2015
Subscribe to:
Post Comments (Atom)
 
No comments:
Post a Comment