visionmedia-lightr 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/History.rdoc +5 -0
- data/ext/javascript.rl +7 -6
- data/lib/lightr/grammars/javascript.rb +3800 -3116
- data/lib/lightr/grammars/ruby.rb +61 -60
- data/lib/lightr/version.rb +1 -1
- data/lightr.gemspec +1 -1
- data/spec/grammars/javascript_spec.rb +1 -10
- data/spec/grammars/ruby_spec.rb +0 -9
- metadata +1 -1
data/lib/lightr/grammars/ruby.rb
CHANGED
@@ -4,8 +4,9 @@
|
|
4
4
|
# TODO: have common ragel include
|
5
5
|
# TODO: % literals (refactor with mirroring / escaping)
|
6
6
|
# TODO: callback or wrap handlers ... dont re-write for each grammar like the lamdas below
|
7
|
+
# TODO: fix globals and boundaries
|
7
8
|
|
8
|
-
# line
|
9
|
+
# line 64 "ext/ruby.rl"
|
9
10
|
|
10
11
|
|
11
12
|
module Lightr
|
@@ -17,7 +18,7 @@ module Lightr
|
|
17
18
|
@data = data
|
18
19
|
|
19
20
|
|
20
|
-
# line
|
21
|
+
# line 22 "lib/lightr/grammars/ruby.rb"
|
21
22
|
class << self
|
22
23
|
attr_accessor :_ruby_trans_keys
|
23
24
|
private :_ruby_trans_keys, :_ruby_trans_keys=
|
@@ -5736,9 +5737,9 @@ class << self
|
|
5736
5737
|
end
|
5737
5738
|
self.ruby_en_main = 530;
|
5738
5739
|
|
5739
|
-
# line
|
5740
|
+
# line 75 "ext/ruby.rl"
|
5740
5741
|
|
5741
|
-
# line
|
5742
|
+
# line 5743 "lib/lightr/grammars/ruby.rb"
|
5742
5743
|
begin
|
5743
5744
|
p ||= 0
|
5744
5745
|
pe ||= data.length
|
@@ -5747,12 +5748,12 @@ begin
|
|
5747
5748
|
te = nil
|
5748
5749
|
act = 0
|
5749
5750
|
end
|
5750
|
-
# line
|
5751
|
+
# line 76 "ext/ruby.rl"
|
5751
5752
|
wrap = lambda { |range, *types| @output << %(<span class="#{ types.join(' ') }">#{ escape(@data[range]) }</span>) }
|
5752
5753
|
node = lambda { |*types| wrap[ts..te-1, *types] }
|
5753
5754
|
buffer = lambda { @output << @data[ts..te-1] }
|
5754
5755
|
|
5755
|
-
# line
|
5756
|
+
# line 5757 "lib/lightr/grammars/ruby.rb"
|
5756
5757
|
begin
|
5757
5758
|
testEof = false
|
5758
5759
|
_slen, _trans, _keys, _inds, _acts, _nacts = nil
|
@@ -5777,7 +5778,7 @@ begin
|
|
5777
5778
|
ts = p
|
5778
5779
|
end
|
5779
5780
|
# line 1 "ext/ruby.rl"
|
5780
|
-
# line
|
5781
|
+
# line 5782 "lib/lightr/grammars/ruby.rb"
|
5781
5782
|
end
|
5782
5783
|
_keys = cs << 1
|
5783
5784
|
_inds = _ruby_index_offsets[cs]
|
@@ -5802,159 +5803,159 @@ te = p+1
|
|
5802
5803
|
end
|
5803
5804
|
# line 1 "ext/ruby.rl"
|
5804
5805
|
when 6 then
|
5805
|
-
# line
|
5806
|
+
# line 45 "ext/ruby.rl"
|
5806
5807
|
begin
|
5807
5808
|
te = p+1
|
5808
5809
|
begin node[:comment] end
|
5809
5810
|
end
|
5810
|
-
# line 44 "ext/ruby.rl"
|
5811
|
-
when 4 then
|
5812
5811
|
# line 45 "ext/ruby.rl"
|
5812
|
+
when 4 then
|
5813
|
+
# line 46 "ext/ruby.rl"
|
5813
5814
|
begin
|
5814
5815
|
te = p+1
|
5815
5816
|
begin node[:string] end
|
5816
5817
|
end
|
5817
|
-
# line 45 "ext/ruby.rl"
|
5818
|
-
when 8 then
|
5819
5818
|
# line 46 "ext/ruby.rl"
|
5819
|
+
when 8 then
|
5820
|
+
# line 47 "ext/ruby.rl"
|
5820
5821
|
begin
|
5821
5822
|
te = p+1
|
5822
5823
|
begin node[:string, :array] end
|
5823
5824
|
end
|
5824
|
-
# line
|
5825
|
+
# line 47 "ext/ruby.rl"
|
5825
5826
|
when 11 then
|
5826
|
-
# line
|
5827
|
+
# line 49 "ext/ruby.rl"
|
5827
5828
|
begin
|
5828
5829
|
te = p+1
|
5829
5830
|
begin node[:string, :symbol] end
|
5830
5831
|
end
|
5831
|
-
# line 48 "ext/ruby.rl"
|
5832
|
-
when 9 then
|
5833
5832
|
# line 49 "ext/ruby.rl"
|
5833
|
+
when 9 then
|
5834
|
+
# line 50 "ext/ruby.rl"
|
5834
5835
|
begin
|
5835
5836
|
te = p+1
|
5836
5837
|
begin node[:shell] end
|
5837
5838
|
end
|
5838
|
-
# line
|
5839
|
+
# line 50 "ext/ruby.rl"
|
5839
5840
|
when 14 then
|
5840
|
-
# line
|
5841
|
+
# line 54 "ext/ruby.rl"
|
5841
5842
|
begin
|
5842
5843
|
te = p+1
|
5843
5844
|
begin node[:self] end
|
5844
5845
|
end
|
5845
|
-
# line 53 "ext/ruby.rl"
|
5846
|
-
when 2 then
|
5847
5846
|
# line 54 "ext/ruby.rl"
|
5847
|
+
when 2 then
|
5848
|
+
# line 55 "ext/ruby.rl"
|
5848
5849
|
begin
|
5849
5850
|
te = p+1
|
5850
5851
|
begin wrap[ts+1..te-2, :keyword] end
|
5851
5852
|
end
|
5852
|
-
# line
|
5853
|
+
# line 55 "ext/ruby.rl"
|
5853
5854
|
when 15 then
|
5854
|
-
# line
|
5855
|
+
# line 57 "ext/ruby.rl"
|
5855
5856
|
begin
|
5856
5857
|
te = p+1
|
5857
5858
|
begin node[:params] end
|
5858
5859
|
end
|
5859
|
-
# line
|
5860
|
+
# line 57 "ext/ruby.rl"
|
5860
5861
|
when 19 then
|
5861
|
-
# line
|
5862
|
+
# line 61 "ext/ruby.rl"
|
5862
5863
|
begin
|
5863
5864
|
te = p+1
|
5864
5865
|
begin buffer[] end
|
5865
5866
|
end
|
5866
|
-
# line
|
5867
|
+
# line 61 "ext/ruby.rl"
|
5867
5868
|
when 22 then
|
5868
|
-
# line
|
5869
|
+
# line 48 "ext/ruby.rl"
|
5869
5870
|
begin
|
5870
5871
|
te = p
|
5871
5872
|
p = p - 1; begin node[:regexp] end
|
5872
5873
|
end
|
5873
|
-
# line 47 "ext/ruby.rl"
|
5874
|
-
when 26 then
|
5875
5874
|
# line 48 "ext/ruby.rl"
|
5875
|
+
when 26 then
|
5876
|
+
# line 49 "ext/ruby.rl"
|
5876
5877
|
begin
|
5877
5878
|
te = p
|
5878
5879
|
p = p - 1; begin node[:string, :symbol] end
|
5879
5880
|
end
|
5880
|
-
# line
|
5881
|
+
# line 49 "ext/ruby.rl"
|
5881
5882
|
when 23 then
|
5882
|
-
# line
|
5883
|
+
# line 51 "ext/ruby.rl"
|
5883
5884
|
begin
|
5884
5885
|
te = p
|
5885
5886
|
p = p - 1; begin node[:number, :int] end
|
5886
5887
|
end
|
5887
|
-
# line 50 "ext/ruby.rl"
|
5888
|
-
when 25 then
|
5889
5888
|
# line 51 "ext/ruby.rl"
|
5889
|
+
when 25 then
|
5890
|
+
# line 52 "ext/ruby.rl"
|
5890
5891
|
begin
|
5891
5892
|
te = p
|
5892
5893
|
p = p - 1; begin node[:number, :float] end
|
5893
5894
|
end
|
5894
|
-
# line 51 "ext/ruby.rl"
|
5895
|
-
when 24 then
|
5896
5895
|
# line 52 "ext/ruby.rl"
|
5896
|
+
when 24 then
|
5897
|
+
# line 53 "ext/ruby.rl"
|
5897
5898
|
begin
|
5898
5899
|
te = p
|
5899
5900
|
p = p - 1; begin node[:number, :range] end
|
5900
5901
|
end
|
5901
|
-
# line
|
5902
|
+
# line 53 "ext/ruby.rl"
|
5902
5903
|
when 21 then
|
5903
|
-
# line
|
5904
|
+
# line 55 "ext/ruby.rl"
|
5904
5905
|
begin
|
5905
5906
|
te = p
|
5906
5907
|
p = p - 1; begin wrap[ts+1..te-2, :keyword] end
|
5907
5908
|
end
|
5908
|
-
# line 54 "ext/ruby.rl"
|
5909
|
-
when 29 then
|
5910
5909
|
# line 55 "ext/ruby.rl"
|
5910
|
+
when 29 then
|
5911
|
+
# line 56 "ext/ruby.rl"
|
5911
5912
|
begin
|
5912
5913
|
te = p
|
5913
5914
|
p = p - 1; begin node[:constant] end
|
5914
5915
|
end
|
5915
|
-
# line
|
5916
|
+
# line 56 "ext/ruby.rl"
|
5916
5917
|
when 27 then
|
5917
|
-
# line
|
5918
|
+
# line 58 "ext/ruby.rl"
|
5918
5919
|
begin
|
5919
5920
|
te = p
|
5920
5921
|
p = p - 1; begin node[:variable, :class] end
|
5921
5922
|
end
|
5922
|
-
# line 57 "ext/ruby.rl"
|
5923
|
-
when 28 then
|
5924
5923
|
# line 58 "ext/ruby.rl"
|
5924
|
+
when 28 then
|
5925
|
+
# line 59 "ext/ruby.rl"
|
5925
5926
|
begin
|
5926
5927
|
te = p
|
5927
5928
|
p = p - 1; begin node[:variable, :instance] end
|
5928
5929
|
end
|
5929
|
-
# line
|
5930
|
+
# line 59 "ext/ruby.rl"
|
5930
5931
|
when 20 then
|
5931
|
-
# line
|
5932
|
+
# line 61 "ext/ruby.rl"
|
5932
5933
|
begin
|
5933
5934
|
te = p
|
5934
5935
|
p = p - 1; begin buffer[] end
|
5935
5936
|
end
|
5936
|
-
# line
|
5937
|
+
# line 61 "ext/ruby.rl"
|
5937
5938
|
when 10 then
|
5938
|
-
# line
|
5939
|
+
# line 51 "ext/ruby.rl"
|
5939
5940
|
begin
|
5940
5941
|
begin p = ((te))-1; end
|
5941
5942
|
begin node[:number, :int] end
|
5942
5943
|
end
|
5943
|
-
# line
|
5944
|
+
# line 51 "ext/ruby.rl"
|
5944
5945
|
when 12 then
|
5945
|
-
# line
|
5946
|
+
# line 56 "ext/ruby.rl"
|
5946
5947
|
begin
|
5947
5948
|
begin p = ((te))-1; end
|
5948
5949
|
begin node[:constant] end
|
5949
5950
|
end
|
5950
|
-
# line
|
5951
|
+
# line 56 "ext/ruby.rl"
|
5951
5952
|
when 1 then
|
5952
|
-
# line
|
5953
|
+
# line 61 "ext/ruby.rl"
|
5953
5954
|
begin
|
5954
5955
|
begin p = ((te))-1; end
|
5955
5956
|
begin buffer[] end
|
5956
5957
|
end
|
5957
|
-
# line
|
5958
|
+
# line 61 "ext/ruby.rl"
|
5958
5959
|
when 3 then
|
5959
5960
|
# line 1 "ext/ruby.rl"
|
5960
5961
|
begin
|
@@ -5977,31 +5978,31 @@ end
|
|
5977
5978
|
te = p+1
|
5978
5979
|
end
|
5979
5980
|
# line 1 "ext/ruby.rl"
|
5980
|
-
# line
|
5981
|
+
# line 55 "ext/ruby.rl"
|
5981
5982
|
begin
|
5982
5983
|
act = 11; end
|
5983
|
-
# line
|
5984
|
+
# line 55 "ext/ruby.rl"
|
5984
5985
|
when 7 then
|
5985
5986
|
# line 1 "ext/ruby.rl"
|
5986
5987
|
begin
|
5987
5988
|
te = p+1
|
5988
5989
|
end
|
5989
5990
|
# line 1 "ext/ruby.rl"
|
5990
|
-
# line
|
5991
|
+
# line 60 "ext/ruby.rl"
|
5991
5992
|
begin
|
5992
5993
|
act = 16; end
|
5993
|
-
# line
|
5994
|
+
# line 60 "ext/ruby.rl"
|
5994
5995
|
when 18 then
|
5995
5996
|
# line 1 "ext/ruby.rl"
|
5996
5997
|
begin
|
5997
5998
|
te = p+1
|
5998
5999
|
end
|
5999
6000
|
# line 1 "ext/ruby.rl"
|
6000
|
-
# line
|
6001
|
+
# line 61 "ext/ruby.rl"
|
6001
6002
|
begin
|
6002
6003
|
act = 17; end
|
6003
|
-
# line
|
6004
|
-
# line
|
6004
|
+
# line 61 "ext/ruby.rl"
|
6005
|
+
# line 6006 "lib/lightr/grammars/ruby.rb"
|
6005
6006
|
end
|
6006
6007
|
end
|
6007
6008
|
end
|
@@ -6012,7 +6013,7 @@ act = 17; end
|
|
6012
6013
|
begin
|
6013
6014
|
ts = nil; end
|
6014
6015
|
# line 1 "ext/ruby.rl"
|
6015
|
-
# line
|
6016
|
+
# line 6017 "lib/lightr/grammars/ruby.rb"
|
6016
6017
|
end
|
6017
6018
|
|
6018
6019
|
p += 1
|
@@ -6036,7 +6037,7 @@ ts = nil; end
|
|
6036
6037
|
end
|
6037
6038
|
end
|
6038
6039
|
end
|
6039
|
-
# line
|
6040
|
+
# line 80 "ext/ruby.rl"
|
6040
6041
|
|
6041
6042
|
output
|
6042
6043
|
end
|
data/lib/lightr/version.rb
CHANGED
data/lightr.gemspec
CHANGED
@@ -47,16 +47,7 @@ describe Lightr::JavaScript do
|
|
47
47
|
|
48
48
|
it "constructors as constants" do
|
49
49
|
parse('FooBar').should highlight(:constant, 'FooBar')
|
50
|
-
parse('FOOBAR').should highlight(:constant, 'FOOBAR')
|
51
|
-
end
|
52
|
-
|
53
|
-
%w( if else break default case continue do delete true false class enum const final
|
54
|
-
for function instanceof new null return throw try typeof var void with while finally in ).
|
55
|
-
each do |keyword|
|
56
|
-
it "#{keyword.strip} as a keyword" do
|
57
|
-
parse("\n#{keyword.strip} foo").should highlight(:keyword, keyword.strip)
|
58
|
-
parse("(#{keyword.strip})").should highlight(:keyword, keyword.strip)
|
59
|
-
end
|
50
|
+
parse('foo = FOOBAR').should highlight(:constant, 'FOOBAR')
|
60
51
|
end
|
61
52
|
|
62
53
|
end
|
data/spec/grammars/ruby_spec.rb
CHANGED
@@ -153,15 +153,6 @@ describe Lightr::Ruby do
|
|
153
153
|
ruby.should include('class="string symbol">:foo')
|
154
154
|
ruby.should include('class="keyword">__END__</span><span class="comment"')
|
155
155
|
end
|
156
|
-
|
157
|
-
%w( if else elsif unless retry super then true while until class module def end in alias
|
158
|
-
BEGIN END begin break defined do nil not or and redo rescue return yield ).
|
159
|
-
each do |keyword|
|
160
|
-
it "#{keyword.strip} as a keyword" do
|
161
|
-
parse("\n#{keyword.strip} foo").should highlight(:keyword, keyword.strip)
|
162
|
-
parse("(#{keyword.strip})").should highlight(:keyword, keyword.strip)
|
163
|
-
end
|
164
|
-
end
|
165
156
|
|
166
157
|
end
|
167
158
|
|