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

Function createMetaDataHover

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

Source from the content-addressed store, hash-verified

54}
55
56function createMetaDataHover(metaData: alphaTab.importer.alphaTex.AlphaTexMetaDataNode, offset: number): Hover | null {
57 const metaDataDocs = allMetadata.get(`\\${metaData.tag.tag.text.toLowerCase()}`);
58 if (!metaDataDocs) {
59 return null;
60 }
61
62 if (metaData.tag.start!.offset <= offset && offset <= metaData.tag.end!.offset) {
63 return {
64 contents: {
65 kind: 'markdown',
66 value: withSignaturesToMarkdown(metaDataDocs, metaDataDocs.tag, 'Tag Syntax')
67 }
68 };
69 }
70
71 if (metaData.arguments) {
72 const hover = createArgumentsHover(metaData.arguments, metaDataDocs.signatures, offset);
73 if (hover != null) {
74 return hover;
75 }
76 }
77
78 if (metaData.properties && metaDataDocs.properties) {
79 const hover = createPropertiesHover(metaData.properties, metaDataDocs.properties, offset);
80 if (hover != null) {
81 return hover;
82 }
83 }
84
85 return null;
86}
87
88function createBeatHover(beat: alphaTab.importer.alphaTex.AlphaTexBeatNode, offset: number): Hover | null {
89 if (beat.durationChange?.properties) {

Callers 1

setupHoverFunction · 0.85

Calls 4

withSignaturesToMarkdownFunction · 0.85
createArgumentsHoverFunction · 0.85
createPropertiesHoverFunction · 0.85
getMethod · 0.65

Tested by

no test coverage detected