summaryrefslogtreecommitdiff
path: root/tests/typ/compiler
AgeCommit message (Collapse)Author
2023-11-29A little less route nestingLaurenz
2023-11-28Better error message for named instead of positional argumentLaurenz
2023-11-27Add test cases to verify lexer's identifier validation (#2773)Leedehai
2023-11-26Rework `Vt` into `Engine`Laurenz
- Moves as much data out of the `Vm` - Removes duplication with call_vm and call_vt flavours - Uses tracked chain instead of fixed int for determining max nesting depth - This means that nesting checks now generalizes to layout and realization, to detect crashing show rules and overly nested layouts
2023-11-24Fix `has` on non-inherent fields (#2745)frozolotl
2023-11-21Make `color.components`' alpha parameter named (#2734)frozolotl
2023-11-17Remove restrictions to chroma and improve clamping (#2690)frozolotl
This PR does a few small things: - Oklab's a*/b* and Oklch's chroma components can be as large as desired. - In PDF, when encoding Oklab, the range is widened from [-0.4,0.4] to [-0.5,0.5]. - In PDF, clamping is now performed on Oklch's chroma instead of a* and b*. This causes hue not to be distorted when clamping. SVG and PNG export remain unchanged: - SVG itself never had any restrictions on chroma. We directly use the `oklab` and `oklch` CSS colors, which should work fine for the most part. In the future, embedded ICC profiles might be nice. Further research is likely necessary. - While PNG does not support color spaces like Oklab or Oklch, certain useful features exist. One can define gamma (gAMA) and chromacities&whitepoint (cHRM) chunks and even embed ICC profiles. While `image` crate does not support these features for encoding, its backend crate `png` does support gAMA and cHRM. It does not allow embedding ICC profiles yet, though. As it stands, to fully support wide gamuts and more accurate colors, more work is necessary. This PR should help a bit though.
2023-11-13Make Oklab and Oklch chroma ratios relative to 0.4 (#2642)frozolotl
2023-11-13Add tests for shorthand (#2660)TheJosefOlsson
2023-11-10Implement Oklch support (#2611)frozolotl
2023-11-07Add hints for invalid identifier errors (#2583)tingerrr
2023-11-06Prevent silent swallowing of return expressions trailing arguments (#2545)Samuel Tardieu
Fixes #2104
2023-11-02Implement dict key interpolation (#2559)Matt Fellenz
2023-10-29Improve "cannot apply '{+,-}'" error messages (#2510)MALO
2023-10-27Fix error priority for function argumentsLaurenz
Errors about superfluous arguments are now thrown before errors of the function execution itself. Fixes #1367
2023-10-27Fix argument parsing bugLaurenz
Things like `luma(1, key: "val")` didn't produce an error before because `args.finish()?` wasn't called. This changes `args: Args` to `args: &mut Args` to make it impossible for that to happen.
2023-10-27Implement unary `array.zip`, closing #2478 (#2491)Joseph Wilson
2023-10-10Adds a default value to `.remove()` on `dict` and `array` (#2346)Sébastien d'Herbais de Thun
2023-10-09Use/allow U+2212 MINUS SIGN instead of U+002D HYPHEN MINUS everywhere (#2318)MALO
2023-10-03Gradient Part 2 - Linear gradients (#2279)Sébastien d'Herbais de Thun
2023-10-02Add capability to get current compiler version (#2016)T0mstone
2023-09-28Handle compiler panics when handling infinite lengths (#2215)bluebear94
2023-09-26Avoid plugin panics (#2232)Arnaud Golfouse
2023-09-19Gradient Part 1 - Color rework (#2171)Sébastien d'Herbais de Thun
2023-09-16Fix missing capturing of assignmentsLaurenz
The previous commit was a bit overambitious. The left-hand side of assignments should actually be fully captured: Argument lists in `at` calls can contain captured variables. And if the assigned variable itself is captured, then the function is faulty anyway. (And we ensure the correct error message by capturing it.) Fixes #2169
2023-09-15Remove 64-bit-specific testLaurenz
Fixes #2139
2023-09-11Type compatibilityLaurenz
For now, types can be used like strings in operations to prevent breakage of many packages. Hopefully, we can get rid of this in the future.
2023-09-11Update tests for type system changesLaurenz
2023-09-04Allow packages to specify their minimum compiler versionLaurenz
2023-08-30Add test for ends-with fixLaurenz
2023-08-30Allow renaming imports with `as` (#1923)Pg Biel
2023-08-30Make zip variadic (#2041)Sébastien d'Herbais de Thun
2023-08-30Duration type, simple date-duration-calculations and comparisons (#1843)Beiri22
2023-08-26Implement `rev()` method on string (#2013)Kevin K
2023-08-22Support selectors with and/or followed by before/after (#1883)damaxwell
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-08-21Add hint for missing method error for dictionary where a field with a ↵Simon Rask
function is present (#1922)
2023-08-21Check for control flow event before let binding (#1912)bluebear94
Fixes #1906 (trying to destructure the result of `continue`).
2023-08-21Add intersperse() method for arrays (#1897)Gokul Soumya
2023-08-21Make bytes joinableLaurenz
2023-08-21Wasm plugin system (#1555)astrale-sharp
2023-08-08Fix crashing on empty regexps (#1870)sitandr
2023-08-04Bytes typeLaurenz
- Moves `Bytes` from `util` to `eval` module - Accepts bytes in `str` function for bytes -> str conversion - Adds `bytes` function for str | array -> bytes conversion - Adds `array` function for bytes -> array conversion - Adds `len`, `at`, and `slice` methods for bytes - Adds `encoding` parameter to `read` function
2023-07-29Add start parameter to array enumerate (#1818)bluebear94
2023-07-26Update field mutation error message (#1742)Pg Biel
2023-07-18Adding `dedup` to `array` (#1738)Sébastien d'Herbais de Thun
2023-07-11Add fields and methods to several primitives (#790)Pg Biel
2023-07-06Better error messages for `#` expressionsLaurenz
2023-07-06Better error messages for keywords in place of identifiersLaurenz
Fixes #1123
2023-07-05Parser hints infrastructure (#1570)Mathias Fischler
2023-06-30Minor improvementsLaurenz