libsass
libsass copied to clipboard
A C/C++ implementation of a Sass compiler
LibSass currently parses certain properties "statically", by trying to detect when they involve no Sass-specific features and passing them through as-is. This was useful for producing byte-for-byte identical output to...
If three or more values are all separated by slashes, they should be interpreted as slash-separated values, rather than being divided. Currently, `@debug 6 / 3 / 2` prints `1`,...
LibSass currently only supports the `i` flag for attribute selectors (e.g. `[a=b i]`). However, [recent specs](https://drafts.csswg.org/selectors/#attribute-case) also support the `s` identifier to indicate case-*sensitivity*. For future-compatibility, LibSass should support all...
When the `saturate()` function is passed a single argument, it should verify that that argument is a number. Currently, it allows any CSS-serializable value.
Currently, `saturate(red, blue)` returns `saturate(red)` in LibSass. This should be an error, because `blue` isn't a number.
Ruby Sass's name for the argument to the single-function overload for `saturate()` was `$amount`, and LibSass should match that. Currently, the argument is named `$color`, like in the two-argument version.
The `alpha()` function allows some unquoted strings as arguments for backwards-compatibility with support for IE's old `filter` syntax, but in keeping with Ruby Sass and Dart Sass, only unquoted strings...
The `adjust-color()`, `scale-color()`, and `change-color()` functions should all allow exactly one positional argument and any number of keyword arguments. LibSass throws errors when zero keyword arguments are passed (as in...
Ruby Sass and Dart Sass both produce errors when any numbers are passed to `scale-color()` without the unit `%`, and LibSass should do the same.
The `scale-color()` function shouldn't define a `$hue` parameter, since a color's hue is a circle rather than a linear scale.