merman-editor-core 0.8.0-alpha.3

Protocol-neutral editor intelligence core for Merman.
Documentation
# merman-editor-core

Protocol-neutral editor intelligence for Merman.

This crate is an internal Rust reuse layer shared by protocol adapters such as `merman-lsp` and
browser adapters such as `merman-wasm`. External editors should normally integrate through the LSP
server rather than depending on this crate directly.

## Responsibilities

- Own document snapshots and source/fence lookup through `DocumentWorkspace`, `DocumentSnapshot`,
  and `FenceSnapshot`.
- Query parser-backed semantic facts for completion, hover, document symbols, workspace symbols,
  definition, references, prepare-rename, rename, and semantic tokens.
- Preserve semantic fact provenance with `FenceTextIndexSource` so callers can tell
  `ParserComplete`, `ParserCompleteDegradedSpans`, `ParserRecovered`,
  `ParserRecoveredDegradedSpans`, and `TextScan` results apart.
- Keep language behavior protocol-neutral: no LSP `Url`, `Range`, `Diagnostic`, or VS Code
  ownership policy lives here.

`ParserCompleteDegradedSpans` and `ParserRecoveredDegradedSpans` remain parser-backed for identity
and outline facts, but callers must treat their spans as unavailable for precise source edits when
analysis reports `source_mapped_spans=false`. `TextScan` is a bounded fallback, not a maturity
signal. New editor behavior should deepen parser-backed semantic facts in `merman-core` /
`merman-analysis` rather than adding protocol-layer scans.