feat(lang): rename schedule keyword from extends to modifies
Changed the schedule composition keyword from "extends" to "modifies" to better reflect the semantic meaning of schedule inheritance. When a schedule modifies another, it inherits base blocks and can override them by name or add new blocks. This is a breaking change for all existing Storybook files that use schedule composition. The migration is a simple find-and-replace: schedule X extends Y → schedule X modifies Y Changes include: - Grammar: Updated tree-sitter grammar and lexer token - Parser: Updated lalrpop parser and AST field names - Documentation: Updated all reference docs, tutorials, and specs - Examples: Updated baker-family example schedules - Tests: Updated all test cases and corpus files - Testing: Added type system keywords to prop_tests exclusion list - Tooling: Added xtask for workspace cleanup - Version: Bumped to v0.3.1 (skipping v0.3.0) - Spec: Created SBIR v0.3.1 spec documenting the change BREAKING CHANGE: The "extends" keyword for schedules has been replaced with "modifies". Update all schedule declarations.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// auto-generated: "lalrpop 0.21.0"
|
||||
// sha3: 743aa9a8d35318fbf553927304781732c69eaf9c6e511c3951d24e24d2d8d1e8
|
||||
// sha3: b4edee3687f9fcc3202af2ee2aea58c7d41ed2aa394ce46e045436e20a36760d
|
||||
use crate::syntax::{
|
||||
ast::*,
|
||||
lexer::Token,
|
||||
@@ -2761,7 +2761,7 @@ mod __parse__File {
|
||||
r###""schedules""###,
|
||||
r###""tree""###,
|
||||
r###""priority""###,
|
||||
r###""extends""###,
|
||||
r###""modifies""###,
|
||||
r###""override""###,
|
||||
r###""recurrence""###,
|
||||
r###""season""###,
|
||||
@@ -2976,7 +2976,7 @@ mod __parse__File {
|
||||
Token::Schedules if true => Some(36),
|
||||
Token::Tree if true => Some(37),
|
||||
Token::Priority if true => Some(38),
|
||||
Token::Extends if true => Some(39),
|
||||
Token::Modifies if true => Some(39),
|
||||
Token::Override if true => Some(40),
|
||||
Token::Recurrence if true => Some(41),
|
||||
Token::Season if true => Some(42),
|
||||
@@ -12251,7 +12251,7 @@ mod __parse__File {
|
||||
_: core::marker::PhantomData<()>,
|
||||
) -> (usize, usize)
|
||||
{
|
||||
// Schedule = "schedule", Ident, "extends", Ident, "{", ScheduleBody, "}" => ActionFn(434);
|
||||
// Schedule = "schedule", Ident, "modifies", Ident, "{", ScheduleBody, "}" => ActionFn(434);
|
||||
assert!(__symbols.len() >= 7);
|
||||
let __sym6 = __pop_Variant0(__symbols);
|
||||
let __sym5 = __pop_Variant75(__symbols);
|
||||
@@ -14856,7 +14856,7 @@ fn __action77(
|
||||
) -> Schedule {
|
||||
Schedule {
|
||||
name,
|
||||
extends: None,
|
||||
modifies: None,
|
||||
fields: body.0,
|
||||
blocks: body.1,
|
||||
recurrences: body.2,
|
||||
@@ -14886,7 +14886,7 @@ fn __action78(
|
||||
) -> Schedule {
|
||||
Schedule {
|
||||
name,
|
||||
extends: Some(base),
|
||||
modifies: Some(base),
|
||||
fields: body.0,
|
||||
blocks: body.1,
|
||||
recurrences: body.2,
|
||||
|
||||
Reference in New Issue
Block a user