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

Function createArgumentsHover

packages/lsp/src/server/hover.ts:174–198  ·  view source on GitHub ↗
(
    values: alphaTab.importer.alphaTex.AlphaTexArgumentList,
    signatures: SignatureDefinition[],
    offset: number
)

Source from the content-addressed store, hash-verified

172}
173
174function createArgumentsHover(
175 values: alphaTab.importer.alphaTex.AlphaTexArgumentList,
176 signatures: SignatureDefinition[],
177 offset: number
178): Hover | null {
179 const value = binaryNodeSearch(values.arguments, offset);
180 if (value) {
181 const valueIndex = values.arguments.indexOf(value);
182 const signature = resolveSignature(signatures, values).values().next().value;
183 if (signature && valueIndex < signature.parameters.length) {
184 const parameterDoc = signature.parameters[valueIndex];
185 const valueText = valueToText(value).toLowerCase();
186 const valueItem = parameterDoc.values?.find(d => d.name.toLowerCase() === valueText);
187 if (valueItem) {
188 return {
189 contents: {
190 kind: 'markdown',
191 value: parameterValueDocsToMarkDown(valueItem)
192 }
193 };
194 }
195 }
196 }
197 return null;
198}
199
200function withSignaturesToMarkdown(docs: WithSignatures, prefix: string, syntaxName: string = 'Syntax'): string {
201 return [

Callers 2

createMetaDataHoverFunction · 0.85
createPropertiesHoverFunction · 0.85

Calls 7

binaryNodeSearchFunction · 0.90
resolveSignatureFunction · 0.90
valueToTextFunction · 0.85
indexOfMethod · 0.45
nextMethod · 0.45
valuesMethod · 0.45

Tested by

no test coverage detected