Comments (7)
WIP in https://github.com/rktjmp/lush.nvim/compare/main..extend-spec, usage https://github.com/rktjmp/lush.nvim/blob/d97aa6399a53bd6781b60bce248d4d23267aa846/spec/lush_extends_spec.moon
from lush.nvim.
Pretty major bug where
base = parse -> {
A { bg: "a_bg" , fg: "a_fg" },
Z { bg: "z_bg", fg: "z_fg" }
}
base_2 = parse((-> {
A { fg: A.bg },
B { bg: "arst", fg: "rsast" }
X { Z, fg: "x_z_fg" }
}), {extends: {base}})
will collapse because we try to define an existing group. I think this use case is actually pretty natural to fall into.
Can get around with some code changes and
base = parse -> {
A { bg: "a_bg" , fg: "a_fg" },
Z { bg: "z_bg", fg: "z_fg" }
}
base_2 = parse((-> {
A { fg: base.A.bg },
B { bg: "arst", fg: "rsast" }
X { Z, fg: "x_z_fg" }
}), {extends: {base}})
but it makes the API inconsistent. May disable automatic lookup in favour of always using base.Group
which is less magical, for better or worse.
from lush.nvim.
Prefer base.Group
syntax in 39ef2bf
from lush.nvim.
https://github.com/rktjmp/lush-light-dark-example
from lush.nvim.
Example for docs
nord = require('lush_theme.nord)
lush.extend(nord).with(function()
return {
-- i like nord but need brighter normal text
Normal { fg = nord.Normal.fg.li(30) },
Comment { fg = colorblind_safe_green } -- also I cant see normal color
MyPlug { ... } -- and I want my custom local plugin to mirror some nord settings.
}
end)
from lush.nvim.
Generally needs a "bang" fn at the end to roll up all the specs.
extends(specs).with(spec)
, most semantic in my mind (but i wrote it so that seems obvious).
chain(specs).combine(spec)
, suggestion but I am not sold on it.
merge(specs).into(spec)
, relationship is a bit inverse "into"
lush(spec).merge_with/onto(specs)
puts parents at the end which may be many loc down.
Possibly have two styles
extends(specs).with(spec)
for alteration, merge(specs)
auto bangs, merge to me reads as an verb not an... adverb?
Could also just allow extends(specs).with(nil)
but I would almost expect that to return nothing.
from lush.nvim.
from lush.nvim.
Related Issues (20)
- 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
- altfont style support is missing HOT 1
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.