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
This commit is contained in:
Agus Zubiaga 2024-03-04 19:58:22 -03:00
parent 8dedd9f03c
commit e3b600c282
No known key found for this signature in database
16 changed files with 169 additions and 132 deletions

View file

@ -4851,12 +4851,12 @@ fn build_package_header<'a>(
module_timing: ModuleTiming,
) -> Result<(ModuleId, PQModuleName<'a>, ModuleHeader<'a>), LoadingProblem<'a>> {
let exposes = bumpalo::collections::Vec::from_iter_in(
unspace(arena, header.exposes.item.items).iter().copied(),
unspace(arena, header.exposes.items).iter().copied(),
arena,
);
let packages = unspace(arena, header.packages.item.items);
let packages = unspace(arena, header.packages.value.items);
let exposes_ids = get_exposes_ids(
header.exposes.item.items,
header.exposes.items,
arena,
&module_ids,
&ident_ids_by_module,