Comments (4)
Good idea.
from vim-css-color.
Well, it’s a while later, sorry, but I hope you’re still interested.
The function is called s:parse_screen
by now. In it there is this line:
call substitute( join( getline('w0','w$'), "\n" ), b:css_color_pat, '\=s:create_syn_match()', 'g' )
If you change that to the following, is that enough to make vim-css-color work on files where it choked before?
call filter( range( line('w0'), line('w$') ), 'substitute( getline(v:val), b:css_color_pat, ''\=s:create_syn_match()'', ''g'' )' )
That doesn’t constrain the line length, but it processes a single line at a time instead of all the lines on screen at once, so it drastically cuts down on memory consumption. (It might make the function faster too, or it might make it slower, I can’t say. I’ll have to profile to find out.)
I hope that this is enough to make it work without limiting line lengths, because then I would have to get into bytes vs characters issues, which would essentially force me to require a very recent Vim, something I am reluctant to do. (Even requiring Vim 7 bothers me. But it is what it is.)
from vim-css-color.
It might make the function faster too, or it might make it slower, I can’t say. I’ll have to profile to find out.
Profiling shows it to be something like 1–3%ish slower for common workloads and 5–7%ish faster for torturous workloads. That’s boils down to “no impact” as far I’m concerned, i.e. so far so good.
from vim-css-color.
There you go. This does not disable the plugin on long lines, instead it parses only what’s visible on screen (plus some amount of slop). Together with #43, css-color should now work fine for files of any size. Vim’s own syntax highlighting processing bogs down much worse than css-color in any case where css-color takes noticeable time.
from vim-css-color.
Related Issues (20)
- E121: Undefined variable: b:css_color_pat in netrw
- Neovim tree sitter support HOT 20
- support for svelte files HOT 2
- Plugin is not compatible with nvim-treesitter HOT 1
- No colors in .h files in neovim
- It would be nice to support SVG files HOT 2
- create_matches function takes 1.4 s on large nix files
- NeoVim tree sitter support HOT 1
- Error with files with no highlightable targets in Vim9 HOT 4
- Erroring in java file HOT 2
- Add support for LaTeX? HOT 1
- Add support for template strings
- Does not work HOT 5
- incompatible with nvim-treesitter HOT 2
- [Feature request]: provide a command to make it asynchronous.
- truecolor terminals and termguicolors HOT 5
- Incorrect Highlighting of C Macros
- How to enable color highlighting for strings in CSS
- Error in C comments
- Support CSS Color Module Level 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vim-css-color.