@coderline/alphatab-monaco 1.8.0-alpha.1669 → 1.8.0-alpha.1670

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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * alphaTab Monaco v1.8.0-alpha.1669 (develop, build 1669)
2
+ * alphaTab Monaco v1.8.0-alpha.1670 (develop, build 1670)
3
3
  *
4
4
  * Copyright © 2026, Daniel Kuschny and Contributors, All rights reserved.
5
5
  *
package/dist/alphatex.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * alphaTab Monaco v1.8.0-alpha.1669 (develop, build 1669)
2
+ * alphaTab Monaco v1.8.0-alpha.1670 (develop, build 1670)
3
3
  *
4
4
  * Copyright © 2026, Daniel Kuschny and Contributors, All rights reserved.
5
5
  *
package/dist/lsp.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * alphaTab Monaco v1.8.0-alpha.1669 (develop, build 1669)
2
+ * alphaTab Monaco v1.8.0-alpha.1670 (develop, build 1670)
3
3
  *
4
4
  * Copyright © 2026, Daniel Kuschny and Contributors, All rights reserved.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * alphaTab Monaco v1.8.0-alpha.1669 (develop, build 1669)
2
+ * alphaTab Monaco v1.8.0-alpha.1670 (develop, build 1670)
3
3
  *
4
4
  * Copyright © 2026, Daniel Kuschny and Contributors, All rights reserved.
5
5
  *
package/dist/textmate.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * alphaTab Monaco v1.8.0-alpha.1669 (develop, build 1669)
2
+ * alphaTab Monaco v1.8.0-alpha.1670 (develop, build 1670)
3
3
  *
4
4
  * Copyright © 2026, Daniel Kuschny and Contributors, All rights reserved.
5
5
  *
package/dist/types.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * alphaTab Monaco v1.8.0-alpha.1669 (develop, build 1669)
2
+ * alphaTab Monaco v1.8.0-alpha.1670 (develop, build 1670)
3
3
  *
4
4
  * Copyright © 2026, Daniel Kuschny and Contributors, All rights reserved.
5
5
  *
package/dist/worker.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * alphaTab Monaco v1.8.0-alpha.1669 (develop, build 1669)
2
+ * alphaTab Monaco v1.8.0-alpha.1670 (develop, build 1670)
3
3
  *
4
4
  * Copyright © 2026, Daniel Kuschny and Contributors, All rights reserved.
5
5
  *
@@ -60,7 +60,8 @@ const ac = {
60
60
  BarLineStyle: alphaTab.model.BarLineStyle,
61
61
  SimileMark: alphaTab.model.SimileMark,
62
62
  Direction: alphaTab.model.Direction,
63
- TremoloPickingStyle: alphaTab.model.TremoloPickingStyle
63
+ TremoloPickingStyle: alphaTab.model.TremoloPickingStyle,
64
+ BarNumberDisplay: alphaTab.model.BarNumberDisplay
64
65
  });
65
66
  const alphaTexMappedEnumMapping = {
66
67
  WhammyType: {
@@ -451,6 +452,11 @@ const alphaTexMappedEnumMapping = {
451
452
  TremoloPickingStyle: {
452
453
  Default: { snippet: 'default', shortDescription: 'Default tremolo' },
453
454
  BuzzRoll: { snippet: 'buzzRoll', shortDescription: 'Buzz roll tremolo' }
455
+ },
456
+ BarNumberDisplay: {
457
+ AllBars: { snippet: 'allBars', shortDescription: 'All bars' },
458
+ FirstOfSystem: { snippet: 'firstOfSystem', shortDescription: 'First bar of every system' },
459
+ Hide: { snippet: 'hide', shortDescription: 'Hide' }
454
460
  }
455
461
  };
456
462
  function enumParameter(type) {
@@ -5148,6 +5154,56 @@ const voiceMode = {
5148
5154
  ]
5149
5155
  };
5150
5156
 
5157
+ const defaultBarNumberDisplay = {
5158
+ tag: '\\defaultBarNumberDisplay',
5159
+ snippet: '\\defaultBarNumberDisplay ${1:allBars}$0',
5160
+ shortDescription: 'Sets the display mode for bar numbers on all bars.',
5161
+ signatures: [
5162
+ {
5163
+ parameters: [
5164
+ {
5165
+ name: 'mode',
5166
+ shortDescription: 'The mode to use',
5167
+ parseMode: alphaTab.importer.alphaTex.ArgumentListParseTypesMode.Required,
5168
+ ...enumParameter('BarNumberDisplay')
5169
+ }
5170
+ ]
5171
+ }
5172
+ ],
5173
+ examples: [
5174
+ {
5175
+ options: { display: { layoutMode: 'Parchment' } },
5176
+ tex: `
5177
+ \\defaultBarNumberDisplay allBars
5178
+ \\title "All Bars"
5179
+ \\track { defaultsystemslayout 3 }
5180
+ C4.1 | C4.1 | C4.1 |
5181
+ C4.1 | C4.1 | C4.1
5182
+ `
5183
+ },
5184
+ {
5185
+ options: { display: { layoutMode: 'Parchment' } },
5186
+ tex: `
5187
+ \\defaultBarNumberDisplay firstOfSystem
5188
+ \\title "First of System"
5189
+ \\track { defaultsystemslayout 3 }
5190
+ C4.1 | C4.1 | C4.1 |
5191
+ C4.1 | C4.1 | C4.1
5192
+ `
5193
+ },
5194
+ {
5195
+ options: { display: { layoutMode: 'Parchment' } },
5196
+ tex: `
5197
+ \\defaultBarNumberDisplay hide
5198
+ \\title "Hide"
5199
+ \\track { defaultsystemslayout 3 }
5200
+ C4.1 | C4.1 | C4.1 |
5201
+ C4.1 | C4.1 | C4.1
5202
+ `
5203
+ }
5204
+ ]
5205
+ };
5206
+
5151
5207
  const chordDiagramsInScore = {
5152
5208
  tag: '\\chordDiagramsInScore',
5153
5209
  snippet: '\\chordDiagramsInScore',
@@ -5301,10 +5357,48 @@ const instrumentMeta = {
5301
5357
  examples: ``
5302
5358
  };
5303
5359
 
5360
+ const barNumberDisplay = {
5361
+ tag: '\\barNumberDisplay',
5362
+ snippet: '\\barNumberDisplay ${1:allBars}$0',
5363
+ shortDescription: 'Sets the display mode for bar numbers.',
5364
+ signatures: [
5365
+ {
5366
+ parameters: [
5367
+ {
5368
+ name: 'mode',
5369
+ shortDescription: 'The mode to use',
5370
+ parseMode: alphaTab.importer.alphaTex.ArgumentListParseTypesMode.Required,
5371
+ ...enumParameter('BarNumberDisplay')
5372
+ }
5373
+ ]
5374
+ }
5375
+ ],
5376
+ examples: [
5377
+ {
5378
+ options: { display: { layoutMode: 'Parchment' } },
5379
+ tex: `
5380
+ \\defaultBarNumberDisplay hide
5381
+ \\track { defaultsystemslayout 3 }
5382
+ C4.1 | \\barNumberDisplay allBars C4.1 | C4.1 |
5383
+ \\barNumberDisplay firstOfSystem C4.1 | \\barNumberDisplay firstOfSystem C4.1 | C4.1
5384
+ `
5385
+ },
5386
+ {
5387
+ options: { display: { layoutMode: 'Parchment' } },
5388
+ tex: `
5389
+ \\defaultBarNumberDisplay firstOfSystem
5390
+ \\track { defaultsystemslayout 3 }
5391
+ C4.1 | \\barNumberDisplay allBars C4.1 | C4.1 |
5392
+ \\barNumberDisplay hide C4.1 | C4.1 | C4.1
5393
+ `
5394
+ }
5395
+ ]
5396
+ };
5397
+
5304
5398
  const structuralMetaData = metadata(track, staff, voice);
5305
- const scoreMetaData = metadata(title, subtitle, artist, album, words, music, wordsAndMusic, copyright, copyright2, instructions, notices, tab, systemsLayout, defaultSystemsLayout, showDynamics, hideDynamics, useSystemSignSeparator, multiBarRest, bracketExtendMode, singleTrackTrackNamePolicy, multiTrackTrackNamePolicy, firstSystemTrackNameMode, otherSystemsTrackNameMode, firstSystemTrackNameOrientation, otherSystemsTrackNameOrientation, extendBarLines, chordDiagramsInScore, hideEmptyStaves, hideEmptyStavesInFirstSystem, showSingleStaffBrackets);
5399
+ const scoreMetaData = metadata(title, subtitle, artist, album, words, music, wordsAndMusic, copyright, copyright2, instructions, notices, tab, systemsLayout, defaultSystemsLayout, showDynamics, hideDynamics, useSystemSignSeparator, multiBarRest, bracketExtendMode, singleTrackTrackNamePolicy, multiTrackTrackNamePolicy, firstSystemTrackNameMode, otherSystemsTrackNameMode, firstSystemTrackNameOrientation, otherSystemsTrackNameOrientation, extendBarLines, chordDiagramsInScore, hideEmptyStaves, hideEmptyStavesInFirstSystem, showSingleStaffBrackets, defaultBarNumberDisplay);
5306
5400
  const staffMetaData = metadata(tuning, chord, capo, lyrics, articulation, displayTranspose, transpose, instrumentMeta);
5307
- const barMetaData = metadata(ts, ro, rc, ae, ks, clef, ottava, tempo, tf, ac, section, jump, ft, simile, barlineLeft, barlineRight, scale, width, sync, accidentals, spd, sph, spu, db, voiceMode);
5401
+ const barMetaData = metadata(ts, ro, rc, ae, ks, clef, ottava, tempo, tf, ac, section, jump, ft, simile, barlineLeft, barlineRight, scale, width, sync, accidentals, spd, sph, spu, db, voiceMode, barNumberDisplay);
5308
5402
  const allMetadata = new Map([
5309
5403
  ...structuralMetaData.entries(),
5310
5404
  ...scoreMetaData.entries(),
@@ -5490,11 +5584,11 @@ function setupCompletion(connection, documents) {
5490
5584
  if (!bar) {
5491
5585
  return sortCompletions(createMetaDataCompletions(barIndex, undefined, offset, Number.MAX_SAFE_INTEGER), connection.console);
5492
5586
  }
5493
- const endOfBar = bar.pipe?.start.offset ??
5587
+ const endOfBar = bar.pipe?.start?.offset ??
5494
5588
  (barIndex === document.ast.bars.length - 1
5495
5589
  ? Number.MAX_SAFE_INTEGER
5496
5590
  : document.ast.bars[barIndex + 1].start.offset);
5497
- const endOfBarMetaData = bar.beats[0]?.start.offset ?? endOfBar;
5591
+ const endOfBarMetaData = bar.beats[0]?.start?.offset ?? endOfBar;
5498
5592
  const metaData = bar ? binaryNodeSearch(bar.metaData, offset, endOfBarMetaData) : undefined;
5499
5593
  if (metaData) {
5500
5594
  const metaDataIndex = bar.metaData.indexOf(metaData);
@@ -5550,14 +5644,14 @@ function createBeatCompletions(beat, offset, endOfBeat) {
5550
5644
  if (beat.durationChange &&
5551
5645
  beat.durationChange.start.offset < offset &&
5552
5646
  offset <= beat.durationChange.end.offset) {
5553
- const endOfDurationChange = beat.notes?.start.offset ?? endOfBeat;
5647
+ const endOfDurationChange = beat.notes?.start?.offset ?? endOfBeat;
5554
5648
  return createDurationChangeCompletions(beat.durationChange, offset, endOfDurationChange);
5555
5649
  }
5556
5650
  if (beat.notes && beat.notes.start.offset < offset && offset <= beat.notes.end.offset) {
5557
- const endOfNotes = beat.notes?.closeParenthesis?.start.offset ??
5558
- beat.durationDot?.start.offset ??
5559
- beat.beatEffects?.start.offset ??
5560
- beat.beatMultiplier?.start.offset ??
5651
+ const endOfNotes = beat.notes?.closeParenthesis?.start?.offset ??
5652
+ beat.durationDot?.start?.offset ??
5653
+ beat.beatEffects?.start?.offset ??
5654
+ beat.beatMultiplier?.start?.offset ??
5561
5655
  endOfBeat;
5562
5656
  const note = binaryNodeSearch(beat.notes.notes, offset, endOfNotes);
5563
5657
  if (note) {
@@ -5588,7 +5682,7 @@ function createBeatCompletions(beat, offset, endOfBeat) {
5588
5682
  })));
5589
5683
  }
5590
5684
  if (beat.beatEffects && beat.beatEffects.start.offset < offset && beat.beatEffects.end.offset) {
5591
- const endOfProperties = beat.beatEffects?.closeBrace?.start.offset ?? beat.beatMultiplier?.start.offset ?? endOfBeat;
5685
+ const endOfProperties = beat.beatEffects?.closeBrace?.start?.offset ?? beat.beatMultiplier?.start?.offset ?? endOfBeat;
5592
5686
  completions.splice(0, 0, ...createPropertiesCompletions(beat.beatEffects, offset, beatProperties, endOfProperties));
5593
5687
  }
5594
5688
  return completions;
@@ -5619,7 +5713,7 @@ function createDurationChangeCompletions(durationChange, offset, endOfDurationCh
5619
5713
  else if (durationChange.properties &&
5620
5714
  durationChange.properties.start.offset < offset &&
5621
5715
  durationChange.properties.end.offset) {
5622
- const endOfProperties = durationChange.properties?.closeBrace?.start.offset ?? endOfDurationChange;
5716
+ const endOfProperties = durationChange.properties?.closeBrace?.start?.offset ?? endOfDurationChange;
5623
5717
  completions.push(...createPropertiesCompletions(durationChange.properties, offset, durationChangeProperties, endOfProperties));
5624
5718
  }
5625
5719
  return completions;
@@ -5627,7 +5721,7 @@ function createDurationChangeCompletions(durationChange, offset, endOfDurationCh
5627
5721
  function createNoteCompletions(beat, note, offset, endOfNote) {
5628
5722
  const completions = [];
5629
5723
  if (note.noteEffects && note.noteEffects.start.offset < offset && note.noteEffects.end.offset) {
5630
- const endOfProperties = note.noteEffects.closeBrace?.start.offset ?? endOfNote;
5724
+ const endOfProperties = note.noteEffects.closeBrace?.start?.offset ?? endOfNote;
5631
5725
  if (beat.notes.notes.length === 1) {
5632
5726
  completions.splice(0, 0, ...createPropertiesCompletions(note.noteEffects, offset, beatProperties, endOfProperties));
5633
5727
  }
@@ -5741,13 +5835,13 @@ function createMetaDataCompletions(barIndex, metaData, offset, endOfMetaData) {
5741
5835
  if (!metaDataDocs) {
5742
5836
  return completions;
5743
5837
  }
5744
- const endOfArguments = metaData.arguments?.closeParenthesis?.start.offset ??
5745
- metaData.arguments?.end.offset ??
5746
- metaData.properties?.start.offset ??
5838
+ const endOfArguments = metaData.arguments?.closeParenthesis?.start?.offset ??
5839
+ metaData.arguments?.end?.offset ??
5840
+ metaData.properties?.start?.offset ??
5747
5841
  endOfMetaData;
5748
5842
  completions.splice(0, 0, ...createArgumentCompletions(metaDataDocs.signatures, metaData.arguments, offset, endOfArguments));
5749
5843
  if (metaDataDocs?.properties) {
5750
- const endOfProperties = metaData.properties?.closeBrace?.start.offset ?? endOfMetaData;
5844
+ const endOfProperties = metaData.properties?.closeBrace?.start?.offset ?? endOfMetaData;
5751
5845
  completions.splice(0, 0, ...createPropertiesCompletions(metaData.properties, offset, metaDataDocs.properties, endOfProperties));
5752
5846
  }
5753
5847
  return completions;
@@ -6192,7 +6286,7 @@ function createMetaDataSignatureHelp(metaData, offset) {
6192
6286
  if (!metaDataDocs) {
6193
6287
  return null;
6194
6288
  }
6195
- const endOfValues = metaData.arguments?.end.offset ?? metaData.properties?.start.offset ?? metaData.end.offset;
6289
+ const endOfValues = metaData.arguments?.end?.offset ?? metaData.properties?.start?.offset ?? metaData.end.offset;
6196
6290
  if (metaData.start.offset <= offset && offset < endOfValues) {
6197
6291
  return createArgumentsSignatureHelp(`\\${metaData.tag.tag.text}`, metaDataDocs, metaData.arguments, offset);
6198
6292
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coderline/alphatab-monaco",
3
- "version": "1.8.0-alpha.1669",
3
+ "version": "1.8.0-alpha.1670",
4
4
  "description": "A Monaco editor integration for alphaTab providing coding assistance for alphaTex.",
5
5
  "keywords": [
6
6
  "guitar",
@@ -31,15 +31,15 @@
31
31
  "test": "mocha"
32
32
  },
33
33
  "dependencies": {
34
- "@coderline/alphatab": "^1.8.0-alpha.1669",
35
- "@coderline/alphatab-language-server": "^1.8.0-alpha.1669",
34
+ "@coderline/alphatab": "^1.8.0-alpha.1670",
35
+ "@coderline/alphatab-language-server": "^1.8.0-alpha.1670",
36
36
  "monaco-editor": "^0.55.1",
37
37
  "vscode-languageserver-types": "^3.17.5",
38
38
  "vscode-oniguruma": "^2.0.1",
39
39
  "vscode-textmate": "^9.3.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@biomejs/biome": "^2.2.6",
42
+ "@biomejs/biome": "^2.3.11",
43
43
  "@microsoft/api-extractor": "^7.55.2",
44
44
  "@types/chai": "^5.2.2",
45
45
  "@types/mocha": "^10.0.10",