rouge 1.7.2 → 1.7.3
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/lib/rouge/demos/dart +6 -0
- data/lib/rouge/formatters/null.rb +3 -1
- data/lib/rouge/lexers/dart.rb +103 -0
- data/lib/rouge/lexers/http.rb +1 -1
- data/lib/rouge/lexers/ruby.rb +7 -2
- data/lib/rouge/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6165cb71854f9cb227a8756b294a4f6a542ef15
|
4
|
+
data.tar.gz: 73602fe7ef811f2d14cab3f6391686303c47a1d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91766d5bae4afaa8f71ed2f3733625e6bb36441cc5f54f7e6e1b2267af4379e44ae916306d4c6f9f9ecd1ca5119989502b13f96da12c1e2f34efb40bd5b5e497
|
7
|
+
data.tar.gz: 88696d5ca424fe5c060c1771372943967acb6854f3be0363a9b8250eb8bf53d302b7786987f5b1e49876314d44ea76cf5181a4cde6590bdbfd86c30faa7de201
|
@@ -0,0 +1,103 @@
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
2
|
+
|
3
|
+
module Rouge
|
4
|
+
module Lexers
|
5
|
+
class Dart < RegexLexer
|
6
|
+
desc "The Dart programming language (dartlang.com)"
|
7
|
+
|
8
|
+
tag 'dart'
|
9
|
+
filenames '*.dart'
|
10
|
+
mimetypes 'text/x-dart'
|
11
|
+
|
12
|
+
keywords = %w(
|
13
|
+
as assert break case catch continue default do else finally for
|
14
|
+
if in is new rethrow return super switch this throw try while with
|
15
|
+
)
|
16
|
+
|
17
|
+
declarations = %w(
|
18
|
+
abstract dynamic const external extends factory final get implements
|
19
|
+
native operator set static typedef var
|
20
|
+
)
|
21
|
+
|
22
|
+
types = %w(bool double Dynamic enum int num Object Set String void)
|
23
|
+
|
24
|
+
imports = %w(import export library part\s*of part source)
|
25
|
+
|
26
|
+
id = /[a-zA-Z_]\w*/
|
27
|
+
|
28
|
+
state :root do
|
29
|
+
rule %r(^
|
30
|
+
(\s*(?:[a-zA-Z_][a-zA-Z\d_.\[\]]*\s+)+?) # return arguments
|
31
|
+
([a-zA-Z_][\w]*) # method name
|
32
|
+
(\s*)(\() # signature start
|
33
|
+
)mx do |m|
|
34
|
+
# TODO: do this better, this shouldn't need a delegation
|
35
|
+
delegate Dart, m[1]
|
36
|
+
token Name::Function, m[2]
|
37
|
+
token Text, m[3]
|
38
|
+
token Punctuation, m[4]
|
39
|
+
end
|
40
|
+
|
41
|
+
rule /\s+/, Text
|
42
|
+
rule %r(//.*?$), Comment::Single
|
43
|
+
rule %r(/\*.*?\*/)m, Comment::Multiline
|
44
|
+
rule /"/, Str, :dqs
|
45
|
+
rule /'/, Str, :sqs
|
46
|
+
rule /r"[^"]*"/, Str::Other
|
47
|
+
rule /r'[^']*'/, Str::Other
|
48
|
+
rule /##{id}*/i, Str::Symbol
|
49
|
+
rule /@#{id}/, Name::Decorator
|
50
|
+
rule /(?:#{keywords.join('|')})\b/, Keyword
|
51
|
+
rule /(?:#{declarations.join('|')})\b/, Keyword::Declaration
|
52
|
+
rule /(?:#{types.join('|')})\b/, Keyword::Type
|
53
|
+
rule /(?:true|false|null)\b/, Keyword::Constant
|
54
|
+
rule /(?:class|interface)\b/, Keyword::Declaration, :class
|
55
|
+
rule /(?:#{imports.join('|')})\b/, Keyword::Namespace, :import
|
56
|
+
rule /(\.)(#{id})/ do
|
57
|
+
groups Operator, Name::Attribute
|
58
|
+
end
|
59
|
+
|
60
|
+
rule /#{id}:/, Name::Label
|
61
|
+
rule /\$?#{id}/, Name
|
62
|
+
rule /[~^*!%&\[\](){}<>\|+=:;,.\/?-]/, Operator
|
63
|
+
rule /\d*\.\d+([eE]\-?\d+)?/, Num::Float
|
64
|
+
rule /0x[\da-fA-F]+/, Num::Hex
|
65
|
+
rule /\d+L?/, Num::Integer
|
66
|
+
rule /\n/, Text
|
67
|
+
end
|
68
|
+
|
69
|
+
state :class do
|
70
|
+
rule /\s+/m, Text
|
71
|
+
rule id, Name::Class, :pop!
|
72
|
+
end
|
73
|
+
|
74
|
+
state :dqs do
|
75
|
+
rule /"/, Str, :pop!
|
76
|
+
rule /[^\\\$"]+/, Str
|
77
|
+
mixin :string
|
78
|
+
end
|
79
|
+
|
80
|
+
state :sqs do
|
81
|
+
rule /'/, Str, :pop!
|
82
|
+
rule /[^\\\$']+/, Str
|
83
|
+
mixin :string
|
84
|
+
end
|
85
|
+
|
86
|
+
state :import do
|
87
|
+
rule /;/, Operator, :pop!
|
88
|
+
rule /(?:show|hide)\b/, Keyword::Declaration
|
89
|
+
mixin :root
|
90
|
+
end
|
91
|
+
|
92
|
+
state :string do
|
93
|
+
mixin :interpolation
|
94
|
+
rule /\\[nrt\"\'\\]/, Str::Escape
|
95
|
+
end
|
96
|
+
|
97
|
+
state :interpolation do
|
98
|
+
rule /\$#{id}/, Str::Interpol
|
99
|
+
rule /\$\{[^\}]+\}/, Str::Interpol
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
data/lib/rouge/lexers/http.rb
CHANGED
data/lib/rouge/lexers/ruby.rb
CHANGED
@@ -16,7 +16,7 @@ module Rouge
|
|
16
16
|
return 1 if text.shebang? 'ruby'
|
17
17
|
end
|
18
18
|
|
19
|
-
state :
|
19
|
+
state :symbols do
|
20
20
|
# symbols
|
21
21
|
rule %r(
|
22
22
|
: # initial :
|
@@ -30,7 +30,9 @@ module Rouge
|
|
30
30
|
|
31
31
|
rule /:'(\\\\|\\'|[^'])*'/, Str::Symbol
|
32
32
|
rule /:"/, Str::Symbol, :simple_sym
|
33
|
+
end
|
33
34
|
|
35
|
+
state :sigil_strings do
|
34
36
|
# %-sigiled strings
|
35
37
|
# %(abc), %[abc], %<abc>, %.abc., %r.abc., etc
|
36
38
|
delimiter_map = { '{' => '}', '[' => ']', '(' => ')', '<' => '>' }
|
@@ -75,6 +77,7 @@ module Rouge
|
|
75
77
|
end
|
76
78
|
|
77
79
|
state :strings do
|
80
|
+
mixin :symbols
|
78
81
|
rule /\b[a-z_]\w*?:\s+/, Str::Symbol, :expr_start
|
79
82
|
rule /'(\\\\|\\'|[^'])*'/, Str::Single
|
80
83
|
rule /"/, Str::Double, :simple_string
|
@@ -329,7 +332,7 @@ module Rouge
|
|
329
332
|
end
|
330
333
|
|
331
334
|
state :string_intp do
|
332
|
-
rule
|
335
|
+
rule /[#][{]/, Str::Interpol, :in_interp
|
333
336
|
rule /#(@@?|\$)[a-z_]\w*/i, Str::Interpol
|
334
337
|
end
|
335
338
|
|
@@ -362,6 +365,8 @@ module Rouge
|
|
362
365
|
goto :slash_regex
|
363
366
|
end
|
364
367
|
|
368
|
+
mixin :sigil_strings
|
369
|
+
|
365
370
|
rule(%r((?=\s*/))) { pop! }
|
366
371
|
|
367
372
|
rule(/\s+/) { token Text; goto :expr_start }
|
data/lib/rouge/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rouge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeanine Adkisson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Rouge aims to a be a simple, easy-to-extend drop-in replacement for pygments.
|
14
14
|
email:
|
@@ -32,6 +32,7 @@ files:
|
|
32
32
|
- lib/rouge/demos/cpp
|
33
33
|
- lib/rouge/demos/csharp
|
34
34
|
- lib/rouge/demos/css
|
35
|
+
- lib/rouge/demos/dart
|
35
36
|
- lib/rouge/demos/diff
|
36
37
|
- lib/rouge/demos/elixir
|
37
38
|
- lib/rouge/demos/erb
|
@@ -105,6 +106,7 @@ files:
|
|
105
106
|
- lib/rouge/lexers/cpp.rb
|
106
107
|
- lib/rouge/lexers/csharp.rb
|
107
108
|
- lib/rouge/lexers/css.rb
|
109
|
+
- lib/rouge/lexers/dart.rb
|
108
110
|
- lib/rouge/lexers/diff.rb
|
109
111
|
- lib/rouge/lexers/elixir.rb
|
110
112
|
- lib/rouge/lexers/erb.rb
|