rouge 1.6.1 → 1.6.2
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/lexers/swift.rb +47 -7
- data/lib/rouge/regex_lexer.rb +1 -0
- data/lib/rouge/version.rb +1 -1
- data/rouge.gemspec +3 -3
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f82ff03bdf4a459c29452a02d4e3b220f5153588
|
4
|
+
data.tar.gz: a4d96c1f9407192aa7df705eb4d8d6925b0e85fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b630dfbb83ed9a4913f2bf427a8d410348ec82c36f4d950209921ca08df736a473051da8b31cc9dfb3927941adbd2584e6adf2db40dad39d8f8f4ce392babdad
|
7
|
+
data.tar.gz: 1165e7a648cd8b0e112b31ce9889256b4c41cde6cdee8d74de302225caf14af8d022cc2a5aa348aee31c08d89249a7515078fd6d0cc223c62b783a6e7b817120
|
data/lib/rouge/lexers/swift.rb
CHANGED
@@ -24,7 +24,13 @@ module Rouge
|
|
24
24
|
|
25
25
|
def self.declarations
|
26
26
|
@declarations ||= Set.new %w(
|
27
|
-
class deinit enum extension func import init let protocol static struct subscript typealias var
|
27
|
+
class deinit enum extension final func import init internal lazy let optional private protocol public required static struct subscript typealias var dynamic
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.at_keywords
|
32
|
+
@at_keywords ||= %w(
|
33
|
+
autoclosure IBAction IBDesignable IBInspectable IBOutlet noreturn NSCopying NSManaged objc UIApplicationMain
|
28
34
|
)
|
29
35
|
end
|
30
36
|
|
@@ -34,6 +40,7 @@ module Rouge
|
|
34
40
|
Double Float
|
35
41
|
Bool
|
36
42
|
String Character
|
43
|
+
AnyObject Any
|
37
44
|
)
|
38
45
|
end
|
39
46
|
|
@@ -64,7 +71,7 @@ module Rouge
|
|
64
71
|
rule /0b[01]+(?:_[01]+)*/, Num::Bin
|
65
72
|
rule %r{[\d]+(?:_\d+)*}, Num::Integer
|
66
73
|
|
67
|
-
rule /(?!\b(if|while|for)\b)\b#{id}(?=\s*[(])/, Name::Function
|
74
|
+
rule /(?!\b(if|while|for|private|internal|@objc)\b)\b#{id}(?=\s*[(])/, Name::Function
|
68
75
|
|
69
76
|
rule /(#?#{id})(\s*)(:)/ do
|
70
77
|
groups Name::Variable, Text, Punctuation
|
@@ -74,11 +81,27 @@ module Rouge
|
|
74
81
|
groups Keyword, Text, Name::Variable
|
75
82
|
end
|
76
83
|
|
84
|
+
rule /@(#{id})/ do |m|
|
85
|
+
if m[1] == 'objc'
|
86
|
+
token Keyword::Declaration
|
87
|
+
push :objc_setting
|
88
|
+
elsif self.class.at_keywords.include? m[1]
|
89
|
+
token Keyword
|
90
|
+
else
|
91
|
+
token Error
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
77
95
|
rule id do |m|
|
78
96
|
if self.class.keywords.include? m[0]
|
79
97
|
token Keyword
|
80
98
|
elsif self.class.declarations.include? m[0]
|
81
99
|
token Keyword::Declaration
|
100
|
+
if %w(private internal).include? m[0]
|
101
|
+
push :access_control_setting
|
102
|
+
elsif %w(protocol class extension).include? m[0]
|
103
|
+
push :type_definition
|
104
|
+
end
|
82
105
|
elsif self.class.types.include? m[0]
|
83
106
|
token Keyword::Type
|
84
107
|
elsif self.class.constants.include? m[0]
|
@@ -89,13 +112,31 @@ module Rouge
|
|
89
112
|
end
|
90
113
|
rule id, Name
|
91
114
|
end
|
115
|
+
|
116
|
+
state :access_control_setting do
|
117
|
+
rule /\( *(\w+) *\)/ do |m|
|
118
|
+
if m[1] == 'set'
|
119
|
+
token Keyword::Declaration
|
120
|
+
else
|
121
|
+
token Error
|
122
|
+
end
|
123
|
+
end
|
124
|
+
rule //, Keyword::Declaration, :pop!
|
125
|
+
end
|
126
|
+
|
127
|
+
state :objc_setting do
|
128
|
+
rule /(\( *)(\w+)( *\))/ do |m|
|
129
|
+
token Keyword::Declaration, m[1]
|
130
|
+
token Name::Class, m[2]
|
131
|
+
token Keyword::Declaration, m[3]
|
132
|
+
end
|
133
|
+
rule //, Keyword::Declaration, :pop!
|
134
|
+
end
|
92
135
|
|
93
136
|
state :dq do
|
94
137
|
rule /\\[\\0tnr'"]/, Str::Escape
|
95
138
|
rule /\\[(]/, Str::Escape, :interp
|
96
|
-
rule /\\
|
97
|
-
rule /\\u\h{4}/, Str::Escape
|
98
|
-
rule /\\U\h{8}/, Str::Escape
|
139
|
+
rule /\\u\{\h{1,8}\}/, Str::Escape
|
99
140
|
rule /[^\\"]+/, Str
|
100
141
|
rule /"/, Str, :pop!
|
101
142
|
end
|
@@ -112,7 +153,7 @@ module Rouge
|
|
112
153
|
mixin :root
|
113
154
|
end
|
114
155
|
|
115
|
-
state :
|
156
|
+
state :type_definition do
|
116
157
|
mixin :whitespace
|
117
158
|
rule id, Name::Class, :pop!
|
118
159
|
end
|
@@ -122,7 +163,6 @@ module Rouge
|
|
122
163
|
rule /(?=[(])/, Text, :pop!
|
123
164
|
rule /(#{id}|[.])+/, Name::Namespace, :pop!
|
124
165
|
end
|
125
|
-
|
126
166
|
end
|
127
167
|
end
|
128
168
|
end
|
data/lib/rouge/regex_lexer.rb
CHANGED
data/lib/rouge/version.rb
CHANGED
data/rouge.gemspec
CHANGED
@@ -3,14 +3,14 @@ require './lib/rouge/version'
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "rouge"
|
5
5
|
s.version = Rouge.version
|
6
|
-
s.authors = ["
|
7
|
-
s.email = ["
|
6
|
+
s.authors = ["Jeanine Adkisson"]
|
7
|
+
s.email = ["jneen@jneen.net"]
|
8
8
|
s.summary = "A pure-ruby colorizer based on pygments"
|
9
9
|
s.description = <<-desc.strip.gsub(/\s+/, ' ')
|
10
10
|
Rouge aims to a be a simple, easy-to-extend drop-in replacement
|
11
11
|
for pygments.
|
12
12
|
desc
|
13
|
-
s.homepage = "http://github.com/
|
13
|
+
s.homepage = "http://github.com/jneen/rouge"
|
14
14
|
s.rubyforge_project = "rouge"
|
15
15
|
s.files = Dir['Gemfile', 'LICENSE', 'rouge.gemspec', 'lib/**/*.rb', 'bin/rougify', 'lib/rouge/demos/*']
|
16
16
|
s.executables = %w(rougify)
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rouge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.2
|
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-08-17 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:
|
15
|
-
-
|
15
|
+
- jneen@jneen.net
|
16
16
|
executables:
|
17
17
|
- rougify
|
18
18
|
extensions: []
|
@@ -184,7 +184,7 @@ files:
|
|
184
184
|
- lib/rouge/util.rb
|
185
185
|
- lib/rouge/version.rb
|
186
186
|
- rouge.gemspec
|
187
|
-
homepage: http://github.com/
|
187
|
+
homepage: http://github.com/jneen/rouge
|
188
188
|
licenses:
|
189
189
|
- MIT (see LICENSE file)
|
190
190
|
metadata: {}
|