Simplify ARO syntax: remove brackets from actions, optional for objects#199
Closed
Simplify ARO syntax: remove brackets from actions, optional for objects#199
Conversation
Breaking change: Actions are now written as capitalized identifiers without angle brackets. Before: <Extract> the <user> from <request>. After: Extract the <user> from <request>. Changes: - Parser now expects actions as capitalized identifiers (Extract, Log, Return, etc.) - Publish and Require also drop angle brackets for consistency - Testing keywords (when, then, assert) recognized as action verbs - Fixed member access parsing to not confuse .Action with property access Updated: - 89 example files in Examples/ - 46 test files in Tests/ - 111 Book markdown files - All Proposals - cards/facts.yaml - CLAUDE.md documentation
Adds backward-compatible support for bare identifiers as objects: - `Log "Hello" to console.` (new) - `Log "Hello" to the <console>.` (still works) - `Store <data> into user-repository.` (hyphenated supported) Qualified objects still require brackets: - `Extract <data> from the <request: body>.` Parser change reuses existing parseCompoundIdentifier() for hyphenated identifier support. Adds 8 new tests for bare object syntax.
- ErrorHandling: Add angle brackets to Throw result (results still need brackets) - FileChecks: Add .exists keyword as valid action verb in parser - HashPluginDemo: Remove angle brackets from DJB2 and FNV1a actions - test-examples.pl: Update regex patterns for socket/file detection (Start the <socket-server> instead of <Start> the <socket-server>) All 66 example tests now pass.
Add nav-toggle button and mobile-menu div to subpages that were missing mobile navigation: - getting-started.html - fdd.html - docs.html - disclaimer.html - imprint.html - doc-template.html - doc-template-nested.html
Rename isArticleFollowedByAngle() to isObjectPattern() and document the semantic distinction: - Article + <x> or bare identifier = object - <x> without article = expression (variable reference) This distinction is intentional and enables both object references and variable expressions using similar syntax.
Remove angle brackets from action verbs to match the simplified syntax: Set, Compute, Log, etc. instead of <Set>, <Compute>, <Log>.
Replace <Action> with Action throughout the website documentation: - Set, Extract, Return, Log, Compute, Store, Retrieve, etc. This matches the simplified syntax where action verbs no longer require angle brackets.
- Update all code examples in LSP handlers to use actions without angle brackets (Extract instead of <Extract>) - Update MCP tool and prompt providers with new syntax - Fix SignatureHelpHandler regex to detect actions without brackets - Update documentation strings to reflect syntax change - Fix LSP test for signature help
Update VSCode and IntelliJ plugins to match the new ARO syntax where actions are bare capitalized words (Extract, Log, Return) instead of angle-bracketed (<Extract>, <Log>, <Return>). Changes: - Update TextMate grammar patterns in both plugins - Update all code snippets and live templates - Update README documentation and examples
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
<Extract>→Extract<console>→console<Action>syntax no longer accepted<console>andconsoleworkBefore
After
Rules
Extract,Log,Return)<user>,<data: json>)console,user-repository)<request: body>,<env: PATH>)Test plan
🤖 Generated with Claude Code