| name | arxml-tree-domain |
| description | Modify ARXML parsing, tree providers, and hover navigation for this extension. |
| compatibility | Requires VS Code API types and SAX parser usage. |
Use this skill for ARXML parsing, tree behavior, filtering/search, and navigation logic.
Shared conventions
- Follow
AGENTS.md for coding style, TypeScript/lint rules, testing conventions, and shared engineering constraints.
- Keep this skill focused on domain-specific ARXML/tree guidance only.
Core files
Guidelines
- Follow
AGENTS.md for design-first and minimal-change principles.
- Keep parsing streaming; avoid full DOM parsing.
- Preserve cross-file navigation by indexing open documents.
- Use
ArxmlNode consistently and keep ranges accurate.
- Keep filter-mode behavior consistent: per-field (
nameMode, arpathMode, elementMode) falls back to mode.
- Keep view-behavior extensions behind
ViewBehavior/registry abstractions.
- Maintain workspace/global storage scope behavior for custom views and persisted filters.
- Handle errors with
vscode.window.showErrorMessage(...).
- Avoid refactors when fixing a specific bug.
Custom view schema & examples
Indexing behavior
ArxmlTreeProvider rebuilds an ARPATH index for quick lookup.
findNodeWithArPath uses index, tree walk, then text search fallback.
Testing
- Add/update tests in:
- Use in-memory ARXML samples and
createPositionResolver pattern for parser tests.