duplicate-mode
Duplicate a lexer mode and all its rules, with optional prefix for cloned rule names. Use it to create similar modes, refactor mode structure, or build templates.
Instructions
Duplicate a lexer mode with all its rules.
When to use: Creating similar modes, refactoring mode structure, creating mode templates.
Features:
Copies all rules from source mode to new mode
Optional prefix for cloned rule names
Creates new mode declaration automatically
Example - Duplicate mode without prefix: source_mode: "STRING_MODE" new_mode: "TEMPLATE_MODE"
Example - Duplicate with rule prefix: source_mode: "STRING_MODE" new_mode: "INTERPOLATION_MODE" prefix_rules: "INTERP_"
Rules will be named: INTERP_STRING_CONTENT, etc.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| new_mode | Yes | Name for the new mode | |
| from_file | No | Optional: path to a grammar file to read | |
| output_mode | No | Output format: "full", "diff", or "none" | |
| source_mode | Yes | Name of the mode to duplicate | |
| prefix_rules | No | Optional prefix for cloned rule names | |
| write_to_file | No | If true, writes modified grammar back to from_file | |
| grammar_content | No | The ANTLR4 grammar file content |