pygments.rb 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/CHANGELOG.adoc +5 -0
  4. data/bench.rb +2 -2
  5. data/lib/pygments/lexer.rb +1 -1
  6. data/lib/pygments/mentos.py +6 -4
  7. data/lib/pygments/popen.rb +14 -7
  8. data/lib/pygments/version.rb +1 -1
  9. data/lib/pygments.rb +8 -2
  10. data/pygments.rb.gemspec +4 -4
  11. data/test/test_pygments.rb +13 -7
  12. data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/AUTHORS +8 -1
  13. data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/INSTALLER +0 -0
  14. data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/LICENSE +0 -0
  15. data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/METADATA +1 -1
  16. data/vendor/pygments-main/Pygments-2.10.0.dist-info/RECORD +524 -0
  17. data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/REQUESTED +0 -0
  18. data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/WHEEL +0 -0
  19. data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/entry_points.txt +0 -0
  20. data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/top_level.txt +0 -0
  21. data/vendor/pygments-main/bin/pygmentize +1 -1
  22. data/vendor/pygments-main/pygments/__init__.py +1 -1
  23. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -0
  24. data/vendor/pygments-main/pygments/formatters/html.py +20 -7
  25. data/vendor/pygments-main/pygments/formatters/pangomarkup.py +83 -0
  26. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +55 -14
  27. data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +401 -0
  28. data/vendor/pygments-main/pygments/lexers/_mapping.py +68 -52
  29. data/vendor/pygments-main/pygments/lexers/actionscript.py +2 -2
  30. data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
  31. data/vendor/pygments-main/pygments/lexers/amdgpu.py +9 -4
  32. data/vendor/pygments-main/pygments/lexers/apdlexer.py +448 -0
  33. data/vendor/pygments-main/pygments/lexers/apl.py +6 -3
  34. data/vendor/pygments-main/pygments/lexers/asc.py +51 -0
  35. data/vendor/pygments-main/pygments/lexers/asm.py +86 -58
  36. data/vendor/pygments-main/pygments/lexers/automation.py +1 -1
  37. data/vendor/pygments-main/pygments/lexers/bibtex.py +2 -2
  38. data/vendor/pygments-main/pygments/lexers/c_cpp.py +60 -33
  39. data/vendor/pygments-main/pygments/lexers/c_like.py +102 -3
  40. data/vendor/pygments-main/pygments/lexers/cddl.py +2 -2
  41. data/vendor/pygments-main/pygments/lexers/chapel.py +53 -29
  42. data/vendor/pygments-main/pygments/lexers/clean.py +6 -6
  43. data/vendor/pygments-main/pygments/lexers/configs.py +133 -43
  44. data/vendor/pygments-main/pygments/lexers/csound.py +2 -2
  45. data/vendor/pygments-main/pygments/lexers/devicetree.py +1 -1
  46. data/vendor/pygments-main/pygments/lexers/dotnet.py +1 -1
  47. data/vendor/pygments-main/pygments/lexers/erlang.py +1 -1
  48. data/vendor/pygments-main/pygments/lexers/floscript.py +1 -1
  49. data/vendor/pygments-main/pygments/lexers/futhark.py +5 -4
  50. data/vendor/pygments-main/pygments/lexers/gcodelexer.py +36 -0
  51. data/vendor/pygments-main/pygments/lexers/go.py +1 -1
  52. data/vendor/pygments-main/pygments/lexers/graphics.py +1 -1
  53. data/vendor/pygments-main/pygments/lexers/graphviz.py +5 -4
  54. data/vendor/pygments-main/pygments/lexers/gsql.py +92 -0
  55. data/vendor/pygments-main/pygments/lexers/haskell.py +4 -4
  56. data/vendor/pygments-main/pygments/lexers/haxe.py +1 -1
  57. data/vendor/pygments-main/pygments/lexers/installers.py +2 -2
  58. data/vendor/pygments-main/pygments/lexers/javascript.py +145 -127
  59. data/vendor/pygments-main/pygments/lexers/jslt.py +94 -0
  60. data/vendor/pygments-main/pygments/lexers/julia.py +135 -183
  61. data/vendor/pygments-main/pygments/lexers/jvm.py +262 -202
  62. data/vendor/pygments-main/pygments/lexers/kuin.py +299 -0
  63. data/vendor/pygments-main/pygments/lexers/lisp.py +18 -15
  64. data/vendor/pygments-main/pygments/lexers/markup.py +3 -3
  65. data/vendor/pygments-main/pygments/lexers/matlab.py +23 -10
  66. data/vendor/pygments-main/pygments/lexers/meson.py +155 -0
  67. data/vendor/pygments-main/pygments/lexers/mime.py +6 -21
  68. data/vendor/pygments-main/pygments/lexers/ml.py +1 -1
  69. data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -1
  70. data/vendor/pygments-main/pygments/lexers/objective.py +3 -3
  71. data/vendor/pygments-main/pygments/lexers/parsers.py +1 -1
  72. data/vendor/pygments-main/pygments/lexers/procfile.py +43 -0
  73. data/vendor/pygments-main/pygments/lexers/promql.py +1 -1
  74. data/vendor/pygments-main/pygments/lexers/python.py +19 -5
  75. data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
  76. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
  77. data/vendor/pygments-main/pygments/lexers/ruby.py +1 -1
  78. data/vendor/pygments-main/pygments/lexers/rust.py +9 -10
  79. data/vendor/pygments-main/pygments/lexers/scripting.py +7 -7
  80. data/vendor/pygments-main/pygments/lexers/shell.py +11 -8
  81. data/vendor/pygments-main/pygments/lexers/smithy.py +79 -0
  82. data/vendor/pygments-main/pygments/lexers/smv.py +1 -1
  83. data/vendor/pygments-main/pygments/lexers/special.py +15 -2
  84. data/vendor/pygments-main/pygments/lexers/supercollider.py +1 -1
  85. data/vendor/pygments-main/pygments/lexers/tcl.py +3 -3
  86. data/vendor/pygments-main/pygments/lexers/teal.py +88 -0
  87. data/vendor/pygments-main/pygments/lexers/templates.py +19 -19
  88. data/vendor/pygments-main/pygments/lexers/teraterm.py +1 -1
  89. data/vendor/pygments-main/pygments/lexers/testing.py +1 -1
  90. data/vendor/pygments-main/pygments/lexers/theorem.py +4 -2
  91. data/vendor/pygments-main/pygments/lexers/thingsdb.py +118 -0
  92. data/vendor/pygments-main/pygments/lexers/tnt.py +25 -15
  93. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
  94. data/vendor/pygments-main/pygments/lexers/webassembly.py +120 -0
  95. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  96. data/vendor/pygments-main/pygments/style.py +1 -1
  97. data/vendor/pygments-main/pygments/styles/__init__.py +2 -0
  98. data/vendor/pygments-main/pygments/styles/friendly.py +1 -0
  99. data/vendor/pygments-main/pygments/styles/gruvbox.py +107 -0
  100. data/vendor/pygments-main/pygments/styles/native.py +1 -0
  101. metadata +29 -14
  102. data/vendor/pygments-main/Pygments-2.8.1.dist-info/RECORD +0 -494
@@ -272,7 +272,9 @@ class HtmlFormatter(Formatter):
272
272
  125%``).
273
273
 
274
274
  `hl_lines`
275
- Specify a list of lines to be highlighted.
275
+ Specify a list of lines to be highlighted. The line numbers are always
276
+ relative to the input (i.e. the first line is line 1) and are
277
+ independent of `linenostart`.
276
278
 
277
279
  .. versionadded:: 0.11
278
280
 
@@ -303,7 +305,7 @@ class HtmlFormatter(Formatter):
303
305
 
304
306
  `lineanchors`
305
307
  If set to a nonempty string, e.g. ``foo``, the formatter will wrap each
306
- output line in an anchor tag with a ``name`` of ``foo-linenumber``.
308
+ output line in an anchor tag with an ``id`` (and `name`) of ``foo-linenumber``.
307
309
  This allows easy linking to certain lines.
308
310
 
309
311
  .. versionadded:: 0.9
@@ -335,7 +337,9 @@ class HtmlFormatter(Formatter):
335
337
 
336
338
  `filename`
337
339
  A string used to generate a filename when rendering ``<pre>`` blocks,
338
- for example if displaying source code.
340
+ for example if displaying source code. If `linenos` is set to
341
+ ``'table'`` then the filename will be rendered in an initial row
342
+ containing a single `<th>` which spans both columns.
339
343
 
340
344
  .. versionadded:: 2.1
341
345
 
@@ -691,11 +695,20 @@ class HtmlFormatter(Formatter):
691
695
 
692
696
  ls = '\n'.join(lines)
693
697
 
698
+ # If a filename was specified, we can't put it into the code table as it
699
+ # would misalign the line numbers. Hence we emit a separate row for it.
700
+ filename_tr = ""
701
+ if self.filename:
702
+ filename_tr = (
703
+ '<tr><th colspan="2" class="filename"><div class="highlight">'
704
+ '<span class="filename">' + self.filename + '</span></div>'
705
+ '</th></tr>')
706
+
694
707
  # in case you wonder about the seemingly redundant <div> here: since the
695
708
  # content in the other cell also is wrapped in a div, some browsers in
696
709
  # some configurations seem to mess up the formatting...
697
710
  yield 0, (
698
- '<table class="%stable">' % self.cssclass +
711
+ '<table class="%stable">' % self.cssclass + filename_tr +
699
712
  '<tr><td class="linenos"><div class="linenodiv"><pre>' +
700
713
  ls + '</pre></div></td><td class="code">'
701
714
  )
@@ -752,7 +765,7 @@ class HtmlFormatter(Formatter):
752
765
  for t, line in inner:
753
766
  if t:
754
767
  i += 1
755
- yield 1, '<a name="%s-%d"></a>' % (s, i) + line
768
+ yield 1, '<a id="%s-%d" name="%s-%d"></a>' % (s, i, s, i) + line
756
769
  else:
757
770
  yield 0, line
758
771
 
@@ -788,7 +801,7 @@ class HtmlFormatter(Formatter):
788
801
  style.append(self._pre_style)
789
802
  style = '; '.join(style)
790
803
 
791
- if self.filename:
804
+ if self.filename and self.linenos != 1:
792
805
  yield 0, ('<span class="filename">' + self.filename + '</span>')
793
806
 
794
807
  # the empty span here is to keep leading empty lines from being
@@ -877,7 +890,7 @@ class HtmlFormatter(Formatter):
877
890
 
878
891
  def _lookup_ctag(self, token):
879
892
  entry = ctags.TagEntry()
880
- if self._ctags.find(entry, token, 0):
893
+ if self._ctags.find(entry, token.encode(), 0):
881
894
  return entry['file'], entry['lineNumber']
882
895
  else:
883
896
  return None, None
@@ -0,0 +1,83 @@
1
+ """
2
+ pygments.formatters.pangomarkup
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Formatter for Pango markup output.
6
+
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.formatter import Formatter
12
+
13
+
14
+ __all__ = ['PangoMarkupFormatter']
15
+
16
+
17
+ _escape_table = {
18
+ ord('&'): '&amp;',
19
+ ord('<'): '&lt;',
20
+ }
21
+
22
+
23
+ def escape_special_chars(text, table=_escape_table):
24
+ """Escape & and < for Pango Markup."""
25
+ return text.translate(table)
26
+
27
+
28
+ class PangoMarkupFormatter(Formatter):
29
+ """
30
+ Format tokens as Pango Markup code. It can then be rendered to an SVG.
31
+
32
+ .. versionadded:: 2.9
33
+ """
34
+
35
+ name = 'Pango Markup'
36
+ aliases = ['pango', 'pangomarkup']
37
+ filenames = []
38
+
39
+ def __init__(self, **options):
40
+ Formatter.__init__(self, **options)
41
+
42
+ self.styles = {}
43
+
44
+ for token, style in self.style:
45
+ start = ''
46
+ end = ''
47
+ if style['color']:
48
+ start += '<span fgcolor="#%s">' % style['color']
49
+ end = '</span>' + end
50
+ if style['bold']:
51
+ start += '<b>'
52
+ end = '</b>' + end
53
+ if style['italic']:
54
+ start += '<i>'
55
+ end = '</i>' + end
56
+ if style['underline']:
57
+ start += '<u>'
58
+ end = '</u>' + end
59
+ self.styles[token] = (start, end)
60
+
61
+ def format_unencoded(self, tokensource, outfile):
62
+ lastval = ''
63
+ lasttype = None
64
+
65
+ outfile.write('<tt>')
66
+
67
+ for ttype, value in tokensource:
68
+ while ttype not in self.styles:
69
+ ttype = ttype.parent
70
+ if ttype == lasttype:
71
+ lastval += escape_special_chars(value)
72
+ else:
73
+ if lastval:
74
+ stylebegin, styleend = self.styles[lasttype]
75
+ outfile.write(stylebegin + lastval + styleend)
76
+ lastval = escape_special_chars(value)
77
+ lasttype = ttype
78
+
79
+ if lastval:
80
+ stylebegin, styleend = self.styles[lasttype]
81
+ outfile.write(stylebegin + lastval + styleend)
82
+
83
+ outfile.write('</tt>')
@@ -6,7 +6,35 @@
6
6
  :license: BSD, see LICENSE for details.
7
7
  """
8
8
 
9
- # Opcodes in Csound 6.14.0 using:
9
+ REMOVED_OPCODES = set('''
10
+ OSCsendA
11
+ beadsynt
12
+ beosc
13
+ buchla
14
+ getrowlin
15
+ lua_exec
16
+ lua_iaopcall
17
+ lua_iaopcall_off
18
+ lua_ikopcall
19
+ lua_ikopcall_off
20
+ lua_iopcall
21
+ lua_iopcall_off
22
+ lua_opdef
23
+ mp3scal_check
24
+ mp3scal_load
25
+ mp3scal_load2
26
+ mp3scal_play
27
+ mp3scal_play2
28
+ pvsgendy
29
+ socksend_k
30
+ signalflowgraph
31
+ sumTableFilter
32
+ systime
33
+ tabrowlin
34
+ vbap1move
35
+ '''.split())
36
+
37
+ # Opcodes in Csound 6.16.0 using:
10
38
  # python3 -c "
11
39
  # import re
12
40
  # from subprocess import Popen, PIPE
@@ -209,6 +237,7 @@ ampmidicurve
209
237
  ampmidid
210
238
  apoleparams
211
239
  arduinoRead
240
+ arduinoReadF
212
241
  arduinoStart
213
242
  arduinoStop
214
243
  areson
@@ -216,6 +245,7 @@ aresonk
216
245
  atone
217
246
  atonek
218
247
  atonex
248
+ autocorr
219
249
  babo
220
250
  balance
221
251
  balance2
@@ -223,8 +253,6 @@ bamboo
223
253
  barmodel
224
254
  bbcutm
225
255
  bbcuts
226
- beadsynt
227
- beosc
228
256
  betarand
229
257
  bexprnd
230
258
  bformdec1
@@ -259,6 +287,7 @@ centroid
259
287
  ceps
260
288
  cepsinv
261
289
  chanctrl
290
+ changed
262
291
  changed2
263
292
  chani
264
293
  chano
@@ -293,6 +322,8 @@ cmp
293
322
  cmplxprod
294
323
  cntCreate
295
324
  cntCycles
325
+ cntDelete
326
+ cntDelete_i
296
327
  cntRead
297
328
  cntReset
298
329
  cntState
@@ -342,6 +373,11 @@ ctrl14
342
373
  ctrl21
343
374
  ctrl7
344
375
  ctrlinit
376
+ ctrlpreset
377
+ ctrlprint
378
+ ctrlprintpresets
379
+ ctrlsave
380
+ ctrlselect
345
381
  cuserrnd
346
382
  dam
347
383
  date
@@ -523,7 +559,6 @@ getcfg
523
559
  getcol
524
560
  getftargs
525
561
  getrow
526
- getrowlin
527
562
  getseed
528
563
  gogobel
529
564
  grain
@@ -776,6 +811,7 @@ lagud
776
811
  lastcycle
777
812
  lenarray
778
813
  lfo
814
+ lfsr
779
815
  limit
780
816
  limit1
781
817
  lincos
@@ -836,14 +872,6 @@ lpreson
836
872
  lpshold
837
873
  lpsholdp
838
874
  lpslot
839
- lua_exec
840
- lua_iaopcall
841
- lua_iaopcall_off
842
- lua_ikopcall
843
- lua_ikopcall_off
844
- lua_iopcall
845
- lua_iopcall_off
846
- lua_opdef
847
875
  lufs
848
876
  mac
849
877
  maca
@@ -920,6 +948,7 @@ mp3scal
920
948
  mp3sr
921
949
  mpulse
922
950
  mrtmsg
951
+ ms2st
923
952
  mtof
924
953
  mton
925
954
  multitap
@@ -929,6 +958,7 @@ mvclpf1
929
958
  mvclpf2
930
959
  mvclpf3
931
960
  mvclpf4
961
+ mvmfilter
932
962
  mxadsr
933
963
  nchnls_hw
934
964
  nestedap
@@ -972,6 +1002,7 @@ oscils
972
1002
  oscilx
973
1003
  out
974
1004
  out32
1005
+ outall
975
1006
  outc
976
1007
  outch
977
1008
  outh
@@ -1279,11 +1310,13 @@ sc_lagud
1279
1310
  sc_phasor
1280
1311
  sc_trig
1281
1312
  scale
1313
+ scale2
1282
1314
  scalearray
1283
1315
  scanhammer
1284
1316
  scans
1285
1317
  scantable
1286
1318
  scanu
1319
+ scanu2
1287
1320
  schedkwhen
1288
1321
  schedkwhennamed
1289
1322
  schedule
@@ -1333,6 +1366,7 @@ sin
1333
1366
  sinh
1334
1367
  sininv
1335
1368
  sinsyn
1369
+ skf
1336
1370
  sleighbells
1337
1371
  slicearray
1338
1372
  slicearray_i
@@ -1368,12 +1402,14 @@ spat3d
1368
1402
  spat3di
1369
1403
  spat3dt
1370
1404
  spdist
1405
+ spf
1371
1406
  splitrig
1372
1407
  sprintf
1373
1408
  sprintfk
1374
1409
  spsend
1375
1410
  sqrt
1376
1411
  squinewave
1412
+ st2ms
1377
1413
  statevar
1378
1414
  sterrain
1379
1415
  stix
@@ -1414,6 +1450,7 @@ subinstrinit
1414
1450
  sum
1415
1451
  sumarray
1416
1452
  svfilter
1453
+ svn
1417
1454
  syncgrain
1418
1455
  syncloop
1419
1456
  syncphasor
@@ -1454,7 +1491,6 @@ tabmorphak
1454
1491
  tabmorphi
1455
1492
  tabplay
1456
1493
  tabrec
1457
- tabrowlin
1458
1494
  tabsum
1459
1495
  tabw
1460
1496
  tabw_i
@@ -1486,6 +1522,8 @@ transegr
1486
1522
  trcross
1487
1523
  trfilter
1488
1524
  trhighest
1525
+ trigExpseg
1526
+ trigLinseg
1489
1527
  trigger
1490
1528
  trighold
1491
1529
  trigphasor
@@ -1500,6 +1538,8 @@ trshift
1500
1538
  trsplit
1501
1539
  turnoff
1502
1540
  turnoff2
1541
+ turnoff2_i
1542
+ turnoff3
1503
1543
  turnon
1504
1544
  tvconv
1505
1545
  unirand
@@ -1523,6 +1563,7 @@ vbapmove
1523
1563
  vbapz
1524
1564
  vbapzmove
1525
1565
  vcella
1566
+ vclpf
1526
1567
  vco
1527
1568
  vco2
1528
1569
  vco2ft
@@ -1611,6 +1652,7 @@ window
1611
1652
  wrap
1612
1653
  writescratch
1613
1654
  wterrain
1655
+ wterrain2
1614
1656
  xadsr
1615
1657
  xin
1616
1658
  xout
@@ -1647,7 +1689,6 @@ DEPRECATED_OPCODES = set('''
1647
1689
  array
1648
1690
  bformdec
1649
1691
  bformenc
1650
- changed
1651
1692
  copy2ftab
1652
1693
  copy2ttab
1653
1694
  hrtfer