@coderline/alphatab-language-server 1.7.0-alpha.1626
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +378 -0
- package/LICENSE.header +10 -0
- package/README.md +16 -0
- package/biome.jsonc +31 -0
- package/dist/server.d.ts +208 -0
- package/dist/server.min.mjs +13 -0
- package/dist/server.mjs +6142 -0
- package/dist/server.mjs.map +1 -0
- package/dist/types/alphatab/src/AlphaTabApiBase.d.ts +2550 -0
- package/dist/types/alphatab/src/AlphaTabError.d.ts +15 -0
- package/dist/types/alphatab/src/CoreSettings.d.ts +212 -0
- package/dist/types/alphatab/src/DisplaySettings.d.ts +340 -0
- package/dist/types/alphatab/src/EngravingSettings.d.ts +430 -0
- package/dist/types/alphatab/src/Environment.d.ts +230 -0
- package/dist/types/alphatab/src/EventEmitter.d.ts +62 -0
- package/dist/types/alphatab/src/ExporterSettings.d.ts +23 -0
- package/dist/types/alphatab/src/FileLoadError.d.ts +9 -0
- package/dist/types/alphatab/src/FormatError.d.ts +8 -0
- package/dist/types/alphatab/src/ImporterSettings.d.ts +64 -0
- package/dist/types/alphatab/src/LayoutMode.d.ts +14 -0
- package/dist/types/alphatab/src/LogLevel.d.ts +27 -0
- package/dist/types/alphatab/src/Logger.d.ts +33 -0
- package/dist/types/alphatab/src/NotationSettings.d.ts +509 -0
- package/dist/types/alphatab/src/PlayerSettings.d.ts +411 -0
- package/dist/types/alphatab/src/ProgressEventArgs.d.ts +20 -0
- package/dist/types/alphatab/src/RenderingResources.d.ts +175 -0
- package/dist/types/alphatab/src/ResizeEventArgs.d.ts +19 -0
- package/dist/types/alphatab/src/Settings.d.ts +59 -0
- package/dist/types/alphatab/src/SmuflMetadata.d.ts +84 -0
- package/dist/types/alphatab/src/StaveProfile.d.ts +27 -0
- package/dist/types/alphatab/src/alphaTab.core.d.ts +36 -0
- package/dist/types/alphatab/src/alphaTab.main.d.ts +1 -0
- package/dist/types/alphatab/src/alphaTab.polyfills.d.ts +1 -0
- package/dist/types/alphatab/src/exporter/AlphaTexExporter.d.ts +24 -0
- package/dist/types/alphatab/src/exporter/Gp7Exporter.d.ts +10 -0
- package/dist/types/alphatab/src/exporter/GpifWriter.d.ts +61 -0
- package/dist/types/alphatab/src/exporter/ScoreExporter.d.ts +29 -0
- package/dist/types/alphatab/src/exporter/_barrel.d.ts +3 -0
- package/dist/types/alphatab/src/generated/CoreSettingsJson.d.ts +172 -0
- package/dist/types/alphatab/src/generated/CoreSettingsSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/DisplaySettingsJson.d.ts +328 -0
- package/dist/types/alphatab/src/generated/DisplaySettingsSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/EngravingSettingsCloner.d.ts +7 -0
- package/dist/types/alphatab/src/generated/EngravingSettingsJson.d.ts +388 -0
- package/dist/types/alphatab/src/generated/EngravingSettingsSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/EngravingStemInfoJson.d.ts +20 -0
- package/dist/types/alphatab/src/generated/EngravingStemInfoSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/ExporterSettingsJson.d.ts +24 -0
- package/dist/types/alphatab/src/generated/ExporterSettingsSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/ImporterSettingsJson.d.ts +65 -0
- package/dist/types/alphatab/src/generated/ImporterSettingsSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/NotationSettingsJson.d.ts +210 -0
- package/dist/types/alphatab/src/generated/NotationSettingsSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/PlayerSettingsJson.d.ts +276 -0
- package/dist/types/alphatab/src/generated/PlayerSettingsSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/RenderingResourcesJson.d.ts +168 -0
- package/dist/types/alphatab/src/generated/RenderingResourcesSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/SettingsJson.d.ts +48 -0
- package/dist/types/alphatab/src/generated/SettingsSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/SlidePlaybackSettingsJson.d.ts +31 -0
- package/dist/types/alphatab/src/generated/SlidePlaybackSettingsSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/VersionInfo.d.ts +9 -0
- package/dist/types/alphatab/src/generated/VibratoPlaybackSettingsJson.d.ts +49 -0
- package/dist/types/alphatab/src/generated/VibratoPlaybackSettingsSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/_jsonbarrel.d.ts +14 -0
- package/dist/types/alphatab/src/generated/model/AutomationCloner.d.ts +7 -0
- package/dist/types/alphatab/src/generated/model/AutomationSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/BackingTrackSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/BarSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/BarStyleSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/BeatCloner.d.ts +7 -0
- package/dist/types/alphatab/src/generated/model/BeatSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/BeatStyleSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/BendPointCloner.d.ts +7 -0
- package/dist/types/alphatab/src/generated/model/BendPointSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/ChordSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/FermataSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/HeaderFooterStyleSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/InstrumentArticulationSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/MasterBarSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/NoteCloner.d.ts +7 -0
- package/dist/types/alphatab/src/generated/model/NoteSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/NoteStyleSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/PlaybackInformationSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/RenderStylesheetSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/ScoreSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/ScoreStyleSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/SectionSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/StaffSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/SustainPedalMarkerSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/SyncPointDataCloner.d.ts +7 -0
- package/dist/types/alphatab/src/generated/model/SyncPointDataSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/TrackSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/TrackStyleSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/TuningSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/VoiceSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/generated/model/VoiceStyleSerializer.d.ts +9 -0
- package/dist/types/alphatab/src/importer/AlphaTexImporter.d.ts +69 -0
- package/dist/types/alphatab/src/importer/BinaryStylesheet.d.ts +70 -0
- package/dist/types/alphatab/src/importer/CapellaImporter.d.ts +10 -0
- package/dist/types/alphatab/src/importer/CapellaParser.d.ts +75 -0
- package/dist/types/alphatab/src/importer/Gp3To5Importer.d.ts +95 -0
- package/dist/types/alphatab/src/importer/Gp7To8Importer.d.ts +10 -0
- package/dist/types/alphatab/src/importer/GpifParser.d.ts +131 -0
- package/dist/types/alphatab/src/importer/GpxFileSystem.d.ts +82 -0
- package/dist/types/alphatab/src/importer/GpxImporter.d.ts +10 -0
- package/dist/types/alphatab/src/importer/LayoutConfiguration.d.ts +38 -0
- package/dist/types/alphatab/src/importer/MusicXmlImporter.d.ts +128 -0
- package/dist/types/alphatab/src/importer/PartConfiguration.d.ts +27 -0
- package/dist/types/alphatab/src/importer/ScoreImporter.d.ts +22 -0
- package/dist/types/alphatab/src/importer/ScoreLoader.d.ts +32 -0
- package/dist/types/alphatab/src/importer/UnsupportedFormatError.d.ts +9 -0
- package/dist/types/alphatab/src/importer/_barrel.d.ts +5 -0
- package/dist/types/alphatab/src/importer/alphaTex/ATNF.d.ts +19 -0
- package/dist/types/alphatab/src/importer/alphaTex/AlphaTex1EnumMappings.d.ts +75 -0
- package/dist/types/alphatab/src/importer/alphaTex/AlphaTex1LanguageDefinitions.d.ts +39 -0
- package/dist/types/alphatab/src/importer/alphaTex/AlphaTex1LanguageHandler.d.ts +72 -0
- package/dist/types/alphatab/src/importer/alphaTex/AlphaTex1MetaDataReader.d.ts +42 -0
- package/dist/types/alphatab/src/importer/alphaTex/AlphaTexAst.d.ts +504 -0
- package/dist/types/alphatab/src/importer/alphaTex/AlphaTexLexer.d.ts +43 -0
- package/dist/types/alphatab/src/importer/alphaTex/AlphaTexParser.d.ts +60 -0
- package/dist/types/alphatab/src/importer/alphaTex/AlphaTexShared.d.ts +290 -0
- package/dist/types/alphatab/src/importer/alphaTex/IAlphaTexLanguageImportHandler.d.ts +50 -0
- package/dist/types/alphatab/src/importer/alphaTex/IAlphaTexMetaDataReader.d.ts +12 -0
- package/dist/types/alphatab/src/importer/alphaTex/_barrel.d.ts +4 -0
- package/dist/types/alphatab/src/io/BitReader.d.ts +18 -0
- package/dist/types/alphatab/src/io/ByteBuffer.d.ts +26 -0
- package/dist/types/alphatab/src/io/IOHelper.d.ts +38 -0
- package/dist/types/alphatab/src/io/IReadable.d.ts +48 -0
- package/dist/types/alphatab/src/io/IWriteable.d.ts +22 -0
- package/dist/types/alphatab/src/io/JsonHelper.d.ts +26 -0
- package/dist/types/alphatab/src/io/TypeConversions.d.ts +20 -0
- package/dist/types/alphatab/src/io/_barrel.d.ts +4 -0
- package/dist/types/alphatab/src/midi/AlphaSynthMidiFileHandler.d.ts +28 -0
- package/dist/types/alphatab/src/midi/BeatTickLookup.d.ts +63 -0
- package/dist/types/alphatab/src/midi/ControllerType.d.ts +84 -0
- package/dist/types/alphatab/src/midi/DeprecatedEvents.d.ts +103 -0
- package/dist/types/alphatab/src/midi/GeneralMidi.d.ts +13 -0
- package/dist/types/alphatab/src/midi/IMidiFileHandler.d.ts +79 -0
- package/dist/types/alphatab/src/midi/MasterBarTickLookup.d.ts +85 -0
- package/dist/types/alphatab/src/midi/MidiEvent.d.ts +292 -0
- package/dist/types/alphatab/src/midi/MidiFile.d.ts +72 -0
- package/dist/types/alphatab/src/midi/MidiFileGenerator.d.ts +150 -0
- package/dist/types/alphatab/src/midi/MidiPlaybackController.d.ts +36 -0
- package/dist/types/alphatab/src/midi/MidiTickLookup.d.ts +167 -0
- package/dist/types/alphatab/src/midi/MidiUtils.d.ts +37 -0
- package/dist/types/alphatab/src/midi/_barrel.d.ts +10 -0
- package/dist/types/alphatab/src/model/AccentuationType.d.ts +22 -0
- package/dist/types/alphatab/src/model/AccidentalType.d.ts +42 -0
- package/dist/types/alphatab/src/model/Automation.d.ts +113 -0
- package/dist/types/alphatab/src/model/BackingTrack.d.ts +13 -0
- package/dist/types/alphatab/src/model/Bar.d.ts +329 -0
- package/dist/types/alphatab/src/model/BarreShape.d.ts +18 -0
- package/dist/types/alphatab/src/model/Beat.d.ts +559 -0
- package/dist/types/alphatab/src/model/BendPoint.d.ts +26 -0
- package/dist/types/alphatab/src/model/BendStyle.d.ts +18 -0
- package/dist/types/alphatab/src/model/BendType.d.ts +46 -0
- package/dist/types/alphatab/src/model/BrushType.d.ts +26 -0
- package/dist/types/alphatab/src/model/Chord.d.ts +48 -0
- package/dist/types/alphatab/src/model/Clef.d.ts +26 -0
- package/dist/types/alphatab/src/model/Color.d.ts +40 -0
- package/dist/types/alphatab/src/model/CrescendoType.d.ts +18 -0
- package/dist/types/alphatab/src/model/Direction.d.ts +25 -0
- package/dist/types/alphatab/src/model/Duration.d.ts +50 -0
- package/dist/types/alphatab/src/model/DynamicValue.d.ts +92 -0
- package/dist/types/alphatab/src/model/ElementStyle.d.ts +13 -0
- package/dist/types/alphatab/src/model/FadeType.d.ts +22 -0
- package/dist/types/alphatab/src/model/Fermata.d.ts +34 -0
- package/dist/types/alphatab/src/model/Fingers.d.ts +34 -0
- package/dist/types/alphatab/src/model/Font.d.ts +117 -0
- package/dist/types/alphatab/src/model/GolpeType.d.ts +18 -0
- package/dist/types/alphatab/src/model/GraceGroup.d.ts +26 -0
- package/dist/types/alphatab/src/model/GraceType.d.ts +22 -0
- package/dist/types/alphatab/src/model/HarmonicType.d.ts +34 -0
- package/dist/types/alphatab/src/model/InstrumentArticulation.d.ts +71 -0
- package/dist/types/alphatab/src/model/JsonConverter.d.ts +95 -0
- package/dist/types/alphatab/src/model/KeySignature.d.ts +66 -0
- package/dist/types/alphatab/src/model/KeySignatureType.d.ts +14 -0
- package/dist/types/alphatab/src/model/Lyrics.d.ts +30 -0
- package/dist/types/alphatab/src/model/MasterBar.d.ts +182 -0
- package/dist/types/alphatab/src/model/ModelUtils.d.ts +134 -0
- package/dist/types/alphatab/src/model/MusicFontSymbol.d.ts +289 -0
- package/dist/types/alphatab/src/model/Note.d.ts +516 -0
- package/dist/types/alphatab/src/model/NoteAccidentalMode.d.ts +34 -0
- package/dist/types/alphatab/src/model/NoteOrnament.d.ts +11 -0
- package/dist/types/alphatab/src/model/Ottavia.d.ts +26 -0
- package/dist/types/alphatab/src/model/PercussionMapper.d.ts +15 -0
- package/dist/types/alphatab/src/model/PickStroke.d.ts +18 -0
- package/dist/types/alphatab/src/model/PlaybackInformation.d.ts +45 -0
- package/dist/types/alphatab/src/model/Rasgueado.d.ts +25 -0
- package/dist/types/alphatab/src/model/RenderStylesheet.d.ts +135 -0
- package/dist/types/alphatab/src/model/RepeatGroup.d.ts +33 -0
- package/dist/types/alphatab/src/model/Score.d.ts +224 -0
- package/dist/types/alphatab/src/model/Section.d.ts +17 -0
- package/dist/types/alphatab/src/model/SimileMark.d.ts +24 -0
- package/dist/types/alphatab/src/model/SlideInType.d.ts +18 -0
- package/dist/types/alphatab/src/model/SlideOutType.d.ts +34 -0
- package/dist/types/alphatab/src/model/Staff.d.ts +100 -0
- package/dist/types/alphatab/src/model/Track.d.ts +124 -0
- package/dist/types/alphatab/src/model/TripletFeel.d.ts +34 -0
- package/dist/types/alphatab/src/model/Tuning.d.ts +60 -0
- package/dist/types/alphatab/src/model/TupletGroup.d.ts +37 -0
- package/dist/types/alphatab/src/model/VibratoType.d.ts +18 -0
- package/dist/types/alphatab/src/model/Voice.d.ts +81 -0
- package/dist/types/alphatab/src/model/WahPedal.d.ts +9 -0
- package/dist/types/alphatab/src/model/WhammyType.d.ts +36 -0
- package/dist/types/alphatab/src/model/_barrel.d.ts +57 -0
- package/dist/types/alphatab/src/platform/Cursors.d.ts +31 -0
- package/dist/types/alphatab/src/platform/ICanvas.d.ts +102 -0
- package/dist/types/alphatab/src/platform/IContainer.d.ts +71 -0
- package/dist/types/alphatab/src/platform/IMouseEventArgs.d.ts +27 -0
- package/dist/types/alphatab/src/platform/IUiFacade.d.ts +175 -0
- package/dist/types/alphatab/src/platform/_barrel.d.ts +8 -0
- package/dist/types/alphatab/src/platform/javascript/AlphaSynthAudioExporterWorkerApi.d.ts +21 -0
- package/dist/types/alphatab/src/platform/javascript/AlphaSynthAudioWorkletOutput.d.ts +30 -0
- package/dist/types/alphatab/src/platform/javascript/AlphaSynthScriptProcessorOutput.d.ts +21 -0
- package/dist/types/alphatab/src/platform/javascript/AlphaSynthWebAudioOutputBase.d.ts +57 -0
- package/dist/types/alphatab/src/platform/javascript/AlphaSynthWebWorker.d.ts +31 -0
- package/dist/types/alphatab/src/platform/javascript/AlphaSynthWebWorkerApi.d.ts +98 -0
- package/dist/types/alphatab/src/platform/javascript/AlphaSynthWorkerSynthOutput.d.ts +33 -0
- package/dist/types/alphatab/src/platform/javascript/AlphaTabApi.d.ts +111 -0
- package/dist/types/alphatab/src/platform/javascript/AlphaTabWebWorker.d.ts +16 -0
- package/dist/types/alphatab/src/platform/javascript/AlphaTabWorkerScoreRenderer.d.ts +34 -0
- package/dist/types/alphatab/src/platform/javascript/AudioElementBackingTrackSynthOutput.d.ts +49 -0
- package/dist/types/alphatab/src/platform/javascript/BrowserMouseEventArgs.d.ts +14 -0
- package/dist/types/alphatab/src/platform/javascript/BrowserUiFacade.d.ts +96 -0
- package/dist/types/alphatab/src/platform/javascript/Html5Canvas.d.ts +57 -0
- package/dist/types/alphatab/src/platform/javascript/HtmlElementContainer.d.ts +45 -0
- package/dist/types/alphatab/src/platform/javascript/IWorkerScope.d.ts +8 -0
- package/dist/types/alphatab/src/platform/javascript/IntersectionObserverPolyfill.d.ts +15 -0
- package/dist/types/alphatab/src/platform/javascript/JQueryAlphaTab.d.ts +68 -0
- package/dist/types/alphatab/src/platform/javascript/ResizeObserverPolyfill.d.ts +15 -0
- package/dist/types/alphatab/src/platform/javascript/ScalableHtmlElementContainer.d.ts +26 -0
- package/dist/types/alphatab/src/platform/javascript/WebPlatform.d.ts +10 -0
- package/dist/types/alphatab/src/platform/skia/SkiaCanvas.d.ts +86 -0
- package/dist/types/alphatab/src/platform/svg/CssFontSvgCanvas.d.ts +11 -0
- package/dist/types/alphatab/src/platform/svg/FontSizes.d.ts +32 -0
- package/dist/types/alphatab/src/platform/svg/SvgCanvas.d.ts +48 -0
- package/dist/types/alphatab/src/rendering/BarRendererBase.d.ts +177 -0
- package/dist/types/alphatab/src/rendering/BarRendererFactory.d.ts +21 -0
- package/dist/types/alphatab/src/rendering/BeatXPosition.d.ts +31 -0
- package/dist/types/alphatab/src/rendering/EffectBand.d.ts +31 -0
- package/dist/types/alphatab/src/rendering/EffectBandSizingInfo.d.ts +12 -0
- package/dist/types/alphatab/src/rendering/EffectBandSlot.d.ts +22 -0
- package/dist/types/alphatab/src/rendering/EffectBarGlyphSizing.d.ts +37 -0
- package/dist/types/alphatab/src/rendering/EffectBarRenderer.d.ts +29 -0
- package/dist/types/alphatab/src/rendering/EffectBarRendererFactory.d.ts +22 -0
- package/dist/types/alphatab/src/rendering/EffectBarRendererInfo.d.ts +62 -0
- package/dist/types/alphatab/src/rendering/IScoreRenderer.d.ts +151 -0
- package/dist/types/alphatab/src/rendering/LineBarRenderer.d.ts +64 -0
- package/dist/types/alphatab/src/rendering/MultiBarRestBeatContainerGlyph.d.ts +10 -0
- package/dist/types/alphatab/src/rendering/NumberedBarRenderer.d.ts +54 -0
- package/dist/types/alphatab/src/rendering/NumberedBarRendererFactory.d.ts +18 -0
- package/dist/types/alphatab/src/rendering/NumberedBeatContainerGlyph.d.ts +9 -0
- package/dist/types/alphatab/src/rendering/RenderFinishedEventArgs.d.ts +47 -0
- package/dist/types/alphatab/src/rendering/ScoreBarRenderer.d.ts +68 -0
- package/dist/types/alphatab/src/rendering/ScoreBarRendererFactory.d.ts +18 -0
- package/dist/types/alphatab/src/rendering/ScoreBeatContainerGlyph.d.ts +12 -0
- package/dist/types/alphatab/src/rendering/ScoreRenderer.d.ts +55 -0
- package/dist/types/alphatab/src/rendering/ScoreRendererWrapper.d.ts +37 -0
- package/dist/types/alphatab/src/rendering/SlashBarRenderer.d.ts +41 -0
- package/dist/types/alphatab/src/rendering/SlashBarRendererFactory.d.ts +18 -0
- package/dist/types/alphatab/src/rendering/SlashBeatContainerGlyph.d.ts +9 -0
- package/dist/types/alphatab/src/rendering/TabBarRenderer.d.ts +57 -0
- package/dist/types/alphatab/src/rendering/TabBarRendererFactory.d.ts +22 -0
- package/dist/types/alphatab/src/rendering/_barrel.d.ts +11 -0
- package/dist/types/alphatab/src/rendering/effects/AlternateEndingsEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/BeatBarreEffectInfo.d.ts +21 -0
- package/dist/types/alphatab/src/rendering/effects/BeatTimerEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/CapoEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/ChordsEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/CrescendoEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/DirectionsEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/DynamicsEffectInfo.d.ts +21 -0
- package/dist/types/alphatab/src/rendering/effects/FadeEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/FermataEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/FingeringEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/FreeTimeEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/GolpeEffectInfo.d.ts +23 -0
- package/dist/types/alphatab/src/rendering/effects/HarmonicsEffectInfo.d.ts +23 -0
- package/dist/types/alphatab/src/rendering/effects/LeftHandTapEffectInfo.d.ts +16 -0
- package/dist/types/alphatab/src/rendering/effects/LetRingEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/LyricsEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/MarkerEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/NoteEffectInfoBase.d.ts +15 -0
- package/dist/types/alphatab/src/rendering/effects/NoteOrnamentEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/OttaviaEffectInfo.d.ts +22 -0
- package/dist/types/alphatab/src/rendering/effects/PalmMuteEffectInfo.d.ts +16 -0
- package/dist/types/alphatab/src/rendering/effects/PickSlideEffectInfo.d.ts +16 -0
- package/dist/types/alphatab/src/rendering/effects/PickStrokeEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/RasgueadoEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/SlightBeatVibratoEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/SlightNoteVibratoEffectInfo.d.ts +18 -0
- package/dist/types/alphatab/src/rendering/effects/SustainPedalEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/TapEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/TempoEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/TextEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/TrillEffectInfo.d.ts +16 -0
- package/dist/types/alphatab/src/rendering/effects/TripletFeelEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/WahPedalEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/WhammyBarEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/WideBeatVibratoEffectInfo.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/effects/WideNoteVibratoEffectInfo.d.ts +16 -0
- package/dist/types/alphatab/src/rendering/glyphs/AccentuationGlyph.d.ts +13 -0
- package/dist/types/alphatab/src/rendering/glyphs/AccidentalGlyph.d.ts +10 -0
- package/dist/types/alphatab/src/rendering/glyphs/AccidentalGroupGlyph.d.ts +8 -0
- package/dist/types/alphatab/src/rendering/glyphs/AlternateEndingsGlyph.d.ts +15 -0
- package/dist/types/alphatab/src/rendering/glyphs/ArticStaccatoAboveGlyph.d.ts +8 -0
- package/dist/types/alphatab/src/rendering/glyphs/AugmentationDotGlyph.d.ts +8 -0
- package/dist/types/alphatab/src/rendering/glyphs/BarLineGlyph.d.ts +11 -0
- package/dist/types/alphatab/src/rendering/glyphs/BarNumberGlyph.d.ts +11 -0
- package/dist/types/alphatab/src/rendering/glyphs/BarTempoGlyph.d.ts +14 -0
- package/dist/types/alphatab/src/rendering/glyphs/BeatContainerGlyph.d.ts +34 -0
- package/dist/types/alphatab/src/rendering/glyphs/BeatGlyphBase.d.ts +24 -0
- package/dist/types/alphatab/src/rendering/glyphs/BeatOnNoteGlyphBase.d.ts +18 -0
- package/dist/types/alphatab/src/rendering/glyphs/BeatTimerGlyph.d.ts +14 -0
- package/dist/types/alphatab/src/rendering/glyphs/BeatVibratoGlyph.d.ts +9 -0
- package/dist/types/alphatab/src/rendering/glyphs/BendNoteHeadGroupGlyph.d.ts +26 -0
- package/dist/types/alphatab/src/rendering/glyphs/ChordDiagramContainerGlyph.d.ts +10 -0
- package/dist/types/alphatab/src/rendering/glyphs/ChordDiagramGlyph.d.ts +16 -0
- package/dist/types/alphatab/src/rendering/glyphs/ClefGlyph.d.ts +15 -0
- package/dist/types/alphatab/src/rendering/glyphs/CrescendoGlyph.d.ts +12 -0
- package/dist/types/alphatab/src/rendering/glyphs/DeadNoteHeadGlyph.d.ts +7 -0
- package/dist/types/alphatab/src/rendering/glyphs/DeadSlappedBeatGlyph.d.ts +10 -0
- package/dist/types/alphatab/src/rendering/glyphs/DiamondNoteHeadGlyph.d.ts +9 -0
- package/dist/types/alphatab/src/rendering/glyphs/DirectionsContainerGlyph.d.ts +15 -0
- package/dist/types/alphatab/src/rendering/glyphs/DynamicsGlyph.d.ts +10 -0
- package/dist/types/alphatab/src/rendering/glyphs/EffectGlyph.d.ts +24 -0
- package/dist/types/alphatab/src/rendering/glyphs/FadeGlyph.d.ts +11 -0
- package/dist/types/alphatab/src/rendering/glyphs/FermataGlyph.d.ts +11 -0
- package/dist/types/alphatab/src/rendering/glyphs/FingeringGroupGlyph.d.ts +28 -0
- package/dist/types/alphatab/src/rendering/glyphs/FlagGlyph.d.ts +11 -0
- package/dist/types/alphatab/src/rendering/glyphs/GhostNoteContainerGlyph.d.ts +29 -0
- package/dist/types/alphatab/src/rendering/glyphs/GhostParenthesisGlyph.d.ts +13 -0
- package/dist/types/alphatab/src/rendering/glyphs/Glyph.d.ts +18 -0
- package/dist/types/alphatab/src/rendering/glyphs/GlyphGroup.d.ts +15 -0
- package/dist/types/alphatab/src/rendering/glyphs/GroupedEffectGlyph.d.ts +20 -0
- package/dist/types/alphatab/src/rendering/glyphs/GuitarGolpeGlyph.d.ts +8 -0
- package/dist/types/alphatab/src/rendering/glyphs/KeySignatureGlyph.d.ts +8 -0
- package/dist/types/alphatab/src/rendering/glyphs/LeftHandTapGlyph.d.ts +8 -0
- package/dist/types/alphatab/src/rendering/glyphs/LeftToRightLayoutingGlyphGroup.d.ts +11 -0
- package/dist/types/alphatab/src/rendering/glyphs/LineRangedGlyph.d.ts +14 -0
- package/dist/types/alphatab/src/rendering/glyphs/LyricsGlyph.d.ts +14 -0
- package/dist/types/alphatab/src/rendering/glyphs/MultiBarRestGlyph.d.ts +12 -0
- package/dist/types/alphatab/src/rendering/glyphs/MusicFontGlyph.d.ts +34 -0
- package/dist/types/alphatab/src/rendering/glyphs/NoteHeadGlyph.d.ts +14 -0
- package/dist/types/alphatab/src/rendering/glyphs/NoteNumberGlyph.d.ts +20 -0
- package/dist/types/alphatab/src/rendering/glyphs/NoteOrnamentGlyph.d.ts +10 -0
- package/dist/types/alphatab/src/rendering/glyphs/NoteVibratoGlyph.d.ts +26 -0
- package/dist/types/alphatab/src/rendering/glyphs/NumberGlyph.d.ts +16 -0
- package/dist/types/alphatab/src/rendering/glyphs/NumberedBeatGlyph.d.ts +37 -0
- package/dist/types/alphatab/src/rendering/glyphs/NumberedDashGlyph.d.ts +12 -0
- package/dist/types/alphatab/src/rendering/glyphs/NumberedKeySignatureGlyph.d.ts +17 -0
- package/dist/types/alphatab/src/rendering/glyphs/NumberedNoteHeadGlyph.d.ts +14 -0
- package/dist/types/alphatab/src/rendering/glyphs/NumberedSlurGlyph.d.ts +14 -0
- package/dist/types/alphatab/src/rendering/glyphs/NumberedTieGlyph.d.ts +21 -0
- package/dist/types/alphatab/src/rendering/glyphs/OttavaGlyph.d.ts +15 -0
- package/dist/types/alphatab/src/rendering/glyphs/PercussionNoteHeadGlyph.d.ts +14 -0
- package/dist/types/alphatab/src/rendering/glyphs/PickStrokeGlyph.d.ts +10 -0
- package/dist/types/alphatab/src/rendering/glyphs/PictEdgeOfCymbalGlyph.d.ts +8 -0
- package/dist/types/alphatab/src/rendering/glyphs/RepeatCountGlyph.d.ts +11 -0
- package/dist/types/alphatab/src/rendering/glyphs/RowContainerGlyph.d.ts +12 -0
- package/dist/types/alphatab/src/rendering/glyphs/RowGlyphContainer.d.ts +13 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreBeatGlyph.d.ts +29 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreBeatPreNotesGlyph.d.ts +14 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreBendGlyph.d.ts +17 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreBrushGlyph.d.ts +13 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreHelperNotesBaseGlyph.d.ts +15 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreLegatoGlyph.d.ts +16 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreNoteChordGlyph.d.ts +35 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreNoteChordGlyphBase.d.ts +25 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreNoteGlyphInfo.d.ts +9 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreRestGlyph.d.ts +17 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreSlideLineGlyph.d.ts +22 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreSlurGlyph.d.ts +18 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreTieGlyph.d.ts +20 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreTimeSignatureGlyph.d.ts +8 -0
- package/dist/types/alphatab/src/rendering/glyphs/ScoreWhammyBarGlyph.d.ts +14 -0
- package/dist/types/alphatab/src/rendering/glyphs/SlashBeatGlyph.d.ts +24 -0
- package/dist/types/alphatab/src/rendering/glyphs/SlashNoteHeadGlyph.d.ts +24 -0
- package/dist/types/alphatab/src/rendering/glyphs/SlashRestGlyph.d.ts +9 -0
- package/dist/types/alphatab/src/rendering/glyphs/SlashTieGlyph.d.ts +21 -0
- package/dist/types/alphatab/src/rendering/glyphs/SpacingGlyph.d.ts +8 -0
- package/dist/types/alphatab/src/rendering/glyphs/StringNumberContainerGlyph.d.ts +11 -0
- package/dist/types/alphatab/src/rendering/glyphs/SustainPedalGlyph.d.ts +10 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabBeatContainerGlyph.d.ts +13 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabBeatGlyph.d.ts +25 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabBeatPreNotesGlyph.d.ts +9 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabBendGlyph.d.ts +24 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabBendRenderPoint.d.ts +8 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabBrushGlyph.d.ts +13 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabClefGlyph.d.ts +8 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabNoteChordGlyph.d.ts +33 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabRestGlyph.d.ts +15 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabSlideLineGlyph.d.ts +21 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabSlurGlyph.d.ts +14 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabTieGlyph.d.ts +21 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabTimeSignatureGlyph.d.ts +9 -0
- package/dist/types/alphatab/src/rendering/glyphs/TabWhammyBarGlyph.d.ts +19 -0
- package/dist/types/alphatab/src/rendering/glyphs/TextGlyph.d.ts +18 -0
- package/dist/types/alphatab/src/rendering/glyphs/TieGlyph.d.ts +40 -0
- package/dist/types/alphatab/src/rendering/glyphs/TimeSignatureGlyph.d.ts +18 -0
- package/dist/types/alphatab/src/rendering/glyphs/TremoloPickingGlyph.d.ts +9 -0
- package/dist/types/alphatab/src/rendering/glyphs/TrillGlyph.d.ts +10 -0
- package/dist/types/alphatab/src/rendering/glyphs/TripletFeelGlyph.d.ts +15 -0
- package/dist/types/alphatab/src/rendering/glyphs/TuningContainerGlyph.d.ts +7 -0
- package/dist/types/alphatab/src/rendering/glyphs/TuningGlyph.d.ts +16 -0
- package/dist/types/alphatab/src/rendering/glyphs/VoiceContainerGlyph.d.ts +26 -0
- package/dist/types/alphatab/src/rendering/glyphs/WahPedalGlyph.d.ts +11 -0
- package/dist/types/alphatab/src/rendering/layout/HorizontalScreenLayout.d.ts +23 -0
- package/dist/types/alphatab/src/rendering/layout/PageViewLayout.d.ts +28 -0
- package/dist/types/alphatab/src/rendering/layout/ScoreLayout.d.ts +73 -0
- package/dist/types/alphatab/src/rendering/staves/BarLayoutingInfo.d.ts +44 -0
- package/dist/types/alphatab/src/rendering/staves/MasterBarsRenderers.d.ts +18 -0
- package/dist/types/alphatab/src/rendering/staves/RenderStaff.d.ts +72 -0
- package/dist/types/alphatab/src/rendering/staves/Spring.d.ts +16 -0
- package/dist/types/alphatab/src/rendering/staves/StaffSystem.d.ts +75 -0
- package/dist/types/alphatab/src/rendering/staves/StaffTrackGroup.d.ts +20 -0
- package/dist/types/alphatab/src/rendering/utils/AccidentalHelper.d.ts +89 -0
- package/dist/types/alphatab/src/rendering/utils/BarBounds.d.ts +45 -0
- package/dist/types/alphatab/src/rendering/utils/BarCollisionHelper.d.ts +31 -0
- package/dist/types/alphatab/src/rendering/utils/BarHelpers.d.ts +18 -0
- package/dist/types/alphatab/src/rendering/utils/BeamDirection.d.ts +7 -0
- package/dist/types/alphatab/src/rendering/utils/BeamingHelper.d.ts +92 -0
- package/dist/types/alphatab/src/rendering/utils/BeatBounds.d.ts +52 -0
- package/dist/types/alphatab/src/rendering/utils/Bounds.d.ts +23 -0
- package/dist/types/alphatab/src/rendering/utils/BoundsLookup.d.ts +98 -0
- package/dist/types/alphatab/src/rendering/utils/ElementStyleHelper.d.ts +29 -0
- package/dist/types/alphatab/src/rendering/utils/MasterBarBounds.d.ts +64 -0
- package/dist/types/alphatab/src/rendering/utils/NoteBounds.d.ts +25 -0
- package/dist/types/alphatab/src/rendering/utils/StaffSystemBounds.d.ts +45 -0
- package/dist/types/alphatab/src/synth/ActiveBeatsChangedEventArgs.d.ts +12 -0
- package/dist/types/alphatab/src/synth/AlphaSynth.d.ts +248 -0
- package/dist/types/alphatab/src/synth/AlphaSynthWrapper.d.ts +92 -0
- package/dist/types/alphatab/src/synth/BackingTrackPlayer.d.ts +53 -0
- package/dist/types/alphatab/src/synth/ExternalMediaPlayer.d.ts +55 -0
- package/dist/types/alphatab/src/synth/IAlphaSynth.d.ts +271 -0
- package/dist/types/alphatab/src/synth/IAudioExporter.d.ts +127 -0
- package/dist/types/alphatab/src/synth/IAudioSampleSynthesizer.d.ts +126 -0
- package/dist/types/alphatab/src/synth/ISynthOutput.d.ts +90 -0
- package/dist/types/alphatab/src/synth/MidiEventsPlayedEventArgs.d.ts +16 -0
- package/dist/types/alphatab/src/synth/MidiFileSequencer.d.ts +98 -0
- package/dist/types/alphatab/src/synth/PlaybackRange.d.ts +14 -0
- package/dist/types/alphatab/src/synth/PlaybackRangeChangedEventArgs.d.ts +16 -0
- package/dist/types/alphatab/src/synth/PlayerState.d.ts +14 -0
- package/dist/types/alphatab/src/synth/PlayerStateChangedEventArgs.d.ts +21 -0
- package/dist/types/alphatab/src/synth/PositionChangedEventArgs.d.ts +44 -0
- package/dist/types/alphatab/src/synth/SynthConstants.d.ts +30 -0
- package/dist/types/alphatab/src/synth/SynthHelper.d.ts +9 -0
- package/dist/types/alphatab/src/synth/_barrel.d.ts +19 -0
- package/dist/types/alphatab/src/synth/ds/CircularSampleBuffer.d.ts +38 -0
- package/dist/types/alphatab/src/synth/ds/Queue.d.ts +13 -0
- package/dist/types/alphatab/src/synth/soundfont/Hydra.d.ts +133 -0
- package/dist/types/alphatab/src/synth/soundfont/RiffChunk.d.ts +10 -0
- package/dist/types/alphatab/src/synth/synthesis/Channel.d.ts +21 -0
- package/dist/types/alphatab/src/synth/synthesis/Channels.d.ts +11 -0
- package/dist/types/alphatab/src/synth/synthesis/Envelope.d.ts +16 -0
- package/dist/types/alphatab/src/synth/synthesis/LoopMode.d.ts +8 -0
- package/dist/types/alphatab/src/synth/synthesis/OutputMode.d.ts +18 -0
- package/dist/types/alphatab/src/synth/synthesis/Preset.d.ts +10 -0
- package/dist/types/alphatab/src/synth/synthesis/Region.d.ts +110 -0
- package/dist/types/alphatab/src/synth/synthesis/SynthEvent.d.ts +12 -0
- package/dist/types/alphatab/src/synth/synthesis/TinySoundFont.d.ts +252 -0
- package/dist/types/alphatab/src/synth/synthesis/Voice.d.ts +43 -0
- package/dist/types/alphatab/src/synth/synthesis/VoiceEnvelope.d.ts +31 -0
- package/dist/types/alphatab/src/synth/synthesis/VoiceLfo.d.ts +10 -0
- package/dist/types/alphatab/src/synth/synthesis/VoiceLowPass.d.ts +16 -0
- package/dist/types/alphatab/src/synth/vorbis/IntBitReader.d.ts +26 -0
- package/dist/types/alphatab/src/synth/vorbis/OggReader.d.ts +23 -0
- package/dist/types/alphatab/src/synth/vorbis/VorbisFile.d.ts +9 -0
- package/dist/types/alphatab/src/synth/vorbis/VorbisStream.d.ts +13 -0
- package/dist/types/alphatab/src/synth/vorbis/VorbisStreamDecoder.d.ts +260 -0
- package/dist/types/alphatab/src/synth/vorbis/VorbisStreamReader.d.ts +49 -0
- package/dist/types/alphatab/src/util/FontLoadingChecker.d.ts +16 -0
- package/dist/types/alphatab/src/util/Lazy.d.ts +12 -0
- package/dist/types/alphatab/src/xml/XmlDocument.d.ts +10 -0
- package/dist/types/alphatab/src/xml/XmlError.d.ts +9 -0
- package/dist/types/alphatab/src/xml/XmlNode.d.ts +34 -0
- package/dist/types/alphatab/src/xml/XmlParser.d.ts +39 -0
- package/dist/types/alphatab/src/xml/XmlWriter.d.ts +20 -0
- package/dist/types/alphatab/src/zip/Crc32.d.ts +32 -0
- package/dist/types/alphatab/src/zip/Deflater.d.ts +74 -0
- package/dist/types/alphatab/src/zip/DeflaterConstants.d.ts +20 -0
- package/dist/types/alphatab/src/zip/DeflaterEngine.d.ts +124 -0
- package/dist/types/alphatab/src/zip/DeflaterHuffman.d.ts +76 -0
- package/dist/types/alphatab/src/zip/HuffTools.d.ts +11 -0
- package/dist/types/alphatab/src/zip/Huffman.d.ts +28 -0
- package/dist/types/alphatab/src/zip/Inflate.d.ts +40 -0
- package/dist/types/alphatab/src/zip/PendingBuffer.d.ts +65 -0
- package/dist/types/alphatab/src/zip/ZipEntry.d.ts +14 -0
- package/dist/types/alphatab/src/zip/ZipReader.d.ts +11 -0
- package/dist/types/alphatab/src/zip/ZipWriter.d.ts +16 -0
- package/dist/types/alphatex/src/common.d.ts +4 -0
- package/dist/types/alphatex/src/definitions.d.ts +8 -0
- package/dist/types/alphatex/src/enum.d.ts +48 -0
- package/dist/types/alphatex/src/metadata/bar/ac.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/accidentals.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/ae.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/barlineleft.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/barlineright.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/clef.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/db.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/ft.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/jump.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/ks.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/ottava.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/rc.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/ro.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/scale.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/section.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/simile.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/spd.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/sph.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/spu.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/sync.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/tempo.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/tf.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/ts.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/bar/width.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/album.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/artist.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/bracketextendmode.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/copyright.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/copyright2.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/defaultsystemslayout.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/firstsystemtracknamemode.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/firstsystemtracknameorientation.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/hidedynamics.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/instructions.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/multibarrest.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/multitracktracknamepolicy.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/music.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/notices.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/othersystemtracknamemode.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/othersystemtracknameorientation.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/showdynamics.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/singletracktracknamepolicy.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/subtitle.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/systemslayout.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/tab.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/title.d.ts +4 -0
- package/dist/types/alphatex/src/metadata/score/usesystemsignseparator.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/words.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/score/wordsandmusic.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/staff/articulation.d.ts +3 -0
- package/dist/types/alphatex/src/metadata/staff/capo.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/staff/chord.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/staff/displaytranspose.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/staff/instrument.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/staff/lyrics.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/staff/transpose.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/staff/tuning.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/structural/staff.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/structural/track.d.ts +2 -0
- package/dist/types/alphatex/src/metadata/structural/voice.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/ad.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/au.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/balance.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/bank.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/barre.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/bd.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/beam.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/bu.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/ch.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/cre.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/d.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/dd.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/dec.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/ds.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/dy.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/f.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/fermata.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/fo.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/glpf.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/glpt.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/gr.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/instrument.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/legatoOrigin.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/lyrics.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/ot.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/p.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/rasg.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/s.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/sd.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/slashed.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/spd.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/spe.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/sph.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/spu.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/su.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/tb.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/tbe.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/tempo.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/timer.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/tp.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/tt.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/tu.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/txt.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/v.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/volume.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/vs.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/vw.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/wahc.d.ts +2 -0
- package/dist/types/alphatex/src/properties/beat/waho.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/ac.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/acc.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/ah.d.ts +3 -0
- package/dist/types/alphatex/src/properties/note/b.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/be.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/fh.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/g.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/h.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/hac.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/hide.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/iturn.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/lf.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/lht.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/lmordent.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/lr.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/nh.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/ph.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/pm.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/psd.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/psu.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/rf.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/sh.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/sia.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/sib.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/sl.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/slur.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/sod.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/sou.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/ss.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/st.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/string.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/t.d.ts +3 -0
- package/dist/types/alphatex/src/properties/note/ten.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/th.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/tr.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/turn.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/umordent.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/v.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/vw.d.ts +2 -0
- package/dist/types/alphatex/src/properties/note/x.d.ts +2 -0
- package/dist/types/alphatex/src/types.d.ts +161 -0
- package/dist/types/lsp/src/index.d.ts +21 -0
- package/dist/types/lsp/src/server/completion.d.ts +3 -0
- package/dist/types/lsp/src/server/diagnostics.d.ts +2 -0
- package/dist/types/lsp/src/server/hover.d.ts +2 -0
- package/dist/types/lsp/src/server/index.d.ts +13 -0
- package/dist/types/lsp/src/server/signatureHelp.d.ts +2 -0
- package/dist/types/lsp/src/server/types.d.ts +15 -0
- package/dist/types/lsp/src/server/utils.d.ts +6 -0
- package/dist/types/lsp/test/placeholder.test.d.ts +1 -0
- package/dist/types/lsp/vite.config.d.ts +2 -0
- package/dist/types/tooling/src/typescript.d.ts +9 -0
- package/dist/types/tooling/src/vite.d.ts +13 -0
- package/dist/types/tooling/src/vite.plugin.dts.d.ts +1 -0
- package/dist/types/tooling/src/vite.plugin.min.d.ts +3 -0
- package/package.json +59 -0
- package/src/alphatex.tmLanguage.json +151 -0
- package/src/index.ts +56 -0
- package/src/language-configuration.json +70 -0
- package/src/server/completion.ts +553 -0
- package/src/server/diagnostics.ts +126 -0
- package/src/server/hover.ts +262 -0
- package/src/server/index.ts +96 -0
- package/src/server/signatureHelp.ts +206 -0
- package/src/server/types.ts +28 -0
- package/src/server/utils.ts +111 -0
- package/test/placeholder.test.ts +3 -0
- package/tsconfig.json +3 -0
- package/vite.config.ts +21 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import * as alphaTab from '@coderline/alphatab';
|
|
2
|
+
import {
|
|
3
|
+
allMetadata,
|
|
4
|
+
beatProperties,
|
|
5
|
+
durationChangeProperties,
|
|
6
|
+
noteProperties
|
|
7
|
+
} from '@coderline/alphatab-alphatex/definitions';
|
|
8
|
+
import type {
|
|
9
|
+
ParameterValueDefinition,
|
|
10
|
+
PropertyDefinition,
|
|
11
|
+
SignatureDefinition,
|
|
12
|
+
WithSignatures
|
|
13
|
+
} from '@coderline/alphatab-alphatex/types';
|
|
14
|
+
import type {
|
|
15
|
+
AlphaTexTextDocument,
|
|
16
|
+
Connection,
|
|
17
|
+
Hover,
|
|
18
|
+
TextDocuments
|
|
19
|
+
} from '@coderline/alphatab-language-server/server/types';
|
|
20
|
+
import {
|
|
21
|
+
binaryNodeSearch,
|
|
22
|
+
nodeTypesToTypeDocs as nodeTypesToSyntax,
|
|
23
|
+
parameterToSyntax,
|
|
24
|
+
resolveSignature
|
|
25
|
+
} from '@coderline/alphatab-language-server/server/utils';
|
|
26
|
+
|
|
27
|
+
export function setupHover(connection: Connection, documents: TextDocuments<AlphaTexTextDocument>) {
|
|
28
|
+
connection.onHover(params => {
|
|
29
|
+
const document = documents.get(params.textDocument.uri);
|
|
30
|
+
if (!document?.ast) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const offset = document.offsetAt(params.position);
|
|
35
|
+
|
|
36
|
+
// lookup bar at location
|
|
37
|
+
const bar = binaryNodeSearch(document.ast.bars, offset);
|
|
38
|
+
if (!bar) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const metaData = binaryNodeSearch(bar.metaData, offset);
|
|
43
|
+
if (metaData) {
|
|
44
|
+
return createMetaDataHover(metaData, offset);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const beat = binaryNodeSearch(bar.beats, offset);
|
|
48
|
+
if (beat) {
|
|
49
|
+
return createBeatHover(beat, offset);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return null;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function 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
|
+
|
|
88
|
+
function createBeatHover(beat: alphaTab.importer.alphaTex.AlphaTexBeatNode, offset: number): Hover | null {
|
|
89
|
+
if (beat.durationChange?.properties) {
|
|
90
|
+
const hover = createPropertiesHover(beat.durationChange.properties, durationChangeProperties, offset);
|
|
91
|
+
if (hover != null) {
|
|
92
|
+
return hover;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (beat.notes) {
|
|
97
|
+
const note = binaryNodeSearch(beat.notes.notes, offset);
|
|
98
|
+
if (note) {
|
|
99
|
+
return createNoteHover(note, offset);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (beat.beatEffects) {
|
|
104
|
+
const hover = createPropertiesHover(beat.beatEffects, beatProperties, offset);
|
|
105
|
+
if (hover != null) {
|
|
106
|
+
return hover;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function createNoteHover(note: alphaTab.importer.alphaTex.AlphaTexNoteNode, offset: number): Hover | null {
|
|
114
|
+
if (note?.noteEffects) {
|
|
115
|
+
const hover = createPropertiesHover(note.noteEffects, [noteProperties, beatProperties], offset);
|
|
116
|
+
if (hover != null) {
|
|
117
|
+
return hover;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function createPropertiesHover(
|
|
125
|
+
properties: alphaTab.importer.alphaTex.AlphaTexPropertiesNode,
|
|
126
|
+
propertiesDocs: Map<string, PropertyDefinition> | Map<string, PropertyDefinition>[],
|
|
127
|
+
offset: number
|
|
128
|
+
): Hover | null {
|
|
129
|
+
const prop = binaryNodeSearch(properties.properties, offset);
|
|
130
|
+
if (prop) {
|
|
131
|
+
let propDocs: PropertyDefinition | undefined;
|
|
132
|
+
if (Array.isArray(propertiesDocs)) {
|
|
133
|
+
for (const d of propertiesDocs) {
|
|
134
|
+
propDocs = d.get(prop.property.text.toLowerCase());
|
|
135
|
+
if (propDocs) {
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
} else {
|
|
140
|
+
propDocs = propertiesDocs.get(prop.property.text.toLowerCase());
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (propDocs) {
|
|
144
|
+
if (prop.property.start!.offset <= offset && offset <= prop.property.end!.offset) {
|
|
145
|
+
return {
|
|
146
|
+
contents: {
|
|
147
|
+
kind: 'markdown',
|
|
148
|
+
value: withSignaturesToMarkdown(propDocs, propDocs.property)
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
} else if (prop.arguments) {
|
|
152
|
+
const hover = createArgumentsHover(prop.arguments, propDocs.signatures, offset);
|
|
153
|
+
if (hover) {
|
|
154
|
+
return hover;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
function valueToText(value: alphaTab.importer.alphaTex.IAlphaTexArgumentValue): string {
|
|
163
|
+
switch (value.nodeType) {
|
|
164
|
+
case alphaTab.importer.alphaTex.AlphaTexNodeType.Ident:
|
|
165
|
+
case alphaTab.importer.alphaTex.AlphaTexNodeType.String:
|
|
166
|
+
return (value as alphaTab.importer.alphaTex.AlphaTexTextNode).text;
|
|
167
|
+
case alphaTab.importer.alphaTex.AlphaTexNodeType.Number:
|
|
168
|
+
return (value as alphaTab.importer.alphaTex.AlphaTexNumberLiteral).value.toString();
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return '';
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function 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
|
+
|
|
200
|
+
function withSignaturesToMarkdown(docs: WithSignatures, prefix: string, syntaxName: string = 'Syntax'): string {
|
|
201
|
+
return [
|
|
202
|
+
`## ${docs.shortDescription}`,
|
|
203
|
+
docs.longDescription ? `**Description:** ${docs.longDescription}` : '',
|
|
204
|
+
'',
|
|
205
|
+
`**${syntaxName}:**`,
|
|
206
|
+
'```alphatex',
|
|
207
|
+
...docs.signatures.map((s, i) => signatureToSyntax(prefix, s, i, docs.signatures.length > 1)),
|
|
208
|
+
'```',
|
|
209
|
+
'',
|
|
210
|
+
signatureParametersToMarkdownTable(docs.signatures)
|
|
211
|
+
].join('\n');
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
function signatureParametersToMarkdownTable(signatures: SignatureDefinition[]): string {
|
|
215
|
+
return signatures.length === 0 || (signatures.length === 1 && signatures[0].parameters.length === 0)
|
|
216
|
+
? ''
|
|
217
|
+
: [
|
|
218
|
+
'',
|
|
219
|
+
'**Parameters:**',
|
|
220
|
+
'| Name | Description | Type | Required |',
|
|
221
|
+
'|------|-------------|------|----------|',
|
|
222
|
+
...signatures.flatMap((s, si) =>
|
|
223
|
+
s.parameters.map(v => {
|
|
224
|
+
const index = signatures.length > 1 ? `[^${si + 1}] ` : '';
|
|
225
|
+
return `| \`${v.name}\` ${index}| ${(v.longDescription ?? v.shortDescription)?.replaceAll('\n', '<br />') ?? ''} | \`${nodeTypesToSyntax(v).replaceAll('|', '\\|')}\` | ${isRequiredParameter(v.parseMode) ? 'yes' : 'no'} ${v.defaultValue ?? ''} |`;
|
|
226
|
+
})
|
|
227
|
+
)
|
|
228
|
+
].join('\n');
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
function parameterValueDocsToMarkDown(docs: ParameterValueDefinition): string {
|
|
232
|
+
return [`## ${docs.name}`, docs.longDescription ?? docs.shortDescription, ''].join('\n');
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
function signatureToSyntax(prefix: string, value: SignatureDefinition, index: number, hasOverloads: boolean): string {
|
|
236
|
+
let syntax = '';
|
|
237
|
+
|
|
238
|
+
if (hasOverloads) {
|
|
239
|
+
syntax += `// [^${index + 1}]: ${value.description}\n`;
|
|
240
|
+
} else if (value.description) {
|
|
241
|
+
syntax += `// ${value.description}\n`;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
syntax += prefix;
|
|
246
|
+
if(value.parameters.length > 0) {
|
|
247
|
+
syntax += `(${value.parameters.map(p => parameterToSyntax(p, true)).join(' ')})`;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
return syntax;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
function isRequiredParameter(parseMode: alphaTab.importer.alphaTex.ArgumentListParseTypesMode) {
|
|
254
|
+
switch (parseMode) {
|
|
255
|
+
case alphaTab.importer.alphaTex.ArgumentListParseTypesMode.Required:
|
|
256
|
+
case alphaTab.importer.alphaTex.ArgumentListParseTypesMode.RequiredAsFloat:
|
|
257
|
+
case alphaTab.importer.alphaTex.ArgumentListParseTypesMode.RequiredAsValueList:
|
|
258
|
+
return true;
|
|
259
|
+
default:
|
|
260
|
+
return false;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { setupCompletion } from '@coderline/alphatab-language-server/server/completion';
|
|
2
|
+
import { setupDiagnostics } from '@coderline/alphatab-language-server/server/diagnostics';
|
|
3
|
+
import { setupHover } from '@coderline/alphatab-language-server/server/hover';
|
|
4
|
+
import { setupSignatureHelp } from '@coderline/alphatab-language-server/server/signatureHelp';
|
|
5
|
+
import {
|
|
6
|
+
type AlphaTexTextDocument,
|
|
7
|
+
type Connection,
|
|
8
|
+
type InitializeParams,
|
|
9
|
+
type InitializeResult,
|
|
10
|
+
PositionEncodingKind,
|
|
11
|
+
TextDocument,
|
|
12
|
+
TextDocumentSyncKind,
|
|
13
|
+
TextDocuments
|
|
14
|
+
} from '@coderline/alphatab-language-server/server/types';
|
|
15
|
+
|
|
16
|
+
// the only place where we should import specif vscode-languageserver packages
|
|
17
|
+
import {
|
|
18
|
+
BrowserMessageReader,
|
|
19
|
+
BrowserMessageWriter,
|
|
20
|
+
createConnection as createBrowserConnection
|
|
21
|
+
} from 'vscode-languageserver/lib/browser/main.js';
|
|
22
|
+
import {
|
|
23
|
+
createConnection as createNodeConnection,
|
|
24
|
+
ProposedFeatures as NodeProposedFeatures
|
|
25
|
+
} from 'vscode-languageserver/lib/node/main.js';
|
|
26
|
+
|
|
27
|
+
function startLanguageServer(serverConnection: Connection) {
|
|
28
|
+
const documents = new TextDocuments<AlphaTexTextDocument>(TextDocument);
|
|
29
|
+
|
|
30
|
+
serverConnection.onInitialize((params: InitializeParams) => {
|
|
31
|
+
const capabilities = params.capabilities;
|
|
32
|
+
|
|
33
|
+
const hasWorkspaceFolderCapability = !!(capabilities.workspace && !!capabilities.workspace.workspaceFolders);
|
|
34
|
+
|
|
35
|
+
const result: InitializeResult = {
|
|
36
|
+
capabilities: {
|
|
37
|
+
textDocumentSync: TextDocumentSyncKind.Incremental,
|
|
38
|
+
positionEncoding: PositionEncodingKind.UTF16,
|
|
39
|
+
completionProvider: {
|
|
40
|
+
resolveProvider: true
|
|
41
|
+
},
|
|
42
|
+
signatureHelpProvider: {
|
|
43
|
+
triggerCharacters: ['(']
|
|
44
|
+
},
|
|
45
|
+
diagnosticProvider: {
|
|
46
|
+
interFileDependencies: false,
|
|
47
|
+
workspaceDiagnostics: false
|
|
48
|
+
},
|
|
49
|
+
hoverProvider: {}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
if (hasWorkspaceFolderCapability) {
|
|
53
|
+
result.capabilities.workspace = {
|
|
54
|
+
workspaceFolders: {
|
|
55
|
+
supported: true
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
setupDiagnostics(serverConnection, documents);
|
|
63
|
+
setupCompletion(serverConnection, documents);
|
|
64
|
+
setupHover(serverConnection, documents);
|
|
65
|
+
setupSignatureHelp(serverConnection, documents);
|
|
66
|
+
|
|
67
|
+
documents.listen(serverConnection);
|
|
68
|
+
serverConnection.listen();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
type Port = ConstructorParameters<typeof BrowserMessageReader>[0];
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Starts a new language server communicating via WebWorker.
|
|
76
|
+
* @param readerPort The port used to reading incoming language server messages
|
|
77
|
+
* @param writerPort The port used to writer outgoing language server messages
|
|
78
|
+
*/
|
|
79
|
+
export function startWebWorkerLanguageServer(
|
|
80
|
+
readerPort: Port,
|
|
81
|
+
writerPort: Port
|
|
82
|
+
) {
|
|
83
|
+
startLanguageServer(
|
|
84
|
+
createBrowserConnection(
|
|
85
|
+
new BrowserMessageReader(readerPort),
|
|
86
|
+
new BrowserMessageWriter(writerPort)
|
|
87
|
+
)
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Starts a new language server communicating from a Node.js process with a parent Node.js.
|
|
93
|
+
*/
|
|
94
|
+
export function startNodeLanguageServer() {
|
|
95
|
+
startLanguageServer(createNodeConnection(NodeProposedFeatures.all));
|
|
96
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import type * as alphaTab from '@coderline/alphatab';
|
|
2
|
+
import {
|
|
3
|
+
allMetadata,
|
|
4
|
+
beatProperties,
|
|
5
|
+
durationChangeProperties,
|
|
6
|
+
noteProperties
|
|
7
|
+
} from '@coderline/alphatab-alphatex/definitions';
|
|
8
|
+
import type {
|
|
9
|
+
ParameterDefinition,
|
|
10
|
+
PropertyDefinition,
|
|
11
|
+
SignatureDefinition,
|
|
12
|
+
WithSignatures
|
|
13
|
+
} from '@coderline/alphatab-alphatex/types';
|
|
14
|
+
import {
|
|
15
|
+
type AlphaTexTextDocument,
|
|
16
|
+
type Connection,
|
|
17
|
+
ParameterInformation,
|
|
18
|
+
type SignatureHelp,
|
|
19
|
+
SignatureInformation,
|
|
20
|
+
type TextDocuments
|
|
21
|
+
} from '@coderline/alphatab-language-server/server/types';
|
|
22
|
+
import { binaryNodeSearch, parameterToSyntax } from '@coderline/alphatab-language-server/server/utils';
|
|
23
|
+
|
|
24
|
+
export function setupSignatureHelp(connection: Connection, documents: TextDocuments<AlphaTexTextDocument>) {
|
|
25
|
+
connection.onSignatureHelp(params => {
|
|
26
|
+
const document = documents.get(params.textDocument.uri);
|
|
27
|
+
if (!document?.ast) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const offset = document.offsetAt(params.position);
|
|
32
|
+
|
|
33
|
+
// lookup bar at location
|
|
34
|
+
const bar = binaryNodeSearch(document.ast.bars, offset);
|
|
35
|
+
if (!bar) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const metaData = binaryNodeSearch(bar.metaData, offset);
|
|
40
|
+
if (metaData) {
|
|
41
|
+
return createMetaDataSignatureHelp(metaData, offset);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const beat = binaryNodeSearch(bar.beats, offset);
|
|
45
|
+
if (beat) {
|
|
46
|
+
return createBeatSignatureHelp(beat, offset);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return null;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function 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
|
+
|
|
77
|
+
function createBeatSignatureHelp(
|
|
78
|
+
beat: alphaTab.importer.alphaTex.AlphaTexBeatNode,
|
|
79
|
+
offset: number
|
|
80
|
+
): SignatureHelp | null {
|
|
81
|
+
if (beat.durationChange?.properties) {
|
|
82
|
+
const hover = createPropertiesSignatureHelp(beat.durationChange.properties, durationChangeProperties, offset);
|
|
83
|
+
if (hover != null) {
|
|
84
|
+
return hover;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (beat.notes) {
|
|
89
|
+
const note = binaryNodeSearch(beat.notes.notes, offset);
|
|
90
|
+
if (note) {
|
|
91
|
+
return createNoteSignatureHelp(note, offset);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (beat.beatEffects) {
|
|
96
|
+
const hover = createPropertiesSignatureHelp(beat.beatEffects, beatProperties, offset);
|
|
97
|
+
if (hover != null) {
|
|
98
|
+
return hover;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function createNoteSignatureHelp(
|
|
106
|
+
note: alphaTab.importer.alphaTex.AlphaTexNoteNode,
|
|
107
|
+
offset: number
|
|
108
|
+
): SignatureHelp | null {
|
|
109
|
+
if (note?.noteEffects) {
|
|
110
|
+
const hover = createPropertiesSignatureHelp(note.noteEffects, [noteProperties, beatProperties], offset);
|
|
111
|
+
if (hover != null) {
|
|
112
|
+
return hover;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
function createPropertiesSignatureHelp(
|
|
120
|
+
properties: alphaTab.importer.alphaTex.AlphaTexPropertiesNode,
|
|
121
|
+
propertiesDocs: Map<string, PropertyDefinition> | Map<string, PropertyDefinition>[],
|
|
122
|
+
offset: number
|
|
123
|
+
): SignatureHelp | null {
|
|
124
|
+
const prop = binaryNodeSearch(properties.properties, offset);
|
|
125
|
+
if (!prop) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
let propDocs: PropertyDefinition | undefined;
|
|
130
|
+
if (Array.isArray(propertiesDocs)) {
|
|
131
|
+
for (const d of propertiesDocs) {
|
|
132
|
+
propDocs = d.get(prop.property.text.toLowerCase());
|
|
133
|
+
if (propDocs) {
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
} else {
|
|
138
|
+
propDocs = propertiesDocs.get(prop.property.text.toLowerCase());
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
if (propDocs) {
|
|
142
|
+
return createArgumentsSignatureHelp(prop.property.text, propDocs, prop.arguments, offset);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function createArgumentsSignatureHelp(
|
|
149
|
+
parentItemLabel: string,
|
|
150
|
+
docs: WithSignatures,
|
|
151
|
+
values: alphaTab.importer.alphaTex.AlphaTexArgumentList | undefined,
|
|
152
|
+
offset: number
|
|
153
|
+
): SignatureHelp | null {
|
|
154
|
+
const help: SignatureHelp = {
|
|
155
|
+
signatures: docs.signatures.map(s => signatureDefinitionToHelp(parentItemLabel, docs, s)),
|
|
156
|
+
activeSignature: undefined,
|
|
157
|
+
activeParameter: undefined
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
if (!values) {
|
|
161
|
+
return help;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (values.signatureCandidateIndices !== undefined) {
|
|
165
|
+
help.activeSignature = values.signatureCandidateIndices[0];
|
|
166
|
+
const value = binaryNodeSearch(values.arguments, offset);
|
|
167
|
+
if (value) {
|
|
168
|
+
if (value.parameterIndices !== undefined) {
|
|
169
|
+
for (const [signatureIndex, parameterIndex] of value.parameterIndices) {
|
|
170
|
+
if (parameterIndex >= 0) {
|
|
171
|
+
help.signatures[signatureIndex].activeParameter = parameterIndex;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
return help;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
function createParameterInfo(signature: SignatureInformation, doc: ParameterDefinition) {
|
|
182
|
+
const start = signature.label.length;
|
|
183
|
+
signature.label += parameterToSyntax(doc, false);
|
|
184
|
+
|
|
185
|
+
const end = signature.label.length;
|
|
186
|
+
signature.parameters!.push(ParameterInformation.create([start, end], doc.longDescription ?? doc.shortDescription));
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
function signatureDefinitionToHelp(
|
|
190
|
+
label: string,
|
|
191
|
+
docs: WithSignatures,
|
|
192
|
+
signature: SignatureDefinition
|
|
193
|
+
): SignatureInformation {
|
|
194
|
+
const signatureDocs = SignatureInformation.create(`${label} `, docs.longDescription ?? docs.shortDescription);
|
|
195
|
+
|
|
196
|
+
signatureDocs.label += ' (';
|
|
197
|
+
for (let i = 0; i < signature.parameters.length; i++) {
|
|
198
|
+
if (i > 0) {
|
|
199
|
+
signatureDocs.label += ' ';
|
|
200
|
+
}
|
|
201
|
+
createParameterInfo(signatureDocs, signature.parameters[i]);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
signatureDocs.label += ')';
|
|
205
|
+
return signatureDocs;
|
|
206
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type * as alphaTab from '@coderline/alphatab';
|
|
2
|
+
import type { createConnection as createBrowserConnection } from 'vscode-languageserver/lib/browser/main.js';
|
|
3
|
+
import type { createConnection as createNodeConnection } from 'vscode-languageserver/lib/node/main.js';
|
|
4
|
+
import type { TextDocument } from 'vscode-languageserver-textdocument';
|
|
5
|
+
|
|
6
|
+
export type NodeConnection = ReturnType<typeof createNodeConnection>;
|
|
7
|
+
export type BrowserConnection = ReturnType<typeof createBrowserConnection>;
|
|
8
|
+
|
|
9
|
+
export type Connection = NodeConnection | BrowserConnection;
|
|
10
|
+
|
|
11
|
+
export interface AlphaTexTextDocument extends TextDocument {
|
|
12
|
+
score?: alphaTab.model.Score;
|
|
13
|
+
ast?: alphaTab.importer.alphaTex.AlphaTexScoreNode;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { type RemoteConsole, type TextDocumentPositionParams, TextDocuments } from 'vscode-languageserver';
|
|
17
|
+
|
|
18
|
+
export {type DocumentDiagnosticReport,
|
|
19
|
+
DocumentDiagnosticReportKind, type InitializeParams,
|
|
20
|
+
type InitializeResult, PositionEncodingKind,
|
|
21
|
+
TextDocumentSyncKind
|
|
22
|
+
} from 'vscode-languageserver-protocol';
|
|
23
|
+
export { TextDocument } from 'vscode-languageserver-textdocument';
|
|
24
|
+
export {type CompletionItem,
|
|
25
|
+
CompletionItemKind,
|
|
26
|
+
type Diagnostic, DiagnosticSeverity, type Hover, InsertTextFormat, ParameterInformation, type SignatureHelp, SignatureInformation, TextEdit,
|
|
27
|
+
uinteger
|
|
28
|
+
} from 'vscode-languageserver-types';
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import * as alphaTab from '@coderline/alphatab';
|
|
2
|
+
import type { ParameterDefinition, SignatureDefinition } from '@coderline/alphatab-alphatex/types';
|
|
3
|
+
|
|
4
|
+
function binaryNodeSearchInner<T extends alphaTab.importer.alphaTex.AlphaTexAstNode>(
|
|
5
|
+
items: T[],
|
|
6
|
+
offset: number,
|
|
7
|
+
left: number = 0,
|
|
8
|
+
right: number = items.length,
|
|
9
|
+
trailingEnd: number
|
|
10
|
+
) {
|
|
11
|
+
if (left > right) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const center = Math.trunc((left + right) / 2);
|
|
16
|
+
const centerItem = items[center];
|
|
17
|
+
|
|
18
|
+
// match
|
|
19
|
+
const end = center === items.length - 1 ? trailingEnd : items[center + 1].start!.offset;
|
|
20
|
+
if (centerItem.start!.offset <= offset && offset <= end) {
|
|
21
|
+
return centerItem;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// left half
|
|
25
|
+
if (offset < centerItem.start!.offset) {
|
|
26
|
+
return binaryNodeSearchInner(items, offset, left, center, trailingEnd);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// right half
|
|
30
|
+
return binaryNodeSearchInner(items, offset, center, right, trailingEnd);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function binaryNodeSearch<T extends alphaTab.importer.alphaTex.AlphaTexAstNode>(
|
|
34
|
+
items: T[],
|
|
35
|
+
offset: number,
|
|
36
|
+
trailingEnd: number = items.length > 0 ? items[items.length - 1].end!.offset : 0
|
|
37
|
+
) {
|
|
38
|
+
// no items
|
|
39
|
+
if (items.length === 0) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// not in range
|
|
44
|
+
const rangeStart = items[0].start!.offset;
|
|
45
|
+
const rangeEnd = trailingEnd;
|
|
46
|
+
if (offset < rangeStart || offset > rangeEnd) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return binaryNodeSearchInner(items, offset, 0, items.length, trailingEnd);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function resolveSignature(
|
|
54
|
+
signatures: SignatureDefinition[],
|
|
55
|
+
args: alphaTab.importer.alphaTex.AlphaTexArgumentList
|
|
56
|
+
): Map<number, SignatureDefinition> {
|
|
57
|
+
const resolved = new Map<number, SignatureDefinition>();
|
|
58
|
+
|
|
59
|
+
if (args.signatureCandidateIndices !== undefined) {
|
|
60
|
+
for (const i of args.signatureCandidateIndices) {
|
|
61
|
+
resolved.set(i, signatures[i]);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return resolved;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function parameterToSyntax(parameter: ParameterDefinition, onlyParameterNames: boolean) {
|
|
69
|
+
let p: string = parameter.name;
|
|
70
|
+
if (!onlyParameterNames) {
|
|
71
|
+
switch (parameter.parseMode) {
|
|
72
|
+
case alphaTab.importer.alphaTex.ArgumentListParseTypesMode.Optional:
|
|
73
|
+
case alphaTab.importer.alphaTex.ArgumentListParseTypesMode.OptionalAsFloat:
|
|
74
|
+
p += '?';
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
p += `: ${nodeTypesToTypeDocs(parameter)}`;
|
|
78
|
+
|
|
79
|
+
if (parameter.defaultValue) {
|
|
80
|
+
p += ` = ${parameter.defaultValue}`;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return p;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export function nodeTypesToTypeDocs(parameter: ParameterDefinition) {
|
|
88
|
+
const typeArray = Array.isArray(parameter.type) ? parameter.type : [parameter.type];
|
|
89
|
+
let p: string = '';
|
|
90
|
+
if (parameter.values && !parameter.valuesOnlyForCompletion && parameter.values.length < 5) {
|
|
91
|
+
const valueArray = parameter.values.map(v => v.name);
|
|
92
|
+
switch (typeArray[0]) {
|
|
93
|
+
case alphaTab.importer.alphaTex.AlphaTexNodeType.String:
|
|
94
|
+
p = valueArray.map(v => `"${v}"`).join('|');
|
|
95
|
+
break;
|
|
96
|
+
default:
|
|
97
|
+
p = valueArray.join('|');
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
} else {
|
|
101
|
+
p = typeArray.map(t => alphaTab.importer.alphaTex.AlphaTexNodeType[t]).join('|');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
switch (parameter.parseMode) {
|
|
105
|
+
case alphaTab.importer.alphaTex.ArgumentListParseTypesMode.RequiredAsValueList:
|
|
106
|
+
case alphaTab.importer.alphaTex.ArgumentListParseTypesMode.ValueListWithoutParenthesis:
|
|
107
|
+
p += '[]';
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return p;
|
|
111
|
+
}
|