Commit Graph

163 Commits

Author SHA1 Message Date
bluebear94 553da642bd
Handle compiler panics when handling infinite lengths (#2215) 2023-09-28 11:15:09 +02:00
Arnaud Golfouse 962071619d
Avoid plugin panics (#2232) 2023-09-26 16:21:21 +02:00
Sébastien d'Herbais de Thun 163c2e1aa2
Gradient Part 1 - Color rework (#2171) 2023-09-19 15:48:33 +02:00
Laurenz 25613cfaf3 Fix missing capturing of assignments
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-16 20:41:44 +02:00
Laurenz 94380f4457 Remove 64-bit-specific test
Fixes #2139
2023-09-15 12:34:35 +02:00
Laurenz 2dc000daeb Type compatibility
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-11 17:38:03 +02:00
Laurenz 305524d005 Update tests for type system changes 2023-09-11 14:42:43 +02:00
Laurenz 2f672b4e2e Allow packages to specify their minimum compiler version 2023-09-04 16:29:57 +02:00
Laurenz a6f347fbb7 Add test for ends-with fix 2023-08-30 17:19:25 +02:00
Pg Biel 19b91d59d1
Allow renaming imports with `as` (#1923) 2023-08-30 13:36:02 +02:00
Sébastien d'Herbais de Thun 8a0dd88f10
Make zip variadic (#2041) 2023-08-30 13:31:37 +02:00
Beiri22 f616302496
Duration type, simple date-duration-calculations and comparisons (#1843) 2023-08-30 12:28:53 +02:00
Kevin K 45bd58fbaa
Implement `rev()` method on string (#2013) 2023-08-26 17:35:52 +02:00
damaxwell 756bdb623c
Support selectors with and/or followed by before/after (#1883)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-08-22 12:23:55 +02:00
Simon Rask 046029b1e2
Add hint for missing method error for dictionary where a field with a function is present (#1922) 2023-08-21 16:26:05 +02:00
bluebear94 877df549aa
Check for control flow event before let binding (#1912)
Fixes #1906 (trying to destructure the result of `continue`).
2023-08-21 16:21:37 +02:00
Gokul Soumya 5c6434d4ce
Add intersperse() method for arrays (#1897) 2023-08-21 16:01:27 +02:00
Laurenz d52493938e Make bytes joinable 2023-08-21 15:33:03 +02:00
astrale-sharp 99ddbafc09
Wasm plugin system (#1555) 2023-08-21 15:17:16 +02:00
sitandr 1e21fac2ce
Fix crashing on empty regexps (#1870) 2023-08-08 14:42:04 +02:00
Laurenz b8b0137504 Bytes type
- 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-08-04 15:46:46 +02:00
bluebear94 66df130ca4
Add start parameter to array enumerate (#1818) 2023-07-29 23:11:21 +02:00
Pg Biel 5bd97e218b
Update field mutation error message (#1742) 2023-07-26 23:03:33 +02:00
Sébastien d'Herbais de Thun 0c94d2b34e
Adding `dedup` to `array` (#1738) 2023-07-18 15:23:56 +02:00
Pg Biel 9b1a2b41f0
Add fields and methods to several primitives (#790) 2023-07-11 16:11:18 +02:00
Laurenz db09a5a712 Better error messages for `#` expressions 2023-07-06 16:01:23 +02:00
Laurenz adcc6e5506 Better error messages for keywords in place of identifiers
Fixes #1123
2023-07-06 15:16:41 +02:00
Mathias Fischler 5bdad06d92
Parser hints infrastructure (#1570) 2023-07-05 16:25:26 +02:00
Laurenz 65f11dc364 Minor improvements 2023-06-30 09:59:58 +02:00
Laurenz 04bffc4f12 Reintroduce `--root` 2023-06-28 10:36:53 +02:00
Laurenz 7b92bd7c34 Basic package management 2023-06-27 18:40:17 +02:00
Mathias Fischler 2e03fb34cb
Add infrastructure to enrich errors with hints (#1486) 2023-06-24 14:18:21 +02:00
Mathias Fischler 93e6638bfe
Resolve #1141: Add hint for missing numbering, improve hint format consistency (#1456) 2023-06-12 12:46:08 +02:00
Laurenz c65aaa9137 Undo regex type rename
Unnecessary breaking change for now
2023-06-09 15:52:31 +02:00
Laurenz 25e94cef03 Fix doc links 2023-05-30 14:50:43 +02:00
MALO 644bbf9914
Add `fields` method to content (#1340) 2023-05-30 10:13:27 +02:00
Pg Biel e4557f6639
Fix `.at(default: ...)` for strings and content (#1339) 2023-05-29 20:15:32 +02:00
Laurenz 017027bf39 Rework delimiter errors
Fixes #572
2023-05-24 16:58:51 +02:00
Laurenz 8aa0ae197d Fix field access on styled element
Fixes #1197
2023-05-22 13:49:09 +02:00
Laurenz 3d83960322 Fix removal order for dictionary
Switches to `shift_remove` for now. In the future, we should look into a more efficient implementation. Fixes #1258.
2023-05-22 13:10:48 +02:00
Laurenz 08870d4a4c Clearer error messages for failed comparisons
Fixes #1231
2023-05-22 13:06:33 +02:00
Leedehai 8d4f9304c0
Update string doc: index can be negative (#1198) 2023-05-19 14:41:58 +02:00
Laurenz 551ea99d05 Show default values in documentation
Fixes #169
Fixes #1102
2023-05-17 14:41:46 +02:00
sitandr 4b17c3f5c6
Show rules for symbols (fixes #1130) (#1175) 2023-05-12 12:26:26 +02:00
Pg Biel f88ef45ee6
Function scopes (#1032) 2023-05-03 14:20:53 +02:00
Michael Lohr ffad8516af
Implement default values for at() (#995) 2023-05-03 12:34:35 +02:00
dvdvgt be3c4d7876
[Feature] Allow function as argument for string.replace (#944) 2023-05-03 11:41:50 +02:00
Marmare314 8fa1af8ac8
check index on placeholder (#1005) 2023-04-28 18:49:21 +02:00
Laurenz 3680c854a2 Touch up docs 2023-04-26 15:37:21 +02:00
Marmare314 59957746e9
Pattern as parameter (#854) 2023-04-26 11:32:11 +02:00
HarmoGlace 7cb63d1aae
Fix overflows with operators (#904) 2023-04-26 11:30:16 +02:00
Leedehai 62361b4127
Support indices preceding the base symbol, revamping #699 (#825)
Breaking change: abbreviate attach() attachment params, top -> t, bottom -> b
2023-04-25 11:24:07 +02:00
Laurenz Stampfl f38989358e
Add a zip method to arrays (#947) 2023-04-25 11:22:20 +02:00
Marmare314 d5d98b67a8
Destructuring assign (#703) 2023-04-25 11:22:12 +02:00
SekoiaTree efad1e71fa
Add sum and product to arrays (#966) 2023-04-25 11:18:27 +02:00
Marmare314 12129f0170
hint for unknown variable containing dash (#924) 2023-04-24 19:08:07 +02:00
HarmoGlace 42b93b7b53
Add `quo`, `trunc` and `fract` calculation methods and rename `mod` to `rem` (#890) 2023-04-20 16:09:41 +02:00
Marmare314 4524539c2b
forbid underscore as identifier closes #513 (#837) 2023-04-20 11:05:11 +02:00
Leedehai dc3017955a
Give more specific error messages (#881) 2023-04-19 13:26:55 +02:00
Marmare314 0105eb7382
Fix function sinks (#638) 2023-04-13 16:07:58 +02:00
Sébastien d'Herbais de Thun 1198e0cd38
Selector rework (#640) 2023-04-12 12:47:51 +02:00
Laurenz 12be8fe070 Let dictionaries respect insertion order 2023-04-11 21:59:02 +02:00
Marmare314 72d8785abe
fix parenthesized binding (#707) 2023-04-11 18:44:17 +02:00
Laurenz 9984e73ff3 Fix highlighting of identifiers before brackets 2023-04-11 17:26:00 +02:00
Laurenz 9720424884 Fix duplicate error message for destructuring 2023-04-11 16:50:26 +02:00
Daniel Csillag a8087a9dbb
Array sorting by key (#584) 2023-04-11 12:48:17 +02:00
Marmare314 0f8219b392
Unpacking syntax (#532)
Closes #341
2023-04-06 15:26:09 +02:00
astrale-sharp 085282c138
Appends a hint if length is expected but hint provided. (#580) 2023-04-05 16:47:12 +02:00
Laurenz 570c528b3e Integers with different bases 2023-04-04 15:46:09 +02:00
Kian-Meng Ang 25acefeb5b
Fix typos (#115)
Found via `codespell -S target -L
crate,ist,thi,alle,dedented,ue,tung,nd,ende,overriden,dependant`
2023-03-22 09:02:51 +01:00
Laurenz 53b57d8294 Fix show rule colon error message 2023-03-21 13:08:18 +01:00
Laurenz ab43bd802e Renaming and refactoring 2023-03-19 22:39:19 +01:00
Laurenz a69b587455 Rename formula to equation 2023-03-18 19:27:31 +01:00
Laurenz a16726ae66 Architecture description 2023-03-18 18:27:22 +01:00
Laurenz e50189cfa7 Allow keywords as fields 2023-03-14 22:31:05 +01:00
Laurenz 724e9b140c Locatability and synthesis improvements 2023-03-13 21:41:33 +01:00
Laurenz 529d3e10c6 Section references 2023-03-11 18:29:48 +01:00
Laurenz a9fdff244a Expose content representation more 2023-03-10 21:19:50 +01:00
Laurenz e5eab73374 Streamline field names 2023-03-08 11:02:27 +01:00
Laurenz 1b2b53ecb9 Require font to be a named argument 2023-03-08 10:44:24 +01:00
Laurenz 25b5bd1175 Fully untyped model 2023-03-07 15:17:13 +01:00
Laurenz 7597b99789 New default style 2023-02-25 20:04:30 +01:00
Laurenz 028632a3a1 Fix error handling after hashtag 2023-02-17 16:32:48 +01:00
Laurenz dd5f07eb91 Add `clusters` and `codepoints` methods 2023-02-17 10:53:47 +01:00
Laurenz 585f656487 Check char boundaries in string methods 2023-02-17 10:20:52 +01:00
Laurenz 72b60dfde7 Fill and stroke properties for containers 2023-02-13 12:18:34 +01:00
Laurenz 7b2cdb9d95 Require colon in show rule 2023-02-12 20:25:24 +01:00
Laurenz 3ffa7393f0 Make all nodes block-level 2023-02-12 19:57:28 +01:00
Laurenz 03cbdea4b4 Fix "not in" precedence 2023-02-12 10:17:35 +01:00
Laurenz ec05ed7e06 Move assets 2023-01-31 15:05:42 +01:00
Laurenz 9a99beec94 Fix `array.pop()` 2023-02-05 17:47:33 +01:00
Laurenz 9e918d06ad Fix function call highlighting 2023-02-03 17:46:53 +01:00
Laurenz 2bb0135d2a Fix inconsistency between text and idents in math 2023-02-02 22:33:12 +01:00
Martin Haug 0287b98ef3 Add calc module 2023-01-30 21:04:34 +01:00
Laurenz 406de22ee5 Remove method call syntax kind 2023-01-28 18:32:58 +01:00
Laurenz 4809e685a2 More capable math calls 2023-01-28 15:36:32 +01:00
Laurenz a8fd64f928 Hashtags everywhere! 2023-01-27 11:54:30 +01:00
Laurenz 2b8426b1b3 Interpret methods on modules as functions in modules 2023-01-23 13:26:10 +01:00
Laurenz dd331f007c Rewrite parser 2023-01-20 14:05:35 +01:00
Laurenz 29b31c4a5a New import syntax 2023-01-03 12:32:17 +01:00