71 Commits

Author SHA1 Message Date
Connor Skees
3a5526ab26 avoid unnecessary allocations when converting String to Identifier 2020-07-08 10:38:25 -04:00
Connor Skees
558b49af6d better document purpose of Identifier 2020-07-08 10:25:37 -04:00
Connor Skees
0c0c154b66 avoid cloning identifiers for functions 2020-07-07 21:11:45 -04:00
Connor Skees
57562b52d3 map equality is independent of order 2020-07-07 01:06:22 -04:00
Connor Skees
ae77325ad0 consolidate implementation of unvendor() 2020-07-02 10:40:43 -04:00
ConnorSkees
ab61f9fb32 Merge branch 'master' into selector-fns 2020-05-31 05:38:24 -04:00
ConnorSkees
b64ad5b1f3 resolve all clippy lints 2020-05-31 05:32:19 -04:00
ConnorSkees
f3a58e0fa3 initial implementation of selector-* builtin fns 2020-05-31 04:51:41 -04:00
ConnorSkees
5137353cb4 rustfmt 2020-05-23 14:08:40 -04:00
ConnorSkees
076ee7ca4e remove redundant clone of identifier 2020-05-23 13:53:24 -04:00
ConnorSkees
33c5acc35f use Identifier for FuncArg 2020-05-22 22:43:29 -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
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
b15740976c remove superfluous allocations when resolving idents 2020-05-22 13:49:19 -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
09e6568c39 update rustfmt 2020-05-16 16:56:17 -04:00
ConnorSkees
edb9dde259 simplify Display on QuoteKind 2020-05-06 12:07:27 -04:00
ConnorSkees
769b7628d8 refactor QualifiedName into common 2020-04-26 23:52:32 -04:00
ConnorSkees
6fca360b81 remove superfluous impl of Display for ListSeparator 2020-04-26 23:03:30 -04:00
ConnorSkees
52c6ed0b64 remove QuoteKind::Single variant 2020-04-18 13:19:30 -04:00
ConnorSkees
62f9f7da4f integrate error handling with codemap 2020-04-12 19:37:12 -04:00
ConnorSkees
dd4a48165a clippy 2020-04-01 18:09:58 -04:00
ConnorSkees
f46d53d3cc implement keyword operators 2020-04-01 17:40:35 -04:00
ConnorSkees
6df6bcf1da refactor value parsing 2020-04-01 15:32:52 -04:00
ConnorSkees
08dcf0fae7 remove unused symbol and whitespace structs 2020-03-30 10:47:19 -04:00
ConnorSkees
07505399da remove the lexer 2020-03-29 19:42:27 -04:00
ConnorSkees
981bf27cb8 properly parse and emit bracketed lists 2020-03-23 19:56:24 -04:00
ConnorSkees
98a99684b7 refactor quote normalization 2020-03-23 12:12:08 -04:00
ConnorSkees
1127897bd8 rustfmt 2020-03-22 00:56:41 -04:00
ConnorSkees
5914a07d22 handle backticks and control characters 2020-03-21 17:29:12 -04:00
ConnorSkees
284bc8ea6d Implement builtin function list-separator() 2020-03-20 12:32:33 -04:00
ConnorSkees
061694bd63 Initial implementation of !global (some issues remain) 2020-03-17 20:13:53 -04:00
ConnorSkees
3181d58441 refactor and cleaning 2020-03-01 14:53:52 -05:00
ConnorSkees
7d39b0c86a Evaluate binary ops when inserting variables 2020-02-29 20:09:41 -05:00
ConnorSkees
b85b122e3d Preserve case of keywords from, to, and through 2020-02-29 12:11:40 -05:00
ConnorSkees
1b79127cc5 Initial implementation of @for 2020-02-29 11:46:48 -05:00
ConnorSkees
8619f88806 Remove unused QuoteKind impl 2020-02-28 00:41:14 -05:00
ConnorSkees
eab0049566 Use SassError in more places 2020-02-17 09:22:41 -05:00
ConnorSkees
e7de93bd38 Proper error message for undefined variables 2020-02-17 07:55:03 -05:00
ConnorSkees
4c70b84ed7 Calls to undefined functions should be treated as idents 2020-02-09 20:26:14 -05:00
ConnorSkees
44d257494a Properly print decimal numbers 2020-02-08 18:43:18 -05:00
ConnorSkees
fa582b3316 Treat - and _ as the same in identifiers 2020-02-08 17:26:01 -05:00
ConnorSkees
6471ce8f29 Refactor value 2020-02-08 16:08:54 -05:00
ConnorSkees
89060a0e83 Implement ident substraction 2020-02-02 14:46:58 -05:00
ConnorSkees
d464124ae0 Handle !default 2020-01-29 21:02:32 -05:00
ConnorSkees
7fa0ee885e Refactor QuoteKind to common.rs 2020-01-26 16:23:37 -05:00
ConnorSkees
8756adaaaf Truncate keywords (some of them probably shouldn't be keywords) 2020-01-26 12:34:04 -05:00
ConnorSkees
709ed5c6b5 Handle variables as parameters to function calls 2020-01-26 09:13:39 -05:00
ConnorSkees
b482a26934 Refactor AtRule parsing 2020-01-25 13:07:55 -05:00
ConnorSkees
6271da50eb Add functions to scope 2020-01-25 12:47:38 -05:00