1529 Commits

Author SHA1 Message Date
ConnorSkees
b5c1fb2013 ignore non-ascii numeric characters in numbers 2020-05-24 13:08:31 -04:00
ConnorSkees
c9e5bc89c4 remove unwrap in unknown at rule parsing 2020-05-24 12:52:38 -04:00
ConnorSkees
3051cec45a disallow standalone @else 2020-05-24 12:47:04 -04:00
ConnorSkees
3c1c55038f better handle multiline errors
this is more of a quick fix for potential panics; it does not
properly substitute for real multiline error messages
2020-05-24 12:19:08 -04:00
ConnorSkees
35087fb266 commit bench files 2020-05-24 11:38:14 -04:00
ConnorSkees
c42fdc5ee7 remove unwrap when nothing after / 2020-05-24 10:47:16 -04:00
ConnorSkees
1382ea32ca remove unwrap inside interpolated ident body parsing 2020-05-24 10:37:40 -04:00
ConnorSkees
f52d784756 remove panic from unclosed call args 2020-05-24 10:18:15 -04:00
ConnorSkees
737a6ba90d emit proper error on unclosed quote 2020-05-24 10:04:30 -04:00
ConnorSkees
b653c55ad7 handle case when there is no input after escape 2020-05-24 09:20:55 -04:00
ConnorSkees
096abb6ca0 handle selector with nothing after colon 2020-05-24 09:07:16 -04:00
ConnorSkees
042dbfa914 remove panics from missing identifiers 2020-05-24 08:56:53 -04:00
ConnorSkees
2aaaf59e4f make division with number as lhs more robust 2020-05-24 08:17:08 -04:00
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