Saturday, June 22, 2013

Re: Color schemes with colorcolumn support?

> > An alternative solution would be to set the color of the colorcolumn
> > based on some other color from the theme, so it works with themes that
> > don't know about colorcolumn. Set it to the highlight current line
> > color, which a lot more themes seem to have, or to the background color
> > but 10% darker or lighter. I don't know how to do either of these things
> > though.
>
> (snip)
>
> Some options to try:
>
> :hi! link ColorColumn StatusLine
>
> :hi! link ColorColumn CursorLine

This works, thanks, I tried a few and it seems most themes look
reasonable with one or the other of these `:hi! link` commands.

I also use this, to highlight all columns from 80 onwards with the
ColorColumn background color, rather than just a single column, I think
that looks nicer:

let &colorcolumn=join(range(80,999),",")

(from: http://stackoverflow.com/a/13731714).

If the theme defines a CursorLine background color, that will likely be
the best color for ColorColumn as well. If it doesn't have a CursorLine
background color (many themes don't) then StatusLine seems a good
fallback. I think the algorithm should be:

if cursorline is activated:
if the colorscheme does not define a ColorColumn color:
if it defines a CursorLine background color:
:hi! link ColorColumn background CursorLine
else if it defines a StatusLine background color:
:hi! link ColorColumn StatusLine
else:
Print out a warning.

And this function should be automatically executed whenever cursorline
is turned on and whenever the colorscheme is changed.

I may try and implement this at some point.

--
--
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/groups/opt_out.

No comments: