@retorquere/bibtex-parser 7.0.16 → 8.0.0

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/grammar.js CHANGED
@@ -1,4 +1,4 @@
1
- // @generated by Peggy 4.0.1.
1
+ // @generated by Peggy 4.0.2.
2
2
  //
3
3
  // https://peggyjs.org/
4
4
 
@@ -578,7 +578,8 @@ function peg$parse(input, options) {
578
578
  },
579
579
  }
580
580
  };
581
- var peg$f42 = function(mode, v) {
581
+ var peg$f42 = function() { return math.on };
582
+ var peg$f43 = function(mode, v) {
582
583
  if (v.kind === 'Block') v = v.value
583
584
 
584
585
  return {
@@ -588,7 +589,16 @@ function peg$parse(input, options) {
588
589
  value: v,
589
590
  }
590
591
  };
591
- var peg$f43 = function(mark, chr) {
592
+ var peg$f44 = function(char) {
593
+ return {
594
+ kind: 'Text',
595
+ loc: location(),
596
+ source: text(),
597
+ value: char,
598
+ mode: 'text',
599
+ }
600
+ };
601
+ var peg$f45 = function(mark, chr) {
592
602
  return {
593
603
  kind: 'DiacriticCommand',
594
604
  loc: location(),
@@ -598,7 +608,7 @@ function peg$parse(input, options) {
598
608
  character: chr[1] || chr[0],
599
609
  }
600
610
  };
601
- var peg$f44 = function(mark, chr) {
611
+ var peg$f46 = function(mark, chr) {
602
612
  return {
603
613
  kind: 'DiacriticCommand',
604
614
  loc: location(),
@@ -608,7 +618,7 @@ function peg$parse(input, options) {
608
618
  character: chr[1] || chr[0],
609
619
  }
610
620
  };
611
- var peg$f45 = function(mark, v) {
621
+ var peg$f47 = function(mark, v) {
612
622
  return {
613
623
  kind: 'RegularCommand',
614
624
  loc: location(),
@@ -620,7 +630,7 @@ function peg$parse(input, options) {
620
630
  },
621
631
  }
622
632
  };
623
- var peg$f46 = function(v) {
633
+ var peg$f48 = function(v) {
624
634
  return {
625
635
  kind: 'SymbolCommand',
626
636
  loc: location(),
@@ -628,8 +638,8 @@ function peg$parse(input, options) {
628
638
  command: v,
629
639
  }
630
640
  };
631
- var peg$f47 = function(cmd, name) { return name.value.length == 1 && name.value[0].kind === 'RegularCommand' };
632
- var peg$f48 = function(cmd, name, optional, def) {
641
+ var peg$f49 = function(cmd, name) { return name.value.length == 1 && name.value[0].kind === 'RegularCommand' };
642
+ var peg$f50 = function(cmd, name, optional, def) {
633
643
  return {
634
644
  kind: 'RegularCommand',
635
645
  loc: location(),
@@ -641,7 +651,7 @@ function peg$parse(input, options) {
641
651
  },
642
652
  }
643
653
  };
644
- var peg$f49 = function() {
654
+ var peg$f51 = function() {
645
655
  return {
646
656
  kind: 'Text',
647
657
  loc: location(),
@@ -650,7 +660,7 @@ function peg$parse(input, options) {
650
660
  mode: math.on ? 'math' : 'text',
651
661
  }
652
662
  };
653
- var peg$f50 = function() {
663
+ var peg$f52 = function() {
654
664
  return {
655
665
  kind: 'Text',
656
666
  loc: location(),
@@ -659,7 +669,7 @@ function peg$parse(input, options) {
659
669
  mode: math.on ? 'math' : 'text',
660
670
  }
661
671
  };
662
- var peg$f51 = function(cmd, url) {
672
+ var peg$f53 = function(cmd, url) {
663
673
  // https://github.com/retorquere/zotero-better-bibtex/issues/2617
664
674
  url.value = url.value.replace(/\\([\#%])/g, '$1')
665
675
  return {
@@ -673,7 +683,7 @@ function peg$parse(input, options) {
673
683
  },
674
684
  }
675
685
  };
676
- var peg$f52 = function(cmd, url, label) {
686
+ var peg$f54 = function(cmd, url, label) {
677
687
  // https://github.com/retorquere/zotero-better-bibtex/issues/2617
678
688
  url.value = url.value.replace(/\\([\#%])/g, '$1')
679
689
  return {
@@ -687,9 +697,9 @@ function peg$parse(input, options) {
687
697
  },
688
698
  }
689
699
  };
690
- var peg$f53 = function(delim) { return verbatim.set(delim) };
691
- var peg$f54 = function(delim, v) { return verbatim.set('') };
692
- var peg$f55 = function(delim, v) {
700
+ var peg$f55 = function(delim) { return verbatim.set(delim) };
701
+ var peg$f56 = function(delim, v) { return verbatim.set('') };
702
+ var peg$f57 = function(delim, v) {
693
703
  return basicTextConversions({
694
704
  kind: 'Text',
695
705
  loc: location(),
@@ -698,8 +708,8 @@ function peg$parse(input, options) {
698
708
  mode: 'verbatim',
699
709
  })
700
710
  };
701
- var peg$f56 = function(cmd) { return verbatimCommands.includes(cmd) && (has_arguments[cmd] === 2) };
702
- var peg$f57 = function(cmd, optional, req1, req2) {
711
+ var peg$f58 = function(cmd) { return verbatimCommands.includes(cmd) && (has_arguments[cmd] === 2) };
712
+ var peg$f59 = function(cmd, optional, req1, req2) {
703
713
  return {
704
714
  kind: 'RegularCommand',
705
715
  loc: location(),
@@ -711,8 +721,8 @@ function peg$parse(input, options) {
711
721
  },
712
722
  }
713
723
  };
714
- var peg$f58 = function(cmd) { return verbatimCommands.includes(cmd) && (has_arguments[cmd] === 1) };
715
- var peg$f59 = function(cmd, optional, req) {
724
+ var peg$f60 = function(cmd) { return verbatimCommands.includes(cmd) && (has_arguments[cmd] === 1) };
725
+ var peg$f61 = function(cmd, optional, req) {
716
726
  return {
717
727
  kind: 'RegularCommand',
718
728
  loc: location(),
@@ -724,8 +734,8 @@ function peg$parse(input, options) {
724
734
  },
725
735
  }
726
736
  };
727
- var peg$f60 = function(cmd) { return (has_arguments[cmd] === 2) };
728
- var peg$f61 = function(cmd, optional, req1, req2) {
737
+ var peg$f62 = function(cmd) { return (has_arguments[cmd] === 2) };
738
+ var peg$f63 = function(cmd, optional, req1, req2) {
729
739
  return {
730
740
  kind: 'RegularCommand',
731
741
  loc: location(),
@@ -737,8 +747,8 @@ function peg$parse(input, options) {
737
747
  },
738
748
  }
739
749
  };
740
- var peg$f62 = function(cmd) { return (has_arguments[cmd] === 1) };
741
- var peg$f63 = function(cmd, optional, req) {
750
+ var peg$f64 = function(cmd) { return (has_arguments[cmd] === 1) };
751
+ var peg$f65 = function(cmd, optional, req) {
742
752
  let m
743
753
  if (req.kind === 'Block') {
744
754
  switch (cmd) {
@@ -788,7 +798,7 @@ function peg$parse(input, options) {
788
798
  }
789
799
  }
790
800
  };
791
- var peg$f64 = function(cmd, optional) {
801
+ var peg$f66 = function(cmd, optional) {
792
802
  return {
793
803
  kind: 'RegularCommand',
794
804
  loc: location(),
@@ -800,9 +810,9 @@ function peg$parse(input, options) {
800
810
  }
801
811
  }
802
812
  };
803
- var peg$f65 = function(char) { return char !== verbatim.delim };
804
- var peg$f66 = function(char) { return char };
805
- var peg$f67 = function(char) {
813
+ var peg$f67 = function(char) { return char !== verbatim.delim };
814
+ var peg$f68 = function(char) { return char };
815
+ var peg$f69 = function(char) {
806
816
  return basicTextConversions({
807
817
  kind: 'Text',
808
818
  loc: location(),
@@ -811,7 +821,7 @@ function peg$parse(input, options) {
811
821
  mode: math.on ? 'math' : 'text',
812
822
  })
813
823
  };
814
- var peg$f68 = function(v) {
824
+ var peg$f70 = function(v) {
815
825
  return basicTextConversions({
816
826
  kind: 'Text', // this isn't really correct but I don't need these right now
817
827
  loc: location(),
@@ -820,7 +830,7 @@ function peg$parse(input, options) {
820
830
  mode: math.on ? 'math' : 'text',
821
831
  })
822
832
  };
823
- var peg$f69 = function(v) {
833
+ var peg$f71 = function(v) {
824
834
  return basicTextConversions({
825
835
  kind: 'Text',
826
836
  loc: location(),
@@ -829,8 +839,8 @@ function peg$parse(input, options) {
829
839
  mode: math.on ? 'math' : 'text',
830
840
  })
831
841
  };
832
- var peg$f70 = function(v) { return v };
833
- var peg$f71 = function(ws) { return ws };
842
+ var peg$f72 = function(v) { return v };
843
+ var peg$f73 = function(ws) { return ws };
834
844
  var peg$currPos = options.peg$currPos | 0;
835
845
  var peg$savedPos = peg$currPos;
836
846
  var peg$posDetailsCache = [{ line: 1, column: 1 }];
@@ -2916,22 +2926,34 @@ function peg$parse(input, options) {
2916
2926
  }
2917
2927
 
2918
2928
  function peg$parseScriptCommand() {
2919
- var s0, s1, s2, s3;
2929
+ var s0, s1, s2, s3, s4;
2920
2930
 
2921
2931
  s0 = peg$currPos;
2922
- s1 = input.charAt(peg$currPos);
2923
- if (peg$r16.test(s1)) {
2924
- peg$currPos++;
2932
+ peg$savedPos = peg$currPos;
2933
+ s1 = peg$f42();
2934
+ if (s1) {
2935
+ s1 = undefined;
2925
2936
  } else {
2926
2937
  s1 = peg$FAILED;
2927
- if (peg$silentFails === 0) { peg$fail(peg$e34); }
2928
2938
  }
2929
2939
  if (s1 !== peg$FAILED) {
2930
- s2 = peg$parse__h();
2931
- s3 = peg$parseArgument();
2932
- if (s3 !== peg$FAILED) {
2933
- peg$savedPos = s0;
2934
- s0 = peg$f42(s1, s3);
2940
+ s2 = input.charAt(peg$currPos);
2941
+ if (peg$r16.test(s2)) {
2942
+ peg$currPos++;
2943
+ } else {
2944
+ s2 = peg$FAILED;
2945
+ if (peg$silentFails === 0) { peg$fail(peg$e34); }
2946
+ }
2947
+ if (s2 !== peg$FAILED) {
2948
+ s3 = peg$parse__h();
2949
+ s4 = peg$parseArgument();
2950
+ if (s4 !== peg$FAILED) {
2951
+ peg$savedPos = s0;
2952
+ s0 = peg$f43(s2, s4);
2953
+ } else {
2954
+ peg$currPos = s0;
2955
+ s0 = peg$FAILED;
2956
+ }
2935
2957
  } else {
2936
2958
  peg$currPos = s0;
2937
2959
  s0 = peg$FAILED;
@@ -2940,6 +2962,21 @@ function peg$parse(input, options) {
2940
2962
  peg$currPos = s0;
2941
2963
  s0 = peg$FAILED;
2942
2964
  }
2965
+ if (s0 === peg$FAILED) {
2966
+ s0 = peg$currPos;
2967
+ s1 = input.charAt(peg$currPos);
2968
+ if (peg$r16.test(s1)) {
2969
+ peg$currPos++;
2970
+ } else {
2971
+ s1 = peg$FAILED;
2972
+ if (peg$silentFails === 0) { peg$fail(peg$e34); }
2973
+ }
2974
+ if (s1 !== peg$FAILED) {
2975
+ peg$savedPos = s0;
2976
+ s1 = peg$f44(s1);
2977
+ }
2978
+ s0 = s1;
2979
+ }
2943
2980
 
2944
2981
  return s0;
2945
2982
  }
@@ -2997,7 +3034,7 @@ function peg$parse(input, options) {
2997
3034
  }
2998
3035
  if (s4 !== peg$FAILED) {
2999
3036
  peg$savedPos = s0;
3000
- s0 = peg$f43(s2, s4);
3037
+ s0 = peg$f45(s2, s4);
3001
3038
  } else {
3002
3039
  peg$currPos = s0;
3003
3040
  s0 = peg$FAILED;
@@ -3076,7 +3113,7 @@ function peg$parse(input, options) {
3076
3113
  }
3077
3114
  if (s5 !== peg$FAILED) {
3078
3115
  peg$savedPos = s0;
3079
- s0 = peg$f44(s2, s4);
3116
+ s0 = peg$f46(s2, s4);
3080
3117
  } else {
3081
3118
  peg$currPos = s0;
3082
3119
  s0 = peg$FAILED;
@@ -3129,7 +3166,7 @@ function peg$parse(input, options) {
3129
3166
  s4 = peg$parseRegularValue();
3130
3167
  if (s4 !== peg$FAILED) {
3131
3168
  peg$savedPos = s0;
3132
- s0 = peg$f45(s2, s4);
3169
+ s0 = peg$f47(s2, s4);
3133
3170
  } else {
3134
3171
  peg$currPos = s0;
3135
3172
  s0 = peg$FAILED;
@@ -3173,7 +3210,7 @@ function peg$parse(input, options) {
3173
3210
  }
3174
3211
  if (s2 !== peg$FAILED) {
3175
3212
  peg$savedPos = s0;
3176
- s0 = peg$f46(s2);
3213
+ s0 = peg$f48(s2);
3177
3214
  } else {
3178
3215
  peg$currPos = s0;
3179
3216
  s0 = peg$FAILED;
@@ -3209,7 +3246,7 @@ function peg$parse(input, options) {
3209
3246
  s3 = peg$parseBlock();
3210
3247
  if (s3 !== peg$FAILED) {
3211
3248
  peg$savedPos = peg$currPos;
3212
- s4 = peg$f47(s2, s3);
3249
+ s4 = peg$f49(s2, s3);
3213
3250
  if (s4) {
3214
3251
  s4 = undefined;
3215
3252
  } else {
@@ -3225,7 +3262,7 @@ function peg$parse(input, options) {
3225
3262
  s6 = peg$parseArgument();
3226
3263
  if (s6 !== peg$FAILED) {
3227
3264
  peg$savedPos = s0;
3228
- s0 = peg$f48(s2, s3, s5, s6);
3265
+ s0 = peg$f50(s2, s3, s5, s6);
3229
3266
  } else {
3230
3267
  peg$currPos = s0;
3231
3268
  s0 = peg$FAILED;
@@ -3258,7 +3295,7 @@ function peg$parse(input, options) {
3258
3295
  if (s1 !== peg$FAILED) {
3259
3296
  s2 = peg$parse__h();
3260
3297
  peg$savedPos = s0;
3261
- s0 = peg$f49();
3298
+ s0 = peg$f51();
3262
3299
  } else {
3263
3300
  peg$currPos = s0;
3264
3301
  s0 = peg$FAILED;
@@ -3275,7 +3312,7 @@ function peg$parse(input, options) {
3275
3312
  if (s1 !== peg$FAILED) {
3276
3313
  s2 = peg$parse__h();
3277
3314
  peg$savedPos = s0;
3278
- s0 = peg$f50();
3315
+ s0 = peg$f52();
3279
3316
  } else {
3280
3317
  peg$currPos = s0;
3281
3318
  s0 = peg$FAILED;
@@ -3319,7 +3356,7 @@ function peg$parse(input, options) {
3319
3356
  s5 = peg$parseVerbatimFieldValue();
3320
3357
  if (s5 !== peg$FAILED) {
3321
3358
  peg$savedPos = s0;
3322
- s0 = peg$f51(s2, s5);
3359
+ s0 = peg$f53(s2, s5);
3323
3360
  } else {
3324
3361
  peg$currPos = s0;
3325
3362
  s0 = peg$FAILED;
@@ -3377,7 +3414,7 @@ function peg$parse(input, options) {
3377
3414
  s6 = peg$parseArgument();
3378
3415
  if (s6 !== peg$FAILED) {
3379
3416
  peg$savedPos = s0;
3380
- s0 = peg$f52(s2, s5, s6);
3417
+ s0 = peg$f54(s2, s5, s6);
3381
3418
  } else {
3382
3419
  peg$currPos = s0;
3383
3420
  s0 = peg$FAILED;
@@ -3417,7 +3454,7 @@ function peg$parse(input, options) {
3417
3454
  }
3418
3455
  if (s2 !== peg$FAILED) {
3419
3456
  peg$savedPos = peg$currPos;
3420
- s3 = peg$f53(s2);
3457
+ s3 = peg$f55(s2);
3421
3458
  if (s3) {
3422
3459
  s3 = undefined;
3423
3460
  } else {
@@ -3439,7 +3476,7 @@ function peg$parse(input, options) {
3439
3476
  }
3440
3477
  if (s5 !== peg$FAILED) {
3441
3478
  peg$savedPos = peg$currPos;
3442
- s6 = peg$f54(s2, s4);
3479
+ s6 = peg$f56(s2, s4);
3443
3480
  if (s6) {
3444
3481
  s6 = undefined;
3445
3482
  } else {
@@ -3447,7 +3484,7 @@ function peg$parse(input, options) {
3447
3484
  }
3448
3485
  if (s6 !== peg$FAILED) {
3449
3486
  peg$savedPos = s0;
3450
- s0 = peg$f55(s2, s4);
3487
+ s0 = peg$f57(s2, s4);
3451
3488
  } else {
3452
3489
  peg$currPos = s0;
3453
3490
  s0 = peg$FAILED;
@@ -3542,7 +3579,7 @@ function peg$parse(input, options) {
3542
3579
  }
3543
3580
  if (s4 !== peg$FAILED) {
3544
3581
  peg$savedPos = peg$currPos;
3545
- s5 = peg$f56(s4);
3582
+ s5 = peg$f58(s4);
3546
3583
  if (s5) {
3547
3584
  s5 = undefined;
3548
3585
  } else {
@@ -3578,7 +3615,7 @@ function peg$parse(input, options) {
3578
3615
  s10 = peg$parseVerbatimFieldValue();
3579
3616
  if (s10 !== peg$FAILED) {
3580
3617
  peg$savedPos = s0;
3581
- s0 = peg$f57(s4, s6, s9, s10);
3618
+ s0 = peg$f59(s4, s6, s9, s10);
3582
3619
  } else {
3583
3620
  peg$currPos = s0;
3584
3621
  s0 = peg$FAILED;
@@ -3685,7 +3722,7 @@ function peg$parse(input, options) {
3685
3722
  }
3686
3723
  if (s4 !== peg$FAILED) {
3687
3724
  peg$savedPos = peg$currPos;
3688
- s5 = peg$f58(s4);
3725
+ s5 = peg$f60(s4);
3689
3726
  if (s5) {
3690
3727
  s5 = undefined;
3691
3728
  } else {
@@ -3719,7 +3756,7 @@ function peg$parse(input, options) {
3719
3756
  s9 = peg$parseVerbatimFieldValue();
3720
3757
  if (s9 !== peg$FAILED) {
3721
3758
  peg$savedPos = s0;
3722
- s0 = peg$f59(s4, s6, s9);
3759
+ s0 = peg$f61(s4, s6, s9);
3723
3760
  } else {
3724
3761
  peg$currPos = s0;
3725
3762
  s0 = peg$FAILED;
@@ -3822,7 +3859,7 @@ function peg$parse(input, options) {
3822
3859
  }
3823
3860
  if (s4 !== peg$FAILED) {
3824
3861
  peg$savedPos = peg$currPos;
3825
- s5 = peg$f60(s4);
3862
+ s5 = peg$f62(s4);
3826
3863
  if (s5) {
3827
3864
  s5 = undefined;
3828
3865
  } else {
@@ -3841,7 +3878,7 @@ function peg$parse(input, options) {
3841
3878
  s9 = peg$parseArgument();
3842
3879
  if (s9 !== peg$FAILED) {
3843
3880
  peg$savedPos = s0;
3844
- s0 = peg$f61(s4, s6, s8, s9);
3881
+ s0 = peg$f63(s4, s6, s8, s9);
3845
3882
  } else {
3846
3883
  peg$currPos = s0;
3847
3884
  s0 = peg$FAILED;
@@ -3944,7 +3981,7 @@ function peg$parse(input, options) {
3944
3981
  }
3945
3982
  if (s4 !== peg$FAILED) {
3946
3983
  peg$savedPos = peg$currPos;
3947
- s5 = peg$f62(s4);
3984
+ s5 = peg$f64(s4);
3948
3985
  if (s5) {
3949
3986
  s5 = undefined;
3950
3987
  } else {
@@ -3961,7 +3998,7 @@ function peg$parse(input, options) {
3961
3998
  s8 = peg$parseArgument();
3962
3999
  if (s8 !== peg$FAILED) {
3963
4000
  peg$savedPos = s0;
3964
- s0 = peg$f63(s4, s6, s8);
4001
+ s0 = peg$f65(s4, s6, s8);
3965
4002
  } else {
3966
4003
  peg$currPos = s0;
3967
4004
  s0 = peg$FAILED;
@@ -4067,7 +4104,7 @@ function peg$parse(input, options) {
4067
4104
  }
4068
4105
  s6 = peg$parse__();
4069
4106
  peg$savedPos = s0;
4070
- s0 = peg$f64(s4, s5);
4107
+ s0 = peg$f66(s4, s5);
4071
4108
  } else {
4072
4109
  peg$currPos = s0;
4073
4110
  s0 = peg$FAILED;
@@ -4111,7 +4148,7 @@ function peg$parse(input, options) {
4111
4148
  }
4112
4149
  if (s1 !== peg$FAILED) {
4113
4150
  peg$savedPos = peg$currPos;
4114
- s2 = peg$f65(s1);
4151
+ s2 = peg$f67(s1);
4115
4152
  if (s2) {
4116
4153
  s2 = undefined;
4117
4154
  } else {
@@ -4119,7 +4156,7 @@ function peg$parse(input, options) {
4119
4156
  }
4120
4157
  if (s2 !== peg$FAILED) {
4121
4158
  peg$savedPos = s0;
4122
- s0 = peg$f66(s1);
4159
+ s0 = peg$f68(s1);
4123
4160
  } else {
4124
4161
  peg$currPos = s0;
4125
4162
  s0 = peg$FAILED;
@@ -4188,7 +4225,7 @@ function peg$parse(input, options) {
4188
4225
  if (s4 !== peg$FAILED) {
4189
4226
  s5 = peg$parse__();
4190
4227
  peg$savedPos = s0;
4191
- s0 = peg$f67(s4);
4228
+ s0 = peg$f69(s4);
4192
4229
  } else {
4193
4230
  peg$currPos = s0;
4194
4231
  s0 = peg$FAILED;
@@ -4261,7 +4298,7 @@ function peg$parse(input, options) {
4261
4298
  }
4262
4299
  if (s5 !== peg$FAILED) {
4263
4300
  peg$savedPos = s0;
4264
- s0 = peg$f68(s3);
4301
+ s0 = peg$f70(s3);
4265
4302
  } else {
4266
4303
  peg$currPos = s0;
4267
4304
  s0 = peg$FAILED;
@@ -4292,7 +4329,7 @@ function peg$parse(input, options) {
4292
4329
  }
4293
4330
  if (s2 !== peg$FAILED) {
4294
4331
  peg$savedPos = s0;
4295
- s0 = peg$f69(s2);
4332
+ s0 = peg$f71(s2);
4296
4333
  } else {
4297
4334
  peg$currPos = s0;
4298
4335
  s0 = peg$FAILED;
@@ -4306,7 +4343,7 @@ function peg$parse(input, options) {
4306
4343
  }
4307
4344
  if (s2 !== peg$FAILED) {
4308
4345
  peg$savedPos = s0;
4309
- s0 = peg$f70(s2);
4346
+ s0 = peg$f72(s2);
4310
4347
  } else {
4311
4348
  peg$currPos = s0;
4312
4349
  s0 = peg$FAILED;
@@ -4635,7 +4672,7 @@ function peg$parse(input, options) {
4635
4672
  }
4636
4673
  if (s1 !== peg$FAILED) {
4637
4674
  peg$savedPos = s0;
4638
- s1 = peg$f71(s1);
4675
+ s1 = peg$f73(s1);
4639
4676
  }
4640
4677
  s0 = s1;
4641
4678
  peg$silentFails--;