pygments.rb 2.2.0 → 2.3.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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +1 -1
- data/CHANGELOG.adoc +5 -0
- data/bench.rb +2 -2
- data/lib/pygments/lexer.rb +1 -1
- data/lib/pygments/mentos.py +6 -4
- data/lib/pygments/popen.rb +14 -7
- data/lib/pygments/version.rb +1 -1
- data/lib/pygments.rb +8 -2
- data/pygments.rb.gemspec +4 -4
- data/test/test_pygments.rb +13 -7
- data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/AUTHORS +8 -1
- data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/INSTALLER +0 -0
- data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/LICENSE +0 -0
- data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/METADATA +1 -1
- data/vendor/pygments-main/Pygments-2.10.0.dist-info/RECORD +524 -0
- data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/REQUESTED +0 -0
- data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/WHEEL +0 -0
- data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/entry_points.txt +0 -0
- data/vendor/pygments-main/{Pygments-2.8.1.dist-info → Pygments-2.10.0.dist-info}/top_level.txt +0 -0
- data/vendor/pygments-main/bin/pygmentize +1 -1
- data/vendor/pygments-main/pygments/__init__.py +1 -1
- data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -0
- data/vendor/pygments-main/pygments/formatters/html.py +20 -7
- data/vendor/pygments-main/pygments/formatters/pangomarkup.py +83 -0
- data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +55 -14
- data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +401 -0
- data/vendor/pygments-main/pygments/lexers/_mapping.py +68 -52
- data/vendor/pygments-main/pygments/lexers/actionscript.py +2 -2
- data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +9 -4
- data/vendor/pygments-main/pygments/lexers/apdlexer.py +448 -0
- data/vendor/pygments-main/pygments/lexers/apl.py +6 -3
- data/vendor/pygments-main/pygments/lexers/asc.py +51 -0
- data/vendor/pygments-main/pygments/lexers/asm.py +86 -58
- data/vendor/pygments-main/pygments/lexers/automation.py +1 -1
- data/vendor/pygments-main/pygments/lexers/bibtex.py +2 -2
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +60 -33
- data/vendor/pygments-main/pygments/lexers/c_like.py +102 -3
- data/vendor/pygments-main/pygments/lexers/cddl.py +2 -2
- data/vendor/pygments-main/pygments/lexers/chapel.py +53 -29
- data/vendor/pygments-main/pygments/lexers/clean.py +6 -6
- data/vendor/pygments-main/pygments/lexers/configs.py +133 -43
- data/vendor/pygments-main/pygments/lexers/csound.py +2 -2
- data/vendor/pygments-main/pygments/lexers/devicetree.py +1 -1
- data/vendor/pygments-main/pygments/lexers/dotnet.py +1 -1
- data/vendor/pygments-main/pygments/lexers/erlang.py +1 -1
- data/vendor/pygments-main/pygments/lexers/floscript.py +1 -1
- data/vendor/pygments-main/pygments/lexers/futhark.py +5 -4
- data/vendor/pygments-main/pygments/lexers/gcodelexer.py +36 -0
- data/vendor/pygments-main/pygments/lexers/go.py +1 -1
- data/vendor/pygments-main/pygments/lexers/graphics.py +1 -1
- data/vendor/pygments-main/pygments/lexers/graphviz.py +5 -4
- data/vendor/pygments-main/pygments/lexers/gsql.py +92 -0
- data/vendor/pygments-main/pygments/lexers/haskell.py +4 -4
- data/vendor/pygments-main/pygments/lexers/haxe.py +1 -1
- data/vendor/pygments-main/pygments/lexers/installers.py +2 -2
- data/vendor/pygments-main/pygments/lexers/javascript.py +145 -127
- data/vendor/pygments-main/pygments/lexers/jslt.py +94 -0
- data/vendor/pygments-main/pygments/lexers/julia.py +135 -183
- data/vendor/pygments-main/pygments/lexers/jvm.py +262 -202
- data/vendor/pygments-main/pygments/lexers/kuin.py +299 -0
- data/vendor/pygments-main/pygments/lexers/lisp.py +18 -15
- data/vendor/pygments-main/pygments/lexers/markup.py +3 -3
- data/vendor/pygments-main/pygments/lexers/matlab.py +23 -10
- data/vendor/pygments-main/pygments/lexers/meson.py +155 -0
- data/vendor/pygments-main/pygments/lexers/mime.py +6 -21
- data/vendor/pygments-main/pygments/lexers/ml.py +1 -1
- data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -1
- data/vendor/pygments-main/pygments/lexers/objective.py +3 -3
- data/vendor/pygments-main/pygments/lexers/parsers.py +1 -1
- data/vendor/pygments-main/pygments/lexers/procfile.py +43 -0
- data/vendor/pygments-main/pygments/lexers/promql.py +1 -1
- data/vendor/pygments-main/pygments/lexers/python.py +19 -5
- data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
- data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ruby.py +1 -1
- data/vendor/pygments-main/pygments/lexers/rust.py +9 -10
- data/vendor/pygments-main/pygments/lexers/scripting.py +7 -7
- data/vendor/pygments-main/pygments/lexers/shell.py +11 -8
- data/vendor/pygments-main/pygments/lexers/smithy.py +79 -0
- data/vendor/pygments-main/pygments/lexers/smv.py +1 -1
- data/vendor/pygments-main/pygments/lexers/special.py +15 -2
- data/vendor/pygments-main/pygments/lexers/supercollider.py +1 -1
- data/vendor/pygments-main/pygments/lexers/tcl.py +3 -3
- data/vendor/pygments-main/pygments/lexers/teal.py +88 -0
- data/vendor/pygments-main/pygments/lexers/templates.py +19 -19
- data/vendor/pygments-main/pygments/lexers/teraterm.py +1 -1
- data/vendor/pygments-main/pygments/lexers/testing.py +1 -1
- data/vendor/pygments-main/pygments/lexers/theorem.py +4 -2
- data/vendor/pygments-main/pygments/lexers/thingsdb.py +118 -0
- data/vendor/pygments-main/pygments/lexers/tnt.py +25 -15
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
- data/vendor/pygments-main/pygments/lexers/webassembly.py +120 -0
- data/vendor/pygments-main/pygments/regexopt.py +1 -1
- data/vendor/pygments-main/pygments/style.py +1 -1
- data/vendor/pygments-main/pygments/styles/__init__.py +2 -0
- data/vendor/pygments-main/pygments/styles/friendly.py +1 -0
- data/vendor/pygments-main/pygments/styles/gruvbox.py +107 -0
- data/vendor/pygments-main/pygments/styles/native.py +1 -0
- metadata +29 -14
- data/vendor/pygments-main/Pygments-2.8.1.dist-info/RECORD +0 -494
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 494fdb817ce25f9a10420c22c8dce5c725b157da060f61bad53527af80bb1dff
|
|
4
|
+
data.tar.gz: 5bb0321b93ea7bac8ee0675803a5bbeee4b74b3784deb0302e50bde0d4dd53e6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 363d098055a9887fa9146a2aef00cc5d04929328a55a6c63fca726a34a9b6a4f32d3c4d8f2ba9cf071db23d978fb30868fd6c5d02e2027b1f5bf5529a3394298
|
|
7
|
+
data.tar.gz: a80e5d794c22e8d700995346c113877b4a8440253d2482578c3393f54f4ffe57f8fcb076731f63a96d1706de19fbeb7c81d42130f9cfbe87c1e06a9783821e8c
|
data/.github/workflows/ci.yml
CHANGED
data/CHANGELOG.adoc
CHANGED
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
This document provides a high-level view of the changes to the {project-name} by release.
|
|
6
6
|
For a detailed view of what has changed, refer to the {uri-repo}/commits/master[commit history] on GitHub.
|
|
7
7
|
|
|
8
|
+
== 2.3.0 (2022-01-05) - @slonopotamus
|
|
9
|
+
|
|
10
|
+
* Add `Pygments.pygments_version` method to query underlying Pygments version ({uri-repo}/issues/226[#226])
|
|
11
|
+
* Update Pygments to 2.10.0 ({uri-repo}/issues/234[#234])
|
|
12
|
+
|
|
8
13
|
== 2.2.0 (2021-03-18) - @slonopotamus
|
|
9
14
|
|
|
10
15
|
* Add support for custom lexers ({uri-repo}/pull/187[#187])
|
data/bench.rb
CHANGED
|
@@ -12,8 +12,8 @@ repeats = ARGV[1] ? ARGV[1].to_i : 1
|
|
|
12
12
|
code = File.open('test/test_pygments.rb').read.to_s * repeats
|
|
13
13
|
|
|
14
14
|
puts "Benchmarking....\n"
|
|
15
|
-
puts
|
|
16
|
-
puts
|
|
15
|
+
puts "Size: #{code.bytesize} bytes\n"
|
|
16
|
+
puts "Iterations: #{num}\n"
|
|
17
17
|
|
|
18
18
|
Benchmark.bm(40) do |x|
|
|
19
19
|
x.report('pygments popen ') do
|
data/lib/pygments/lexer.rb
CHANGED
|
@@ -133,7 +133,7 @@ module Pygments
|
|
|
133
133
|
@mimetypes_index = {}
|
|
134
134
|
@raw_lexers = Pygments.lexers!
|
|
135
135
|
|
|
136
|
-
@raw_lexers.
|
|
136
|
+
@raw_lexers.each_value do |hash|
|
|
137
137
|
lexer = Lexer.new(hash[:name], hash[:aliases], hash[:filenames], hash[:mimetypes])
|
|
138
138
|
|
|
139
139
|
@lexers << lexer
|
data/lib/pygments/mentos.py
CHANGED
|
@@ -163,17 +163,19 @@ class Mentos(object):
|
|
|
163
163
|
fmt = pygments.formatters.get_formatter_by_name(args[0], **kwargs)
|
|
164
164
|
res = fmt.get_style_defs(args[1])
|
|
165
165
|
|
|
166
|
-
elif method == '
|
|
166
|
+
elif method == 'lexer_names_for':
|
|
167
167
|
lexer = self.return_lexer(None, args, kwargs, text)
|
|
168
168
|
|
|
169
169
|
if lexer:
|
|
170
|
-
# We don't want the Lexer itself, just
|
|
171
|
-
|
|
172
|
-
res = lexer.aliases[0]
|
|
170
|
+
# We don't want the Lexer itself, just aliases.
|
|
171
|
+
res = json.dumps(list(lexer.aliases))
|
|
173
172
|
|
|
174
173
|
else:
|
|
175
174
|
_write_error("No lexer")
|
|
176
175
|
|
|
176
|
+
elif method == 'version':
|
|
177
|
+
res = json.dumps([pygments.__version__])
|
|
178
|
+
|
|
177
179
|
else:
|
|
178
180
|
_write_error("Invalid method " + method)
|
|
179
181
|
|
data/lib/pygments/popen.rb
CHANGED
|
@@ -88,6 +88,13 @@ module Pygments
|
|
|
88
88
|
raise MentosError, 'EPERM checking if child process is alive.'
|
|
89
89
|
end
|
|
90
90
|
|
|
91
|
+
# Public: Returns version of underlying Pygments library
|
|
92
|
+
#
|
|
93
|
+
# @return [Integer]
|
|
94
|
+
def pygments_version
|
|
95
|
+
mentos(:version)[0]
|
|
96
|
+
end
|
|
97
|
+
|
|
91
98
|
# Public: Get an array of available Pygments formatters
|
|
92
99
|
#
|
|
93
100
|
# @return [Array<String>] an array of formatters
|
|
@@ -138,8 +145,8 @@ module Pygments
|
|
|
138
145
|
mentos(:css, ['html', klass], opts)
|
|
139
146
|
end
|
|
140
147
|
|
|
141
|
-
# @return [String, nil]
|
|
142
|
-
def
|
|
148
|
+
# @return [[String], nil] aliases of a lexer.
|
|
149
|
+
def lexer_names_for(*args)
|
|
143
150
|
# Pop off the last arg if it's a hash, which becomes our opts
|
|
144
151
|
opts = if args.last.is_a?(Hash)
|
|
145
152
|
args.pop
|
|
@@ -149,7 +156,7 @@ module Pygments
|
|
|
149
156
|
|
|
150
157
|
code = (args.pop if args.last.is_a?(String))
|
|
151
158
|
|
|
152
|
-
mentos(:
|
|
159
|
+
mentos(:lexer_names_for, args, opts, code)
|
|
153
160
|
end
|
|
154
161
|
|
|
155
162
|
# Public: Highlight code.
|
|
@@ -336,9 +343,9 @@ module Pygments
|
|
|
336
343
|
# Read more bytes (the actual response body)
|
|
337
344
|
res = @out.read(bytes.to_i)
|
|
338
345
|
|
|
339
|
-
if header[:method] == 'highlight'
|
|
346
|
+
if header[:method] == 'highlight' && res.nil?
|
|
340
347
|
# Make sure we have a result back; else consider this an error.
|
|
341
|
-
raise MentosError, 'No highlight result back from mentos.'
|
|
348
|
+
raise MentosError, 'No highlight result back from mentos.'
|
|
342
349
|
end
|
|
343
350
|
|
|
344
351
|
res
|
|
@@ -346,8 +353,8 @@ module Pygments
|
|
|
346
353
|
|
|
347
354
|
# @return Ruby objects for the methods that want them, text otherwise.
|
|
348
355
|
def return_result(res, method)
|
|
349
|
-
res = JSON.parse(res, symbolize_names: true) unless %i[
|
|
350
|
-
res = res.rstrip if res.
|
|
356
|
+
res = JSON.parse(res, symbolize_names: true) unless %i[highlight css].include?(method)
|
|
357
|
+
res = res.rstrip if res.instance_of?(String)
|
|
351
358
|
res
|
|
352
359
|
end
|
|
353
360
|
|
data/lib/pygments/version.rb
CHANGED
data/lib/pygments.rb
CHANGED
|
@@ -18,14 +18,20 @@ module Pygments
|
|
|
18
18
|
Thread.current.thread_variable_set(:pygments_engine, Pygments::Popen.new)
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
+
def lexer_name_for(*args)
|
|
22
|
+
names = engine.lexer_names_for(*args)
|
|
23
|
+
names&.[](0)
|
|
24
|
+
end
|
|
25
|
+
|
|
21
26
|
def_delegators :engine,
|
|
22
27
|
:formatters,
|
|
23
28
|
:lexers!,
|
|
24
29
|
:filters,
|
|
25
30
|
:styles,
|
|
26
31
|
:css,
|
|
27
|
-
:
|
|
32
|
+
:lexer_names_for,
|
|
28
33
|
:highlight,
|
|
29
|
-
:start
|
|
34
|
+
:start,
|
|
35
|
+
:pygments_version
|
|
30
36
|
end
|
|
31
37
|
end
|
data/pygments.rb.gemspec
CHANGED
|
@@ -16,9 +16,9 @@ Gem::Specification.new do |s|
|
|
|
16
16
|
|
|
17
17
|
s.metadata = {
|
|
18
18
|
'homepage_uri' => s.homepage,
|
|
19
|
-
'bug_tracker_uri' => s.homepage
|
|
20
|
-
'changelog_uri' => s.homepage
|
|
21
|
-
'documentation_uri' =>
|
|
19
|
+
'bug_tracker_uri' => "#{s.homepage}/issues",
|
|
20
|
+
'changelog_uri' => "#{s.homepage}/blob/master/CHANGELOG.adoc",
|
|
21
|
+
'documentation_uri' => "https://www.rubydoc.info/gems/#{s.name}",
|
|
22
22
|
'source_code_uri' => s.homepage
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
|
26
26
|
|
|
27
27
|
s.add_development_dependency 'rake', '~> 13.0.0'
|
|
28
28
|
s.add_development_dependency 'rubocop', '~> 0.81.0'
|
|
29
|
-
s.add_development_dependency 'test-unit', '~> 3.
|
|
29
|
+
s.add_development_dependency 'test-unit', '~> 3.5.0'
|
|
30
30
|
|
|
31
31
|
s.files = `git ls-files -z`.split("\0").reject { |f| File.symlink?(f) }
|
|
32
32
|
end
|
data/test/test_pygments.rb
CHANGED
|
@@ -92,12 +92,12 @@ class PygmentsHighlightTest < Test::Unit::TestCase
|
|
|
92
92
|
end
|
|
93
93
|
|
|
94
94
|
def test_highlight_works_with_multiple_newlines
|
|
95
|
-
code = P.highlight(RUBY_CODE_TRAILING_NEWLINE
|
|
95
|
+
code = P.highlight("#{RUBY_CODE_TRAILING_NEWLINE}derp\n\n")
|
|
96
96
|
assert_match '<span class="ch">#!/usr/bin/ruby</span>', code
|
|
97
97
|
end
|
|
98
98
|
|
|
99
99
|
def test_highlight_works_with_trailing_cr
|
|
100
|
-
code = P.highlight(RUBY_CODE_TRAILING_NEWLINE
|
|
100
|
+
code = P.highlight("#{RUBY_CODE_TRAILING_NEWLINE}\r")
|
|
101
101
|
assert_match '<span class="ch">#!/usr/bin/ruby</span>', code
|
|
102
102
|
end
|
|
103
103
|
|
|
@@ -106,6 +106,12 @@ class PygmentsHighlightTest < Test::Unit::TestCase
|
|
|
106
106
|
assert_match '>importr</span>', code
|
|
107
107
|
end
|
|
108
108
|
|
|
109
|
+
def test_version
|
|
110
|
+
version_str = P.pygments_version
|
|
111
|
+
# This will throw "Malformed version number string" ArgumentError if version_str is not a valid version string
|
|
112
|
+
Gem::Version.new(version_str)
|
|
113
|
+
end
|
|
114
|
+
|
|
109
115
|
def test_highlight_on_multi_threads
|
|
110
116
|
omit 'We do not actually support multithreading'
|
|
111
117
|
|
|
@@ -121,27 +127,27 @@ class PygmentsLexerTest < Test::Unit::TestCase
|
|
|
121
127
|
RUBY_CODE = "#!/usr/bin/ruby\nputs 'foo'"
|
|
122
128
|
|
|
123
129
|
def test_lexer_by_mimetype
|
|
124
|
-
|
|
130
|
+
assert_includes P.lexer_names_for(mimetype: 'text/x-ruby'), 'rb'
|
|
125
131
|
assert_equal 'json', P.lexer_name_for(mimetype: 'application/json')
|
|
126
132
|
end
|
|
127
133
|
|
|
128
134
|
def test_lexer_by_filename
|
|
129
|
-
|
|
135
|
+
assert_includes P.lexer_names_for(filename: 'test.rb'), 'rb'
|
|
130
136
|
assert_equal 'scala', P.lexer_name_for(filename: 'test.scala')
|
|
131
137
|
end
|
|
132
138
|
|
|
133
139
|
def test_lexer_by_name
|
|
134
|
-
|
|
140
|
+
assert_includes P.lexer_names_for(lexer: 'ruby'), 'rb'
|
|
135
141
|
assert_equal 'python', P.lexer_name_for(lexer: 'python')
|
|
136
142
|
assert_equal 'c', P.lexer_name_for(lexer: 'c')
|
|
137
143
|
end
|
|
138
144
|
|
|
139
145
|
def test_lexer_by_filename_and_content
|
|
140
|
-
|
|
146
|
+
assert_includes P.lexer_names_for(RUBY_CODE, filename: 'test.rb'), 'rb'
|
|
141
147
|
end
|
|
142
148
|
|
|
143
149
|
def test_lexer_by_content
|
|
144
|
-
|
|
150
|
+
assert_includes P.lexer_names_for(RUBY_CODE), 'rb'
|
|
145
151
|
end
|
|
146
152
|
|
|
147
153
|
def test_lexer_by_nothing
|
|
@@ -6,6 +6,7 @@ Major developers are Tim Hatch <tim@timhatch.com> and Armin Ronacher
|
|
|
6
6
|
Other contributors, listed alphabetically, are:
|
|
7
7
|
|
|
8
8
|
* Sam Aaron -- Ioke lexer
|
|
9
|
+
* João Abecasis -- JSLT lexer
|
|
9
10
|
* Ali Afshar -- image formatter
|
|
10
11
|
* Thomas Aglassinger -- Easytrieve, JCL, Rexx, Transact-SQL and VBScript
|
|
11
12
|
lexers
|
|
@@ -32,7 +33,7 @@ Other contributors, listed alphabetically, are:
|
|
|
32
33
|
* Sébastien Bigaret -- QVT Operational lexer
|
|
33
34
|
* Jarrett Billingsley -- MiniD lexer
|
|
34
35
|
* Adam Blinkinsop -- Haskell, Redcode lexers
|
|
35
|
-
* Stéphane Blondon -- SGF and Sieve lexers
|
|
36
|
+
* Stéphane Blondon -- Procfile, SGF and Sieve lexers
|
|
36
37
|
* Frits van Bommel -- assembler lexers
|
|
37
38
|
* Pierre Bourdon -- bugfixes
|
|
38
39
|
* Martijn Braam -- Kernel log lexer, BARE lexer
|
|
@@ -48,6 +49,7 @@ Other contributors, listed alphabetically, are:
|
|
|
48
49
|
* Pete Curry -- bugfixes
|
|
49
50
|
* Bryan Davis -- EBNF lexer
|
|
50
51
|
* Bruno Deferrari -- Shen lexer
|
|
52
|
+
* Luke Drummond -- Meson lexer
|
|
51
53
|
* Giedrius Dubinskas -- HTML formatter improvements
|
|
52
54
|
* Owen Durni -- Haxe lexer
|
|
53
55
|
* Alexander Dutton, Oxford University Computing Services -- SPARQL lexer
|
|
@@ -97,6 +99,7 @@ Other contributors, listed alphabetically, are:
|
|
|
97
99
|
* Doug Hogan -- Mscgen lexer
|
|
98
100
|
* Ben Hollis -- Mason lexer
|
|
99
101
|
* Max Horn -- GAP lexer
|
|
102
|
+
* Fred Hornsey -- OMG IDL Lexer
|
|
100
103
|
* Alastair Houghton -- Lexer inheritance facility
|
|
101
104
|
* Tim Howard -- BlitzMax lexer
|
|
102
105
|
* Dustin Howett -- Logos lexer
|
|
@@ -200,6 +203,7 @@ Other contributors, listed alphabetically, are:
|
|
|
200
203
|
* Robert Simmons -- Standard ML lexer
|
|
201
204
|
* Kirill Simonov -- YAML lexer
|
|
202
205
|
* Corbin Simpson -- Monte lexer
|
|
206
|
+
* Ville Skyttä -- ASCII armored lexer
|
|
203
207
|
* Alexander Smishlajev -- Visual FoxPro lexer
|
|
204
208
|
* Steve Spigarelli -- XQuery lexer
|
|
205
209
|
* Jerome St-Louis -- eC lexer
|
|
@@ -208,6 +212,7 @@ Other contributors, listed alphabetically, are:
|
|
|
208
212
|
* Tom Stuart -- Treetop lexer
|
|
209
213
|
* Colin Sullivan -- SuperCollider lexer
|
|
210
214
|
* Ben Swift -- Extempore lexer
|
|
215
|
+
* tatt61880 -- Kuin lexer
|
|
211
216
|
* Edoardo Tenani -- Arduino lexer
|
|
212
217
|
* Tiberius Teng -- default style overhaul
|
|
213
218
|
* Jeremy Thurgood -- Erlang, Squid config lexers
|
|
@@ -223,6 +228,7 @@ Other contributors, listed alphabetically, are:
|
|
|
223
228
|
* Matthias Vallentin -- Bro lexer
|
|
224
229
|
* Benoît Vinot -- AMPL lexer
|
|
225
230
|
* Linh Vu Hong -- RSL lexer
|
|
231
|
+
* Immanuel Washington -- Smithy lexer
|
|
226
232
|
* Nathan Weizenbaum -- Haml and Sass lexers
|
|
227
233
|
* Nathan Whetsell -- Csound lexers
|
|
228
234
|
* Dietmar Winkler -- Modelica lexer
|
|
@@ -239,5 +245,6 @@ Other contributors, listed alphabetically, are:
|
|
|
239
245
|
* 15b3 -- Image Formatter improvements
|
|
240
246
|
* Fabian Neumann -- CDDL lexer
|
|
241
247
|
* Thomas Duboucher -- CDDL lexer
|
|
248
|
+
* Philipp Imhof -- Pango Markup formatter
|
|
242
249
|
|
|
243
250
|
Many thanks for all contributions!
|
|
File without changes
|
|
File without changes
|