Commit Graph

157 Commits

Author SHA1 Message Date
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
Laurenz 7c683db367 Merge `MarkupNode` and `MathNode` into `Expr` 2022-12-31 09:52:14 +01:00
Laurenz a6d90c1bf1 Numbering functions 2022-12-30 20:00:50 +01:00
Laurenz f70cea508c Remove index syntax in favor of accessor methods 2022-12-30 16:45:41 +01:00
Laurenz 94cf7005e9 Forbid division by zero 2022-12-30 10:01:37 +01:00
Laurenz 68c6160a14 Recursion with max depth 2022-12-30 09:48:30 +01:00
Laurenz 31f904a2c4 Split up and document shapes 2022-12-21 16:19:46 +01:00