feat(lang): complete extends to modifies keyword migration

This commit completes the migration started in the previous commit,
updating all remaining files:

- Lexer: Changed token from Extends to Modifies
- Parser: Updated lalrpop grammar rules and AST field names
- AST: Renamed Schedule.extends field to modifies
- Grammar: Updated tree-sitter grammar.js
- Tree-sitter: Regenerated parser.c and node-types.json
- Examples: Updated baker-family work schedules
- Tests: Updated schedule composition tests and corpus
- Docs: Updated all reference documentation and tutorials
- Validation: Updated error messages and validation logic
- Package: Bumped version to 0.3.1 in all package manifests

All 554 tests pass.
This commit is contained in:
2026-02-16 22:55:04 +00:00
parent 2c898347ee
commit 47fafdc2bf
109 changed files with 5045 additions and 41939 deletions

View File

@@ -130,7 +130,7 @@ schedule MarketSchedule {
Recurrences take priority over regular blocks. On Saturdays, the `MarketDay` blocks replace the regular `work` block.
## Schedule Composition with extends
## Schedule Composition with modifies
Schedules can extend other schedules, inheriting and overriding blocks:
@@ -142,7 +142,7 @@ schedule BaseShopkeeper {
}
}
schedule EarlyBaker extends BaseShopkeeper {
schedule EarlyBaker modifies BaseShopkeeper {
block open {
05:00 - 13:00
action: baking::early_shift
@@ -155,7 +155,7 @@ The `EarlyBaker` schedule overrides the `open` block by name -- same block name,
You can chain extensions:
```storybook
schedule MasterBaker extends EarlyBaker {
schedule MasterBaker modifies EarlyBaker {
block open {
03:00 - 11:00
action: baking::master_work