1509 Commits

Author SHA1 Message Date
ConnorSkees
004ca3a7ed bump version to 0.8.0 2020-05-05 19:02:03 -04:00
ConnorSkees
648e101c49 add tests passing at the start of may 2020-05-05 19:01:40 -04:00
ConnorSkees
26df276266 Value::to_css_string returns a Cow<'static, str> 2020-05-05 11:08:34 -04:00
ConnorSkees
96e916e750 handle negative values in @for 2020-05-02 15:11:58 -04:00
ConnorSkees
4321a383f2 eat whitespace after silent comments 2020-05-02 12:49:42 -04:00
ConnorSkees
07f12b6fb4 remove unnecessary logical not 2020-05-02 12:31:53 -04:00
ConnorSkees
2e8126af13 prefer match over if let .. else .. 2020-05-02 12:25:53 -04:00
ConnorSkees
2cc655aa61 add flags for profile.release 2020-05-02 12:12:19 -04:00
ConnorSkees
3ca48702a1 interpolated_ident_body doesn't allocate its own string 2020-05-02 11:47:49 -04:00
ConnorSkees
cf0cb01141 further optimize formatting of numbers
grass differs from rsass in that all numbers are bigints. this makes our
fomatting of numbers 6x slower than rsass and barely faster than
node-sass. ideally in the future, we would just use plain float
formatting. i've learned that dart-sass no longer configures precision as a cli
flag, so there is potentially some manual loop unrolling or
optimizations we could make knowing that all numbers must be a max of 10
digits. the next release of num_rational should contain an
implementation of to_f64() for BigRational, so that may solve our
problems.
2020-05-02 10:36:23 -04:00
ConnorSkees
8ff334f26a we dont need to check that output buffer is valid utf8 2020-05-01 19:24:26 -04:00
ConnorSkees
fe92c5ed63 simplify lexing of \f and \r 2020-05-01 19:16:57 -04:00
ConnorSkees
be6ee76486 -I takes 1 arg and --precision takes a value 2020-05-01 16:06:22 -04:00
ConnorSkees
67bee201de add -t alias for style 2020-05-01 15:57:37 -04:00
ConnorSkees
d5169b2e23 add hidden cli arg --precision
dart-sass will accept this arg, but it will ignore its value
2020-05-01 15:48:16 -04:00
ConnorSkees
05b78a3ddd add profiling feature 2020-05-01 15:43:43 -04:00
ConnorSkees
1326e8f000 add all commandline flags/args from dart-sass 2020-05-01 14:16:40 -04:00
ConnorSkees
daf7f247cf refactor iteration over intermediate values 2020-05-01 03:13:20 -04:00
ConnorSkees
4d17c24514 replace some indexing with .get() 2020-04-30 19:59:13 -04:00
ConnorSkees
1d518efeaf refactor lowercasing of idents
avoid creating more strings than necessary
2020-04-30 19:43:59 -04:00
ConnorSkees
0aed492123 move builtin fns to outer scope to reduce nesting 2020-04-30 19:36:34 -04:00
ConnorSkees
170759239a simplify declaration of rgb fns 2020-04-30 19:04:32 -04:00
ConnorSkees
4cfa29c971 simplify declaration of other color fns 2020-04-30 18:59:27 -04:00
ConnorSkees
11e0d523b2 simplify declaration of opacity fns 2020-04-30 18:54:29 -04:00
ConnorSkees
3e8b83d8ad simplify declaration of hsl fns 2020-04-30 18:51:10 -04:00
ConnorSkees
22098ca684 simplify declaration of string fns 2020-04-30 18:41:33 -04:00
ConnorSkees
26aabb42ad simplify declaration of meta fns 2020-04-30 18:31:55 -04:00
ConnorSkees
7270890e45 use is_one rather than comparison 2020-04-30 16:36:10 -04:00
ConnorSkees
6b257fbfe9 mark some error branches as #[cold] 2020-04-30 16:33:27 -04:00
ConnorSkees
8a3ba1ae07 make lowercase in place where possible 2020-04-30 16:08:35 -04:00
ConnorSkees
a6e03e4ae1 reduce nesting in ident parsing 2020-04-30 16:02:40 -04:00
ConnorSkees
fda95683ce simplify declaration of math fns 2020-04-30 15:48:54 -04:00
ConnorSkees
2d094490ba simplify declaraction of map fns 2020-04-30 15:18:54 -04:00
ConnorSkees
2eef3e9f6a store &'static str rather than String for builtin fn names 2020-04-30 15:00:57 -04:00
ConnorSkees
f2322dda4d simplify declaration of list functions 2020-04-30 14:47:07 -04:00
ConnorSkees
3645a93382 further optimize parsing and printing of floats 2020-04-29 12:13:47 -04:00
ConnorSkees
03316161a8 remove superfluous is_float variable 2020-04-28 15:49:19 -04:00
ConnorSkees
bc09e49c89 remove is_float field of ParsedNumber 2020-04-28 15:28:50 -04:00
ConnorSkees
bcbf3f4a90 clippy 2020-04-28 15:14:44 -04:00
ConnorSkees
b2b5156e3b better instructions for running spec tests 2020-04-28 15:08:07 -04:00
ConnorSkees
a9ec7ff73f fix issue where only 0 would be emitted for non-scientific-notation numbers 2020-04-28 14:49:00 -04:00
ConnorSkees
a183a9ffa2 optimize parsing of numbers
This makes parsing of floats roughly 10x faster
2020-04-28 13:18:54 -04:00
ConnorSkees
2ee4396978 handle scientific notation in numbers 2020-04-28 12:15:10 -04:00
ConnorSkees
269f37034a clippy 2020-04-28 08:27:35 -04:00
ConnorSkees
8711e61398 refactor stylesheet into separate file 2020-04-27 15:53:43 -04:00
ConnorSkees
769b7628d8 refactor QualifiedName into common 2020-04-26 23:52:32 -04:00
ConnorSkees
74e3a2e0dc ignore coverage folder 2020-04-26 23:45:28 -04:00
ConnorSkees
ce32a7e5ac explicitly test for equality 2020-04-26 23:21:18 -04:00
ConnorSkees
e1db99351a more tests for type-of 2020-04-26 23:14:22 -04:00
ConnorSkees
7db57054e1 emitting get-function is an error 2020-04-26 23:11:04 -04:00