Connor Skees
fbcee00bdd
allow NaN to take units and refactor math.acos
2020-07-26 23:45:02 -04:00
Connor Skees
53cf2816e0
use None
to represent NaN
2020-07-26 19:38:41 -04:00
Connor Skees
eeb0b0a924
implement builtin sass:math
function clamp
2020-07-26 13:21:59 -04:00
Connor Skees
3a7a3f508a
initial parsing work for modules
2020-07-25 19:22:12 -04:00
Connor Skees
67cbf9591a
allow !optional
in @extend
2020-07-24 20:23:54 -04:00
Joe Ling - uni laptop
50d1987af2
Added grass::Options and implemented options.load_paths
2020-07-15 12:37:19 +01:00
Joe Ling - uni laptop
afbae12b72
fixed formatting
2020-07-13 15:39:14 +01:00
Joe Ling - uni laptop
fe26350932
Added load_paths for @import
2020-07-13 14:52:52 +01:00
Connor Skees
a379d870fc
remove Hash impl for Value
2020-07-10 00:17:15 -04:00
Connor Skees
830d56bd77
only evaluate division in certain cases
2020-07-09 23:52:35 -04:00
Connor Skees
1b8e0ebcd2
properly recognize arglist of null as null
2020-07-08 23:49:30 -04:00
Connor Skees
02efd09d80
avoid cloning the entire scope
2020-07-08 17:52: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
7971bfe98b
improve inspect output for arglists with 1 arg
2020-07-06 22:31:30 -04:00
Connor Skees
22cc36b578
more robustly emit empty arglists
2020-07-06 18:41:50 -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
Connor Skees
dbfd90d444
better handle maps, arglists, and mul units in @debug
2020-07-05 07:31:10 -04:00
Connor Skees
827225a143
initial implementation of @keyframes
2020-07-04 20:50:53 -04:00
Connor Skees
b28309147e
partially implement inverse units
2020-07-04 11:04:51 -04:00
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 unwrap
s 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