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

Function createMetaDataSignatureHelp

packages/lsp/src/server/signatureHelp.ts:53–75  ·  view source on GitHub ↗
(
    metaData: alphaTab.importer.alphaTex.AlphaTexMetaDataNode,
    offset: number
)

Source from the content-addressed store, hash-verified

51}
52
53function createMetaDataSignatureHelp(
54 metaData: alphaTab.importer.alphaTex.AlphaTexMetaDataNode,
55 offset: number
56): SignatureHelp | null {
57 const metaDataDocs = allMetadata.get(`\\${metaData.tag.tag.text.toLowerCase()}`);
58 if (!metaDataDocs) {
59 return null;
60 }
61
62 const endOfValues = metaData.arguments?.end?.offset ?? metaData.properties?.start?.offset ?? metaData.end!.offset;
63 if (metaData.start!.offset <= offset && offset < endOfValues) {
64 return createArgumentsSignatureHelp(`\\${metaData.tag.tag.text}`, metaDataDocs, metaData.arguments, offset);
65 }
66
67 if (metaData.properties && metaDataDocs.properties) {
68 const help = createPropertiesSignatureHelp(metaData.properties, metaDataDocs.properties, offset);
69 if (help != null) {
70 return help;
71 }
72 }
73
74 return null;
75}
76
77function createBeatSignatureHelp(
78 beat: alphaTab.importer.alphaTex.AlphaTexBeatNode,

Callers 1

setupSignatureHelpFunction · 0.85

Calls 3

getMethod · 0.65

Tested by

no test coverage detected