module

Hecr::LSP::Slots

Slot-name analysis for rename: slot names are scoped to the component they belong to, so the parser decides which entries match.

Instance methods

at(source : String, line : Int32, character : Int32) : Tuple(String, String) | Nil

The {component, slot} whose entry tag name contains the position (1-based line, 0-based char), considering open and close tags.

Source
builder_in(signature : String) : String | Nil

The builder type named in a component signature (& : TableSlots(T) ->).

Source
definition_sites(text : String, builder : String, slot : String) : Array(Site)

Declaration and builder-usage spans in the component's defining .cr file: the slot line inside the matching Hecr.slots ... do block, and .slot / .add_slot calls (heuristic: scoped to that file).

Source
entry_sites(source : String, component : String, slot : String) : Array(Site)

Name spans (open and close tags) of entries named slot under components named component.

Source

Nested types