Sam Mohr
6a2ffb2f5a
Implement most of the recent round of PR feedback
2024-10-26 04:17:50 -07:00
Sam Mohr
b3e60f9d3a
Implement return keyword
2024-10-20 08:58:59 -07:00
Brendan Hansknecht
e6a149642d
minor fix
2024-10-07 21:16:30 -07:00
Omar Jatoi
3f318e2235
update existing calls to roc_cache_dir()
...
using `roc_cache_packages_dir()` instead, which will return "~/.cache/roc/packages", which was the existing functionality, but `roc_cache_dir()` will now return "~/.cache/roc"
2024-10-03 12:52:52 -04:00
Sam Mohr
2da08be8ef
Remove old record builder syntax
2024-09-21 04:44:44 -07:00
snobee
a7afac7ac7
Add boolean flag to Expr::If for indented else statement
2024-09-05 16:28:44 -07:00
Anton-4
02cf61f985
Merge pull request #7038 from mulias/expr-dbg
...
Support `dbg` in expressions
2024-09-02 13:30:32 +02:00
Elias Mulhall
56c5b790a7
Refactor dbg expression parsing to work more like function application
...
Instead of parsing dbg with an expression block, parse the dbg keyword
with no additional arguments. This way the parser treats dbg just like a
variable in function application. We desugar by pattern matching on
`Apply(Dbg, args, called_via)` nodes. This changes the output of syntax
tests since the initial AST is different, but does not change the output
of can or mono.
Add two new errors for dbg in expression position with either no args or
too many args. This is similar to the error behavior of `crash`.
Continue to parse dbg statements with an expression block, as before.
2024-08-29 15:36:48 -04:00
Elias Mulhall
43d932df3b
Update parser AST to support dbg as both a statment and expression
...
Make `Expr::Dbg` node specific to dbg expressions, add `Expr::DbgStmt`
for dbg statements. Debug expressions don't have a continuation branch.
Support formatting both kinds of `Dbg` nodes.
2024-08-28 11:53:44 -04:00
Sam Mohr
12df3a04de
Merge attempt
2024-08-19 23:34:05 -07:00
Sam Mohr
b1a972ab21
Implement &foo
record updater syntax sugar
2024-08-16 01:41:59 -07:00
Sam Mohr
3bc5c1dc12
Combine ! and ? into single TrySuffix AST node
2024-08-14 22:14:08 -07:00
Sam Mohr
7e72541a79
Merge branch 'main' into builtin-task
2024-08-12 23:12:38 -07:00
Agus Zubiaga
b451e69b20
Merge branch 'main' into typecheck-module-params
2024-08-12 22:27:16 -03:00
Joshua Warner
d25c048d48
Move Full from fmt to parse and reorganize confusingly-named Module ast type
2024-08-07 23:01:49 -07:00
Agus Zubiaga
762799052e
Merge branch 'main' into typecheck-module-params
2024-08-07 18:55:33 -03:00
Sam Mohr
cb8040f629
Ignore underscore-prefixed fields in record builders
2024-08-06 22:49:35 -07:00
Sam Mohr
8288af3156
Merge branch 'main' into builtin-task
2024-07-31 13:36:32 -07:00
Aidan
ddb58a2cd5
spaces_middle
-> lines_between
2024-07-29 13:06:48 -04:00
Aidan
0e2c42d439
update lsp crate
2024-07-29 10:08:27 -04:00
Luke Boswell
b489c44b19
Merge remote-tracking branch 'remote/main' into builtin-task
2024-07-19 19:51:50 +10:00
Sam Mohr
fe1b6d71fc
Update from PR comments
2024-07-07 18:33:20 -07:00
Sam Mohr
f415017c90
Implement new builder syntax alongside old one
2024-07-07 03:28:59 -07:00
Sam Mohr
f61b303a59
Merge branch 'main' into builtin-task
2024-07-03 00:42:48 -07:00
Agus Zubiaga
7ac72159e9
Parse module params loc and rename to pattern
2024-07-02 04:10:45 -03:00
Kiryl Dziamura
de9ed734c5
remove EmptyDefsFinal
2024-07-01 18:45:23 +02:00
Luke Boswell
df9718ac1e
Merge pull request #6733 from jdsee/patch-1
...
Document LSP configuration via nvim-lspconfig
2024-06-28 11:23:04 +10:00
Joscha Seelig
7e3d5752b9
Fix typo
...
Signed-off-by: Joscha Seelig <45944324+jdsee@users.noreply.github.com>
2024-06-28 10:23:32 +10:00
Joscha Seelig
20a5bd668a
Document LSP configuration via nvim-lspconfig
...
Signed-off-by: Joscha Seelig <45944324+jdsee@users.noreply.github.com>
2024-06-28 10:23:31 +10:00
Sam Mohr
700c7ae9aa
Add Task as a built-in module/type
2024-06-25 00:03:56 -07:00
Agus Zubiaga
4e5fdfbf52
Handle root type when loading from str
2024-06-08 19:46:41 -03:00
Agus Zubiaga
0283bd1d24
UNKNOWN PACKAGE -> UNRECOGNIZED PACKAGE rename
2024-06-08 18:34:45 -03:00
Agus Zubiaga
7faff12cbf
Report unrecognized shorthands when loading from the root module
2024-06-08 14:12:01 -03:00
Folkert
2cabe6546c
use std::starts_with
instead of iterator logic
2024-06-05 17:14:06 +02:00
Ayaz
e5ea6dc461
Merge pull request #6708 from roc-lang/module-params-syntax
...
Parse and format module params
2024-05-12 13:51:13 -05:00
Anton-4
1bc5fd56af
Merge branch 'main' into ls-fmt-upgrade
2024-05-10 14:28:17 +02:00
Agus Zubiaga
5ccd15faec
Upgrade header imports when formatting through lang server
2024-05-09 08:17:28 -03:00
Agus Zubiaga
5b1a3c8f03
Parse params in module header
...
module {echo, read} -> [menu]
Formatter isn't implemented yet.
2024-05-09 07:27:43 -03:00
Agus Zubiaga
fb24111190
Narrow language server reports for load
2024-05-08 09:28:44 -03:00
Agus Zubiaga
accba0b75a
Narrow headers for language server reports
2024-05-08 09:24:56 -03:00
Agus Zubiaga
e3b600c282
New package
header syntax
...
Implements the new package header syntax as discussed in Zulip [1].
package [Csv] {
parser: "../parser/main.roc"
}
Old headers still parse and are automatically upgraded to the new
syntax by the formatter.
[1] 418444862
2024-05-01 10:49:03 -03:00
Agus Zubiaga
8dedd9f03c
New app
header syntax
...
Implements the new app header syntax as discussed in Zulip [1].
app [main] {
cli: platform "../platform/main.roc",
json: "../json/main.roc"
}
Old headers still parse and are automatically upgraded to the new
syntax by the formatter.
[1] 418444862
2024-05-01 10:49:01 -03:00
Agus Zubiaga
057a18573a
New module
header
...
Implements the new `module` header syntax as described in "module and package changes" [1]:
```
module [Request, Response, req]
```
The old syntax should still work fine, and is automatically upgraded to the new one
when running `roc format`.
[1] https://docs.google.com/document/d/1E_77fO-44BtoBtXoVeWyGh1xN2KRTWTu8q6i25RNNx0/edit
2024-05-01 10:39:12 -03:00
Agus Zubiaga
eb8ef6241e
Merge branch 'main' into inline-imports
2024-05-01 10:25:17 -03:00
Richard Feldman
6c21bdf91f
cargo fmt
...
Signed-off-by: Richard Feldman <oss@rtfeldman.com>
2024-04-30 16:22:11 -04:00
Richard Feldman
e2b4af8af5
fix typos in comment
...
Signed-off-by: Richard Feldman <oss@rtfeldman.com>
2024-04-30 16:21:48 -04:00
faldor20
29864c2508
added timeout to analysis
2024-04-30 09:44:22 +10:00
faldor20
712d648cf0
reduce panics
2024-04-30 09:44:22 +10:00
Agus Zubiaga
a8a829aadd
Merge branch 'main' into inline-imports
2024-04-28 00:11:29 -03:00
Joshua Warner
6080c12ca8
Parse !
suffixes as an Expr::TaskAwaitBang instead of using suffix field in ident
2024-04-28 08:47:07 +10:00