MCPcopy Create free account
hub / github.com/CoderLine/alphaTab / binaryNodeSearch

Function binaryNodeSearch

packages/lsp/src/server/utils.ts:34–52  ·  view source on GitHub ↗
(
    items: T[],
    offset: number,
    trailingEnd: number = items.length > 0 ? items[items.length - 1].end!.offset : 0
)

Source from the content-addressed store, hash-verified

32}
33
34export function binaryNodeSearch<T extends alphaTab.importer.alphaTex.AlphaTexAstNode>(
35 items: T[],
36 offset: number,
37 trailingEnd: number = items.length > 0 ? items[items.length - 1].end!.offset : 0
38) {
39 // no items
40 if (items.length === 0) {
41 return undefined;
42 }
43
44 // not in range
45 const rangeStart = items[0].start!.offset;
46 const rangeEnd = trailingEnd;
47 if (offset < rangeStart || offset > rangeEnd) {
48 return undefined;
49 }
50
51 return binaryNodeSearchInner(items, offset, 0, items.length, trailingEnd);
52}
53
54export function resolveSignature(
55 signatures: SignatureDefinition[],

Callers 12

setupSignatureHelpFunction · 0.90
createBeatSignatureHelpFunction · 0.90
setupHoverFunction · 0.90
createBeatHoverFunction · 0.90
createPropertiesHoverFunction · 0.90
createArgumentsHoverFunction · 0.90
setupCompletionFunction · 0.90
createBeatCompletionsFunction · 0.90

Calls 1

binaryNodeSearchInnerFunction · 0.85

Tested by

no test coverage detected