2020-01-19 22:58:25 -05:00
|
|
|
# grass
|
|
|
|
|
|
|
|
An implementation of the SASS spec in rust with 0 dependencies
|
|
|
|
|
2020-01-20 12:42:06 -05:00
|
|
|
To run the official test suite,
|
|
|
|
|
|
|
|
```bash
|
|
|
|
git clone https://github.com/ConnorSkees/grass
|
|
|
|
cd grass
|
|
|
|
git submodule init
|
|
|
|
git submodule update
|
|
|
|
cargo b --release
|
|
|
|
./sass-spec/sass-spec.rb -c './target/release/grass'
|
|
|
|
```
|
|
|
|
|
2020-01-20 15:14:38 -05:00
|
|
|
2020-01-20
|
|
|
|
PASSING: 143
|
|
|
|
FAILING: 4950
|
|
|
|
TOTAL: 5093
|
2020-01-20 12:42:06 -05:00
|
|
|
|
2020-01-19 22:58:25 -05:00
|
|
|
## Features
|
|
|
|
|
|
|
|
`grass` is far from being feature complete! Below you can see what SCSS features are currently supported.
|
2020-01-20 15:14:38 -05:00
|
|
|
My personal MVP focuses on `values`, `@mixin`, `@include`, `@media`, `styles`, `operators`, `css functions` and `css at rules`.
|
2020-01-19 22:58:25 -05:00
|
|
|
|
2020-01-19 22:59:31 -05:00
|
|
|
- [ ] Variables
|
|
|
|
- [x] Scoping
|
|
|
|
- [x] Shadowing
|
|
|
|
- [ ] Built-in variables
|
|
|
|
- [ ] !default
|
|
|
|
- [ ] !global
|
2020-01-20 15:14:38 -05:00
|
|
|
- [ ] @import
|
|
|
|
- [x] SCSS imports
|
|
|
|
- [ ] CSS imports
|
|
|
|
- [ ] URL imports
|
2020-01-19 22:59:31 -05:00
|
|
|
- [x] @error
|
|
|
|
- [x] @warn
|
|
|
|
- [x] @debug
|
|
|
|
- [ ] Styles
|
|
|
|
- [x] !important
|
|
|
|
- [x] Interpolation
|
|
|
|
- [ ] Nesting
|
|
|
|
- [ ] Custom properties
|
|
|
|
- [ ] Hidden declarations
|
|
|
|
- [ ] Selectors
|
|
|
|
- [x] Attributes
|
|
|
|
- [x] Parent selector &
|
|
|
|
- [x] All other selectors
|
|
|
|
- [x] Nesting
|
|
|
|
- [ ] Placeholder selector %
|
|
|
|
- [x] Comments
|
|
|
|
- [x] Removes single line comments
|
|
|
|
- [x] Preserves toplevel multiline comments
|
|
|
|
- [x] Removes inline multiline comments
|
|
|
|
- [ ] @mixin
|
|
|
|
- [x] Keyword args
|
|
|
|
- [x] Default arg values
|
|
|
|
- [ ] Variadic args
|
|
|
|
- [ ] @content
|
|
|
|
- [ ] @include
|
|
|
|
- [x] Keyword args
|
|
|
|
- [x] Default arg values
|
|
|
|
- [ ] Content blocks
|
|
|
|
- [ ] Functions
|
|
|
|
- [ ] @return
|
|
|
|
- [ ] Control flow
|
|
|
|
- [ ] @if
|
|
|
|
- [ ] @else
|
|
|
|
- [ ] @for
|
|
|
|
- [ ] @while
|
|
|
|
- [ ] @each
|
|
|
|
- [ ] Constant folding
|
|
|
|
- [ ] Unit arithmetic
|
|
|
|
- [ ] CSS at rules
|
|
|
|
- [ ] CSS functions
|
|
|
|
- [ ] calc()
|
|
|
|
- [ ] url()
|
|
|
|
- [ ] element()
|
|
|
|
- [ ] progid:...()
|
|
|
|
- [ ] expression()
|
|
|
|
- [ ] min()
|
|
|
|
- [ ] max()
|
|
|
|
- [ ] @media
|
|
|
|
- [ ] @use
|
|
|
|
- [ ] @extend
|
|
|
|
- [ ] @at-root
|
|
|
|
- [ ] @forward
|
|
|
|
- [ ] Values
|
|
|
|
- [ ] Numbers
|
|
|
|
- [ ] Strings
|
|
|
|
- [ ] Colors
|
|
|
|
- [ ] Lists
|
|
|
|
- [ ] Maps
|
|
|
|
- [ ] Booleans
|
|
|
|
- [ ] Null
|
|
|
|
- [ ] Operators
|
|
|
|
- [ ] Built-in modules
|
|
|
|
- [ ] Content encoding
|
|
|
|
- [ ] WASM bindings
|