88 Commits

Author SHA1 Message Date
Connor Skees
e801e4d424 consistently use Value over Self in certain methods 2020-07-03 13:00:31 -04:00
Connor Skees
b473717861 rename Value::Function to Value::FunctionRef 2020-07-03 12:58:09 -04:00
Connor Skees
596def3906 refactor value evaluation 2020-07-03 12:38:20 -04:00
Connor Skees
f437649103 add support for splats 2020-07-02 17:25:52 -04:00
ConnorSkees
9212ff5fa1 resolve clippy lints 2020-06-26 06:12:50 -04:00
ConnorSkees
195079de86 initial implementation of @extend 2020-06-20 06:09:12 -04:00
ConnorSkees
962549e31b remove most remaining unwraps 2020-06-18 18:22:58 -04:00
ConnorSkees
d90ef7fa41 remove unwraps in Value::to_css_string 2020-06-18 18:22:58 -04:00
ConnorSkees
d196a93f91 arglists are lists too 2020-06-18 18:22:58 -04:00
ConnorSkees
c1b5ff5730 prettify imports 2020-06-16 20:00:11 -04:00
ConnorSkees
71dd7df951 reimplement parsing 2020-06-16 19:38:30 -04:00
ConnorSkees
f3a58e0fa3 initial implementation of selector-* builtin fns 2020-05-31 04:51:41 -04:00
ConnorSkees
bb53aaab8a replace std::borrow::Cow with beef::Cow 2020-05-25 13:09:20 -04:00
ConnorSkees
ec83a9dff7 clippy 2020-05-24 17:41:24 -04:00
ConnorSkees
d90d998ccd remove unwrap in Value::is_null 2020-05-24 16:41:09 -04:00
ConnorSkees
7261f57e01 emit proper error for map as rhs of addition 2020-05-22 20:47:53 -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
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
4ee82e66be refactor comparison ops to src/value/ops.rs 2020-05-16 22:45:32 -04:00
ConnorSkees
c07bb7ecce refactor == and != order of operations 2020-05-16 22:43:13 -04:00
ConnorSkees
01858ff543 use static strings inside unit conversion table 2020-05-06 11:55:49 -04:00
ConnorSkees
6729f24b17 Value::inspect returns cow 2020-05-06 11:50:35 -04:00
ConnorSkees
26df276266 Value::to_css_string returns a Cow<'static, str> 2020-05-05 11:08:34 -04:00
ConnorSkees
7db57054e1 emitting get-function is an error 2020-04-26 23:11:04 -04:00
ConnorSkees
c4de587f4e investigate feature complete inspect() 2020-04-26 18:27:08 -04:00
ConnorSkees
fb7fac5a53 empty bracketed lists are not null 2020-04-26 16:39:44 -04:00
ConnorSkees
33ccabce7b box color in value 2020-04-21 18:54:19 -04:00
ConnorSkees
3805eaab2b clippy 2020-04-21 18:22:26 -04:00
ConnorSkees
a6b61082fe interpolation of strings in idents is literal 2020-04-20 12:12:39 -04:00
ConnorSkees
29886d6845 newlines are no longer replaced with spaces in quoted strings 2020-04-20 11:48:17 -04:00
ConnorSkees
9790846c99 inspect comma separated list of comma separated lists 2020-04-20 03:07:02 -04:00
ConnorSkees
715f6fb94a inspect single value lists 2020-04-20 02:55:55 -04:00
ConnorSkees
9d9997432a properly unquote lists 2020-04-19 22:55:25 -04:00
ConnorSkees
18a04b2669 move util hex_char_for() to utils.rs 2020-04-19 15:50:22 -04:00
ConnorSkees
e820395cc5 refactor printing and parsing of quoted strings 2020-04-19 13:51:37 -04:00
ConnorSkees
4ba45bb8c1 more robust handling of is_null 2020-04-19 00:39:18 -04:00
ConnorSkees
305581ad75 properly error when attempting to display map 2020-04-18 20:11:49 -04:00
ConnorSkees
759e5fdfef simplify ident addition/subtraction 2020-04-18 13:44:11 -04:00
ConnorSkees
fc51798595 change several if statements to match 2020-04-18 13:22:06 -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
97425665f9 consolidate implementation of rgb and rgba 2020-04-06 21:22:03 -04:00
ConnorSkees
7e793392a7 handle special functions calc, element, expression, and progid 2020-04-06 19:26:47 -04:00
ConnorSkees
ef282c5c18 consolidate inspect implementations 2020-04-06 00:27:09 -04:00
ConnorSkees
d550615957 implement order of operations 2020-04-05 17:34:30 -04:00
ConnorSkees
bf8cb594da rustfmt 2020-04-04 21:07:53 -04:00
ConnorSkees
b44c064481 Rename value/function.rs to value/sass_function.rs
This is to faciliate the addition of src/value/css_function.rs and the
inclusion of a special type `CssFunction` which represents a plain css
function.
2020-04-04 18:55:59 -04:00
ConnorSkees
943299de74 better handling of $module in get-function 2020-04-04 12:45:30 -04:00