Use this skill for ARXML parsing and navigation logic.
Core files
- •
src/arxmlParser.ts: streaming SAX parsing intoArxmlNodetree. - •
src/treeProvider.ts: tree providers, bookmarks, indexing, and navigation. - •
src/integratedTreeProvider.ts: combined Filter/View controls with tree UI. - •
src/crossFileSearchProvider.ts: workspace-wide filtering engine and cache. - •
src/hoverProvider.ts: hover detection and link creation. - •
src/arxmlNode.ts: core node shape and equality.
Guidelines
- •Keep parsing streaming; avoid full DOM parsing.
- •Preserve cross-file navigation by indexing open documents.
- •Use
ArxmlNodeconsistently and keep ranges accurate. - •Filter modes can be per-field (
nameMode,arpathMode,elementMode) and fall back tomode. - •Handle errors with
vscode.window.showErrorMessage(...). - •Avoid refactors when fixing a specific bug.
- •Do not create git commits; the user will review and commit changes manually.
- •Keep SOLID and DRY principles in design, implementation, and documentation.
Indexing behavior
- •
ArxmlTreeProviderrebuilds an ARPATH index for quick lookup. - •
findNodeWithArPathuses index, tree walk, then text search fallback.
Testing
- •Add tests in
src/test/extension.test.tsusing Mochasuite/test. - •Use in-memory samples and
createPositionResolverpattern.