Comments (12)
Hey @datwaft, thanks for the great plugin!
I followed a different way of creating highlight groups. I changed the code to create a global cache of highlight commands in highlight factory and create highlight groups on demand while rendering status line. This creates only the highlight groups which are actually used.
I'll open a pull request if you are okay with this approach.
from bubbly.nvim.
Sounds good, thanks!
from bubbly.nvim.
Hello!
Yes, that was desired, but mainly because when I wrote that part I didn't have a better solution to support all the colors the user could select.
I have been thinking about solutions, one could be to generate at start only the combinations used by the user in the configuration.
Another could be to generate a highlight per component and change the highlight colors at start or on configuration change.
What do you think would be the best?
I am planning to work on this when I am unocuppied from college, which would be in a month or two at maximum. Feel free to open a pull request if you prefer not to wait.
from bubbly.nvim.
Actually, I don't know how it works now. In general each component should be separate from others and it should be loaded only if it is being used.
If I'll have free time I try to fix it or at least to give you some ideas.
from bubbly.nvim.
Thanks! The code for the highlight is here.
from bubbly.nvim.
This also seems to drastically slow down nvim startup with larger files, on the order of seconds for files with thousands of lines
from bubbly.nvim.
I will give this higher priority.
In a month or so I will be free enough to continue working on this. I have a full rework planned for better performance.
from bubbly.nvim.
I am beginning to work in the full rework, btw
from bubbly.nvim.
As @venkatakrishnaannam said in #108, it seems that there is no noticeable performance improvement on large files.
I will close this issue because the problem of too many highlight groups was fixed, but I will open a new one for the startup time in large files.
from bubbly.nvim.
Reopened because of #112.
The pull request that fixed this (i.e. #109) was reverted because of high CPU utilization (#111).
from bubbly.nvim.
With neovim 0.6.1 I started to have errors Too many highlight and syntax groups
from different plugins. Is it because of bubbly's amount of highlight groups?
from bubbly.nvim.
With neovim 0.6.1 I started to have errors
Too many highlight and syntax groups
from different plugins. Is it because of bubbly's amount of highlight groups?
It's probably related. Bubbly generates every permutation based on the colors in the configuration.
Sorry that I haven't had the time to do the full rework, life has been crazy these past months.
from bubbly.nvim.
Related Issues (20)
- Refactor statusline to use %{ } HOT 5
- Making plugin optional breaks the fusion HOT 2
- no "bubble" in tabline on a single file HOT 3
- Make clear that the plugin uses powerline font
- Slow vim startup with large files HOT 3
- Abnormal CPU usage HOT 2
- lsp_status.messages not working HOT 3
- Invalid branch bubble on Windows HOT 15
- Reload/recompute on colorscheme change is not working HOT 4
- Normalize headers
- Better support for Windows
- Better warning system
- Better default g:bubbly_statusline
- Add help files
- Error using custom inactive colors HOT 7
- Add support for Nerd Fonts filetypes
- Add gitsigns.nvim bubble HOT 3
- Add filetype black/whitelist to bubbles
- Blacklist not working properly HOT 2
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 bubbly.nvim.