Skip to content

feat: scan embedded framework files with custom language descriptors#79

Open
FanaticPythoner wants to merge 1 commit into
masterfrom
fix/issue-19-support-for-vue-files
Open

feat: scan embedded framework files with custom language descriptors#79
FanaticPythoner wants to merge 1 commit into
masterfrom
fix/issue-19-support-for-vue-files

Conversation

@FanaticPythoner

Copy link
Copy Markdown
Owner

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

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for .vue files

1 participant