Comments (4)
Fixed in aaa9a4c
You may still need to do some manual touch ups. compile
won't include code to clear existing highlights (even though that was listed as an option, it was an error in the docs) because it relies on checking some vim-runtime settings that I don't want to pollute down to that layer.
This really only needs to be done if you're hot-reloading like :Lushify
does, so it is likely not a problem if you're targeting vim.
See instructions, specifically compiles
exclude_keys
option.
Lines 549 to 599 in 3a188f1
Lines 15 to 31 in 3a188f1
from lush.nvim.
As it happens, was also asked yesterday, #29
Lush is a neovim plugin that happens to have some vim compatibility, basically by accident.
Why I am hesitant to just throw the option in (as you say, it's not a hard code problem) is sort of two fold:
- the API should be extensible and clear
- Adding a key here, a key there, etc is death by a thousand cuts for an API, before long you're in php.
- I hate having API's change underneath me, and no one really comes back regularly to their vim plugins to check its up coming changes and there's no lock file equivalent (maybe you could use semver branches I guess).
- So it needs some thinking on whether just adding a "vim8_mode" key is ok, vs a feature toggle set (might be best, to support gui client options too?), vs supporting different compilers
- Adding one rule to drop blend isn't too complicated, but I can imagine if vim starts using a different key name for gui (or more likely, use a different key for blending, or even a different blend value type), people may expect Lush to support that too. Then I'm having to support something I don't use (vim).
That's not to say no, just why I feel a bit uncomfortable adding it... Obviously it would be useful to people so it will probably appear in some form.
The readme definitely needs a warning about blend options right now at any rate.
from lush.nvim.
Huh, sorry for missing that! I think I just searched for 'compile'.
You do make really good points about why not to include it. For me, it would have been helpful to have:
- a clear path for how to get the compiled lines in vimscript or lua
- a list of known incompatible options (i.e including a disclaimer that this may be extended without your notice)
That way you don't need to extend the API, and I would have known what I needed to do. Filtering some
strings pretty programming 101, so the user should be able to understand what to do from there.
Didn't mean to close the issue, sorry!
from lush.nvim.
Likely to just include a strip option to compile.
lush.compile(spec, {
strip = {"gui", "blend"}
})
That way I can pretend it isn't for Vim 👀
strip
drop
remove
dump
dont_include
exclude
Probably exclude. Maybe exclude_keys.
from lush.nvim.
Related Issues (20)
- parser.lua error HOT 3
- Unreliable Lushify behaviour HOT 1
- Using new Treesitter groups/tags HOT 4
- How to specify treesitter highlight groups? HOT 2
- How to define treesitter `@x.y` groups HOT 14
- Transparent function HOT 4
- separate colors for keywords and brackets in JavaScript? HOT 3
- Theme the nvim-cmp HOT 2
- `:LushImport` broken HOT 5
- `:Lushify` doesn't work with `lush.extends()` HOT 2
- Built-in support for `g:terminal_color_*` variables HOT 1
- Following the guide to configure an existing theme removes icon colors HOT 7
- Changing boilerplate `sed` code results in error in Mac HOT 4
- `Cursor` highlight group appears not to be working HOT 1
- HSV support ? HOT 2
- `LushImport` doesn't work and errors saying bad argument HOT 3
- slow startup time HOT 8
- Cannot add colour variation for filetype sh HOT 4
- Add warning in :LushRunTutorial to avoid loss of work with naive `:w`'s HOT 1
- Error `bad argument #1 to 'unpack' (table expected, got nil)` HOT 8
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 lush.nvim.