Coder Social home page Coder Social logo

Comments (5)

ap avatar ap commented on July 18, 2024

Sounds reasonable, but I’ll have to think about whether it’s feasible.

The fundamental issue is that vim-css-color (mostly1) isn’t doing the colouring, Vim’s syntax highlight engine is. What vim-css-color does is look for colour names in the file and set up highlight rules for them, so that you don’t have to have all 24 million RGB colours predefined in the colour scheme, along with every possible syntax to write any one of these colours. But once a highlight rule is set up, it becomes part of Vim’s syntax highlighting; vim-css-color is no longer involved.

So to toggle the colours is more work than just pausing vim-css-color. Toggling them off will require actively removing the highlights and toggling them back on means those have to be restored. And Vim doesn’t make it terribly nice to modify the highlight rules at runtime. (The ugliest part of vim-css-color is the part that sets those up.) I’ll have to think of some trick to make this work reliably without adding a lot of code.


1 If you have cursorline and/or cursorcolumn set, it does override colours for the current line and/or column, respectively.

from vim-css-color.

airblade avatar airblade commented on July 18, 2024

Just about the only thing I know about working with highlights in Vim is that it's non-trivial. If in the unlikely event I come up with a trick to do this, I'll let you know.

from vim-css-color.

chemzqm avatar chemzqm commented on July 18, 2024

I've got a work around to make vim-css-color works with large css files, since it's can't be toggled, I just disabled the color highlight by remove the file css.vim, and made a comand Color to enable the highlight, code like this:

command! -nargs=0 Color    :call s:HighlightColor()
function! s:HighlightColor()
  if &ft =~# '\v(css|html)'
    call css_color#init('css', 'extended', 'cssMediaBlock,cssFunction,cssDefinition,cssAttrRegion,cssComment')
  endif
  redraw
endfunction

I also have the line

syntax sync minlines=200

In my .vimrc to improve the highlight speed.

from vim-css-color.

ap avatar ap commented on July 18, 2024

Actually this was waaaaaay easier than I thought it was going to be. D’uh!

So now you can :call css_color#toggle() to turn it on and off in a buffer. Of course you can bind that to some mapping.

Sorry it took so long until my flash of the blinding obvious! 😄 Share and enjoy.

from vim-css-color.

airblade avatar airblade commented on July 18, 2024

Thanks!

from vim-css-color.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.