Connor Skees
33f81f5bbe
simplify Scope::get_var
2020-07-07 17:36:52 -04:00
Connor Skees
ef25481420
invert if statement
2020-07-07 17:26:10 -04:00
Connor Skees
9b4815e75f
avoid unnecessary cloning of identifiers
2020-07-07 17:22:18 -04:00
Connor Skees
817c808826
dont allocate @if
body unless necessary
2020-07-07 17:13:13 -04:00
Connor Skees
69089a13cf
remove superfluous reference
2020-07-07 15:02:27 -04:00
Connor Skees
4379e1e3b7
lazily compute normalized name of psuedo selector
2020-07-07 14:48:02 -04:00
Connor Skees
1ae9cdbb23
box selector
field of pseudo selectors
...
gives a ~3% improvement to bootstrap by decreasing size of
`SimpleSelector` to 88 bytes
2020-07-07 14:30:35 -04:00
Connor Skees
eb50381236
color equality only checks rgba value and normalizes channels
2020-07-07 12:30:33 -04:00
Connor Skees
35da511860
replace eat
terminology with parse
2020-07-07 12:02:59 -04:00
Connor Skees
25862a5af8
do not strip whitespace before comma in psuedo selector
2020-07-07 11:37:20 -04:00
Connor Skees
df60ef094c
allow media queries to contain a single identifier wrapped in parens
2020-07-07 11:23:09 -04:00
Connor Skees
b56a4a3fcc
map equality considers both key and value
2020-07-07 10:55:37 -04:00
Connor Skees
790573195f
resolve clippy lints
2020-07-07 01:13:15 -04:00
Connor Skees
57562b52d3
map equality is independent of order
2020-07-07 01:06:22 -04:00
Connor Skees
6138efc059
refactor value equality checks
2020-07-07 00:01:34 -04:00
Connor Skees
49607da222
fix @each
bug involving list containing map with multiple elements
2020-07-06 23:11:46 -04:00
Connor Skees
7971bfe98b
improve inspect output for arglists with 1 arg
2020-07-06 22:31:30 -04:00
Connor Skees
ba7a368684
allow empty arglists in builtin map functions
2020-07-06 22:25:27 -04:00
Connor Skees
70cc7afdaf
use inspect for builtin function error messages
2020-07-06 22:25:27 -04:00
Yusuf Redzic
ae73c733fb
Add colored help output
2020-07-06 21:09:25 -05:00
Connor Skees
e1e643d286
emit @import
when importing a url or .css file
2020-07-06 19:47:12 -04:00
Connor Skees
4edc324fcd
remove superfluous whitespace from media query involving and
2020-07-06 18:59:21 -04:00
Connor Skees
22cc36b578
more robustly emit empty arglists
2020-07-06 18:41:50 -04:00
Connor Skees
9936656077
handle non-string keys in splatted map
2020-07-06 17:54:55 -04:00
Connor Skees
7c320ae9a2
handle edge case of single list containing map used in @each
2020-07-06 16:10:09 -04:00
Connor Skees
aa8f120824
resolve media query bug involving multiple identifiers
2020-07-06 15:37:03 -04:00
Connor Skees
2fa1804ccd
remove panic on malformed @import
2020-07-06 12:55:34 -04:00
Connor Skees
60c9327cf3
remove superfluous clone and indexing for loops from @extend
2020-07-06 12:49:13 -04:00
Connor Skees
4a9604dcf4
improve documentation
2020-07-06 10:30:21 -04:00
Connor Skees
92aa149f8a
remove dependency on bitflags
2020-07-05 10:21:43 -04:00
Connor Skees
eec454c2d0
Merge branch 'master' of https://github.com/connorskees/grass
2020-07-05 09:36:04 -04:00
Ivan Tham
85ec26001a
Keep parser context with bitflags
2020-07-05 09:35:42 -04:00
Ivan Tham
85a5b005cb
refactor keyframes and number parsing logic
2020-07-05 09:35:42 -04:00
Connor Skees
dbfd90d444
better handle maps, arglists, and mul units in @debug
2020-07-05 07:31:10 -04:00
Connor Skees
91ef5dcfd5
refactor how newlines are emitted
...
still not perfect, but getting closer. this brings the bulma diff down
from around 1,700 lines to only 500 (all a result of newlines)
2020-07-04 22:52:11 -04:00
Connor Skees
fd37b34345
update passing tests
2020-07-04 21:20:16 -04:00
Connor Skees
c4439c14fd
do not strip newlines after comments in selectors
2020-07-04 21:02:49 -04:00
Connor Skees
827225a143
initial implementation of @keyframes
2020-07-04 20:50:53 -04:00
Connor Skees
65f93ad6d5
builtin fns red
, green
, and blue
round their output
2020-07-04 18:46:23 -04:00
Connor Skees
3cde25959b
remove !optional hack
2020-07-04 18:32:13 -04:00
Connor Skees
a1d704ff82
update passing tests
2020-07-04 14:38:12 -04:00
Connor Skees
91ff4c10b4
resolve clippy lints
2020-07-04 13:44:52 -04:00
Connor Skees
fc36a7a1e8
remove superfluous clones in weave()
2020-07-04 13:43:09 -04:00
Connor Skees
05f5bc141a
avoid cloning all extensions for every selector
2020-07-04 13:16:52 -04:00
Connor Skees
95c8b8d123
remove clone from extend_simple
2020-07-04 13:10:51 -04:00
Connor Skees
d79488b00f
remove superfluous clone from add_selector()
2020-07-04 12:58:04 -04:00
Connor Skees
52ecd1e2d0
optimize ExtendedSelector::into_selector
...
when there is only one reference to an `ExtendedSelector`, the selector
will no longer do unnecessary cloning. this is a significant improvement
as previously we were cloning *every* selector multiple times. note that
this is optimization only occurs when the selector is being emitted.
2020-07-04 12:38:09 -04:00
Connor Skees
ca861d488b
optimize common case of previously seen simple selectors
2020-07-04 12:11:01 -04:00
Connor Skees
c52a0c7dd9
remove or pattern todos
...
clippy now has a lint for them
2020-07-04 11:33:31 -04:00
Connor Skees
a823ae7811
remove fallible trait impls from SassError
2020-07-04 11:27:57 -04:00