ConnorSkees
cbec20f753
make value parsing more robust
2020-05-24 07:51:28 -04:00
ConnorSkees
a01ed981ce
make parsing of toplevel tokens more robust
2020-05-24 07:43:54 -04:00
ConnorSkees
bb89a865d4
remove clones when paring hsla colors
2020-05-24 07:42:42 -04:00
ConnorSkees
90f7023896
handle ( and ) at toplevel
2020-05-23 16:36:11 -04:00
ConnorSkees
5137353cb4
rustfmt
2020-05-23 14:08:40 -04:00
ConnorSkees
ff2962b124
remove more unwraps
2020-05-23 14:07:57 -04:00
ConnorSkees
34f9436163
remove unwrap in favor of if let
2020-05-23 14:03:47 -04:00
ConnorSkees
da768badea
remove unwrap in favor of if let
2020-05-23 13:59:03 -04:00
ConnorSkees
076ee7ca4e
remove redundant clone of identifier
2020-05-23 13:53:24 -04:00
ConnorSkees
c4cfb9112e
eagerly evaluate \@if conditions
2020-05-23 13:39:47 -04:00
ConnorSkees
3c97400935
remove panics on malformed @ if
2020-05-23 12:48:34 -04:00
ConnorSkees
130177d9fe
allow + in selectors
2020-05-23 12:06:04 -04:00
ConnorSkees
eca952b201
handle toplevel closing curly brace
2020-05-23 11:59:04 -04:00
ConnorSkees
a3548b0044
remove panic for missing equal
2020-05-23 11:50:25 -04:00
ConnorSkees
bc12c0b4e7
refactor number parsing to reduce nesting
2020-05-23 01:49:21 -04:00
ConnorSkees
cc15d46f9b
make FORM_FEED const private
2020-05-23 01:17:14 -04:00
ConnorSkees
2a79fa2a40
implement some of the more esoteric binary ops
...
addition, subtraction, and multiplication of functions and maps, along
with correct error messages and tests
2020-05-22 23:30:48 -04:00
ConnorSkees
33c5acc35f
use Identifier for FuncArg
2020-05-22 22:43:29 -04:00
ConnorSkees
7b8b5c233c
remove clone in call arg parsing
2020-05-22 22:30:14 -04:00
ConnorSkees
22607fb0ef
CallArg::Named is backed by Identifier rather than String
2020-05-22 22:28:38 -04:00
ConnorSkees
d4acb3f014
test for double comma in fn args
2020-05-22 22:24:24 -04:00
ConnorSkees
b82be09b95
remove panic on invalid fn args
2020-05-22 22:06:33 -04:00
ConnorSkees
d655879975
test for uppercase escapes in at rules
2020-05-22 21:56:19 -04:00
ConnorSkees
b081fe780b
handle escaped @ else
...
this commit makes the assumption that
https://github.com/sass/dart-sass/issues/1011 is unintended behavior
and may need to be reverted should dart-sass decide it is intended
2020-05-22 21:34:22 -04:00
ConnorSkees
c31684f8c7
test for ++ and +/ ops
2020-05-22 20:58:02 -04:00
ConnorSkees
d4141e09ee
document internal function
2020-05-22 20:50:48 -04:00
ConnorSkees
7261f57e01
emit proper error for map as rhs of addition
2020-05-22 20:47:53 -04:00
ConnorSkees
80e32b4290
emit proper error for map as lhs of addition
2020-05-22 20:34:41 -04:00
ConnorSkees
368f0cf596
refactor away clone inside get-function
2020-05-22 20:24:01 -04:00
ConnorSkees
469dafd07b
test for - and _ in get-function
2020-05-22 20:23:35 -04:00
ConnorSkees
b4b2edc9a4
use Identifier for SassFunction names
2020-05-22 20:13:39 -04:00
ConnorSkees
2102781f62
create structure for identifiers
...
it looks like rustfmt also updated during this commit, so there are some
formatting changes
2020-05-22 18:21:18 -04:00
ConnorSkees
283a2097ff
rename Value::Ident to Value::String
2020-05-22 14:35:41 -04:00
ConnorSkees
969726eb30
Revert string interning
...
There existed issues related to multithreaded tests that are difficult
to resolve. In the future interning may be reimplemented but in a more
limited capacity.
The motivation behind interning *values* was that it appeared checking
for named colors was responsible for much of the time lost when parsing
unquoted strings. If interning were to be reimplemented, it may make
sense to limit it solely to identifiers and style properties.
2020-05-22 14:20:31 -04:00
ConnorSkees
3e5abf0587
remove keywords
2020-05-22 14:09:28 -04:00
ConnorSkees
b15740976c
remove superfluous allocations when resolving idents
2020-05-22 13:49:19 -04:00
ConnorSkees
0d52a1926e
Merge branch 'master' of https://github.com/connorskees/grass
2020-05-22 13:48:00 -04:00
ConnorSkees
5bed62c404
keywords are thread_local
2020-05-22 13:47:48 -04:00
ConnorSkees
face457867
remove allocation when formatting interned strings
2020-05-22 13:07:24 -04:00
ConnorSkees
9a6c8ce019
add string interning
...
this seems to improve performance by ~20% as well as significantly
decrease memory usage
2020-05-21 22:46:40 -04:00
ConnorSkees
3e2689a4cb
improve number parsing code coverage
2020-05-21 18:25:42 -04:00
ConnorSkees
117dc453e2
test for toplevel @ and &
2020-05-21 14:21:40 -04:00
ConnorSkees
ff8447fd7e
handle operators as part of binops
2020-05-21 14:07:46 -04:00
ConnorSkees
2bd8232a00
emit proper error for toplevel "
2020-05-21 13:39:37 -04:00
ConnorSkees
4cba3dfd4e
handle ~ in values
2020-05-21 13:36:55 -04:00
ConnorSkees
c714d52775
handle | in values
2020-05-21 13:31:03 -04:00
ConnorSkees
c68576bb23
refactor parsing of toplevel variables
2020-05-21 13:25:37 -04:00
ConnorSkees
6b9f68922f
allow non-ascii alphanumeric characters in selectors
2020-05-21 13:09:20 -04:00
ConnorSkees
b94a2403d0
fix panics related to toplevel hash and quotes
2020-05-21 12:21:52 -04:00
ConnorSkees
67091115db
better handle - at the start of idents
2020-05-21 12:06:42 -04:00