-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Labels
futureLong-term plans of requests-for-comment about future/desired features.Long-term plans of requests-for-comment about future/desired features.
Description
Roadmap to modularize skript-parser
1. Lexical modules
- Lexical structure manipulation
- Allow addons to hook into this process and change it
- Possible rework of FileElement and FileSection
- Rework comment parsing
- Refactor/restructure this process to be more optimized and user-friendly (StructureParser?)
2. Registration modules
- Annotation registrations?
- Remove/rework SkriptRegistration class completely (as it is pure convenience either way)
- Enum registrations
- Overriding elements easily
3. Parsing and SyntaxElement modules
- Control flow improvements
- Rework of Finishing, SelfRegistrable and Continuable
- Rework of ArgumentSections and iterative sections
- Exiting function (perhaps instead of SelfRegistrable?)
- Native Async support
- AsyncEffect and AsyncSection, perhaps AsyncExpression
- Rework all async events and effects to be safe, reliable and optimizable
- Operators
- Defined by context and type parameters (nothing else)
- Overriding system to override certain contexts with other type parameters
- Somehow link ContextValue and Operator functionality (although this is probably not necessary)
- Pre- and post-parsing triggers (although this might take it too far)
- Make a new parsing chain with priority queue (for example, when parsing an expression, first parse as a list, then as a variable, then as registered expression, then as context value)
- Allow addons to hook into this system
- Rework tags
- Rework tag registration, parsing and matching/initialization completely
- More customizability, while adding some sort of pattern to it.
- Make them completely independent of VariableString and require a specific call to apply them.
Metadata
Metadata
Assignees
Labels
futureLong-term plans of requests-for-comment about future/desired features.Long-term plans of requests-for-comment about future/desired features.