UI kit reference
code/editor/useDefinition
import { … } from 'zidane-ui/code/editor'ui/src/code/editor/useDefinition.ts
Functions#
useDefinitionFunction#
Wires go to definition into a code view: returns token enter/leave/click handlers for
FileView or CodeEditor, linking for the pointer cursor, and goTo for a hover-card action.
function useDefinition<T extends { origin?: EditorRange }>(
scope: string,
enabled: boolean,
resolve: (line: number, column: number) => Promise<readonly T[]>,
navigate: (target: T) => void,
): { enabled: boolean; goTo: (line: number, column: number) => Promise<boolean>; linking: boolean; onClick: (t: CodeToken, e: MouseEvent) => void; onEnter: (t: CodeToken) => void; onLeave: () => void }Type parameters
| Name | Type | Description |
|---|---|---|
| T | extends { origin?: EditorRange } |
Parameters
| Name | Type | Description |
|---|---|---|
| scope | string | Changes with the file shown: a slow answer for the previous one never navigates. |
| enabled | boolean | Off: no underline, clicks pass through. |
| resolve | (line: number, column: number) => Promise<readonly T[]> | Where the symbol at a 1-based (line, column) is defined, with the symbol's extent ( |
| navigate | (target: T) => void | Opens the first target. |