Show bundle lifetimes (cardinality per step) as LSP inlay hints #65

Open
opened 2026-07-04 22:57:01 +00:00 by toph · 0 comments
Owner

A crease name is a bundle of segments (ADR 0014) whose cardinality changes over time: it stays length 1 until the fold that first splits it, then grows. The evaluator already knows the cardinality of every bundle at every step — the live preview (#42, #60) ships per-step data to the editor anyway.

The LSP should surface this as inlay hints on the binding (and/or on hover): for each named bundle, until which step it is length 1 and from which step it holds multiple segments. That tells the author exactly where a bare --d stops being unambiguous and an at projection becomes required, before the evaluator errors.

Once flap-bundles land (upcoming operand-model ADR), the same hints apply to them.

Related: #64 (lint redundant implied clauses), #59 (line-aware cursor sync).

A crease name is a bundle of segments (ADR 0014) whose cardinality changes over time: it stays length 1 until the fold that first splits it, then grows. The evaluator already knows the cardinality of every bundle at every step — the live preview (#42, #60) ships per-step data to the editor anyway. The LSP should surface this as inlay hints on the binding (and/or on hover): for each named bundle, until which step it is length 1 and from which step it holds multiple segments. That tells the author exactly where a bare `--d` stops being unambiguous and an `at` projection becomes required, before the evaluator errors. Once flap-bundles land (upcoming operand-model ADR), the same hints apply to them. Related: #64 (lint redundant implied clauses), #59 (line-aware cursor sync).
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
toph/beloch#65
No description provided.