feat: scan embedded framework files with custom language descriptors#79
Open
FanaticPythoner wants to merge 1 commit into
Open
feat: scan embedded framework files with custom language descriptors#79FanaticPythoner wants to merge 1 commit into
FanaticPythoner wants to merge 1 commit into
Conversation
Add descriptor-backed language configuration so framework components and custom compound files scan nested comment syntaxes while preserving base document matches, offsets, and workspace scan parity. Manifest and configuration: - add Languages settings for custom comment patterns and embedded documents - expose current and legacy namespaces with schema and localized descriptions - snapshot language settings and rebuild scanner state after language changes Comment pattern resolution: - move extension aliases into shared data for JS, TS, JSONC, JSON5, Dart, Stylus, Vue, JSX, TSX, and module variants - add a catalog that resolves ids, aliases, extensions, filenames, compact tokens, and MIME subtypes against comment-pattern metadata - compile custom patterns with single-line, multiline, regex-start, glob, and comments-only support - fail invalid custom language definitions with typed configuration errors Embedded documents: - add descriptor data for Vue, Svelte, and Astro components - add parser registry and html-like region parser for elements, attributes, raw-text blocks, frontmatter fences, wrapped regions, and unresolved masks - merge custom embedded descriptors ahead of defaults through the settings cache Scanning: - mask embedded ranges during base scans and scan nested regions with their own comment patterns - shift nested result positions, offsets, and capture ranges back to the parent document - resolve documents by filename, extension, glob, language id, and pattern name - keep streaming scans alive across open embedded regions - reuse snapshot resource config for raw ripgrep normalization and avoid exact regex execution when captures are not needed Evidence and tooling: - add custom language and issue 19 embedded-document benchmark harnesses - extend perf scenario stubs with language resolver hooks - allow regex equivalence evidence loading from staged JSON modules - update registry equivalence and embedded-document benchmark artifacts Coverage: - add custom language, embedded descriptor, parser registry, Vue, Svelte, Astro, workspace includeGlob, streaming, resolver cache, parity, settings, and alias tests - extend parity fixtures and tolerated deviation rules for comment-aware framework aliases - cover glob-magic registry behavior and manifest setting counts Fixes #19
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.
Add descriptor-backed language configuration so framework components and custom
compound files scan nested comment syntaxes while preserving base document
matches, offsets, and workspace scan parity.
Manifest and configuration:
Comment pattern resolution:
Vue, JSX, TSX, and module variants
tokens, and MIME subtypes against comment-pattern metadata
comments-only support
Embedded documents:
raw-text blocks, frontmatter fences, wrapped regions, and unresolved masks
Scanning:
comment patterns
document
regex execution when captures are not needed
Evidence and tooling:
Coverage:
workspace includeGlob, streaming, resolver cache, parity, settings, and alias
tests
aliases
Fixes #19