LSP: trace navigation through hierarchy requests, document links and document symbols

Abierto
#385 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
javascript

Línea de trabajo

Start with the syscribe lsp entry point and ADR-SYS-LSP-001, then inspect the existing references and code lens implementations and their tests. Add coverage for hierarchy requests, document links, symbols, folding ranges, and workspace symbols based on the acceptance criteria. Done means the specified trace relationships, prose links, and ordered TestCase scenario outline are returned; selection ranges and semantic tokens remain out of scope.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Part of #380.

Current state

References and code lens counts exist (N verifiedBy · N derivedChildren), but the user cannot walk the trace. Ids written in the Markdown body (see REQ-X-004) are plain text. The outline is empty.

Proposal

  1. Hierarchy requests as the trace. Implement textDocument/prepareTypeHierarchy + typeHierarchy/supertypes/subtypes for requirements, mapping parents to derivedFrom: and children to the derived children; callHierarchy incoming/outgoing for satisfies/verifies (satisfier and verifier of a requirement; the requirements a test covers). Standard requests, so an editor's built-in hierarchy view becomes a requirements trace without custom UI.
  2. Document links (textDocument/documentLink): every resolvable stable id or qualified name in the body and in free-text fields becomes a link; unresolved ones are not linked.
  3. Document symbols (textDocument/documentSymbol) for the outline: the element with its main fields, and for a TestCase each Gherkin scenario; for a StateDef its states. Folding ranges for the frontmatter and fenced blocks.
  4. Workspace symbols gain containerName (package) and a kind per element type, so search groups sensibly.
  5. Selection range / semantic tokens are not in scope.

Acceptance (tests first)

  • The type hierarchy of a leaf requirement returns its parent chain; subtypes returns its derived children.
  • The call hierarchy of a requirement lists its satisfiers and verifying tests; of a test, the requirements it verifies.
  • documentLink returns a link for an id in prose and none for an unknown token.
  • The outline of a TestCase lists its scenarios in order.

Part of #272. Scope: syscribe lsp only (standard LSP, ADR-SYS-LSP-001).


Generated by Claude Code

Lenguaje dominante
Rust
Estrellas
8
Forks
1
Merge medio
3 h 26 min
PR fusionados (30 d)
66

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de sjames/syscribe

Todos los issues de sjames/syscribe

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.