CoffeeTags 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzhkZThkNGM3MTYzNTUxZjg5Y2U3Yzc4YWEzMjk0YjkwNmY3ODcwYQ==
4
+ YWM5NzhiNzg0NDBiNmQ5OGUzM2IyYTAxOTM2OTk5NjA1NDFlMTZjYQ==
5
5
  data.tar.gz: !binary |-
6
- ZTViYjU1MmQ0MWRiNTIxMGVmMjRhMTAyNzI3NTFjYzNkMDhlMmRlOQ==
6
+ ZjdkMjdkZGQwNTBjNzY0ZmMwYjA5MDA1MDg4NTI1NDBjZjc0YjhhYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NmUzOWMwODU1OGE0ODMzYTUwYWMxYzg4OGZmNWNjY2RmNzc1YWMwNDc4ODY1
10
- ZTFkMGU3NmE5ZDViN2VkZjJkYmQ1ZjI4ZWNiYTMzNGJmMjliOGZkZTU5ZTAz
11
- NGI4NDc4ZDU5Zjc1NjhmMDlhMjBhN2JjNzc0ZmY1MjNjMGE0NWQ=
9
+ OTFkYzZmNzRkZjRkZTZjZTEwNmMwM2FhMWUwZDNlY2ViYjlhZThiYjBhMTk1
10
+ ZWI1YTI1YWRkNzY5Y2FkMThiNTI1YzdjMjBmMTJjM2Q4NDY0ZGRkZTZjY2Vj
11
+ MDdkMzQ3YTkwM2U0MzZmNmZkYjgxZWE2OTMwN2ZmYmUyY2NiMWY=
12
12
  data.tar.gz: !binary |-
13
- NGU2YjIzOTU2NzhlNDdjMTk0NDMzNGQ3OTYxNjQ5MDgwMDBmNTc3MTQ1NTYy
14
- ZDVmZTEwZjUxMzljMGQ3NjM3NDFhOGM4NWE5YjFhMTVhZDNjZTljZTE2N2E1
15
- ZDkyMWQ4OWVmMGM1ZTAxMTUxMWM5N2JkZjBiMWYwMDdmZjBlMWI=
13
+ MjFhOWM4ZGUyNjliMzFiZTQyZTQzM2I2YjAyZDlmN2U4MzdjOTMwNjMwZjY5
14
+ OGI0MDk2YWNhMTYxNTE2ODYxNTQyNGRiZDkwNDk4NmE1Y2RhYTUzOTUyNjgy
15
+ MzBhM2YwZDZhNjk5YzY4ODdmMTY3ZTFjNGM3NDQ1NTgwYTM3NWY=
@@ -18,7 +18,9 @@ module Coffeetags
18
18
  'f' => 'function',
19
19
  'c' => 'class',
20
20
  'o' => 'object',
21
- 'v' => 'var'
21
+ 'v' => 'var',
22
+ 'p' => 'proto',
23
+ 'b' => 'block'
22
24
  }
23
25
  end
24
26
 
@@ -43,16 +45,17 @@ module Coffeetags
43
45
  namespace = (entry[:parent].blank?) ? entry[:name]: entry[:parent]
44
46
  namespace = namespace == entry[:name] ? '' : "object:#{namespace}"
45
47
 
46
- [
48
+ output = [
47
49
  entry[:name],
48
50
  @file,
49
51
  regex_line(entry[:source]),
50
52
  entry[:kind],
51
53
  "line:#{entry[:line]}",
52
- namespace,
53
54
  "type:"+Formatter::kinds()[entry[:kind]],
54
55
  "language:coffee"
55
56
  ].join("\t")
57
+ unless namespace.empty? then output << "\t#{namespace}" end
58
+ output
56
59
  end
57
60
 
58
61
  def parse_tree
@@ -19,8 +19,8 @@ module Coffeetags
19
19
  @block = /^\s*(if|unless|switch|loop|do)/
20
20
  @class_regex = /\s*class\s*(?:@)?([\w\.]*)/
21
21
  @proto_meths = /^\s*([A-Za-z]*)::([@a-zA-Z0-9_]*)/
22
- @var_regex = /([@a-zA-Z0-9_]*)\s*[=:]{1}\s*$/
23
- @token_regex = /([@a-zA-Z0-9_]*)\s*[:=]{1}/
22
+ @var_regex = /([@a-zA-Z0-9_]*)\s*[:=]\s*$/
23
+ @token_regex = /([@a-zA-Z0-9_]*)\s*[:=]/
24
24
  @iterator_regex = /^\s*for\s*([a-zA-Z0-9_]*)\s*/
25
25
  @comment_regex = /^\s*#/
26
26
  @start_block_comment_regex = /^\s*###/
@@ -100,9 +100,14 @@ module Coffeetags
100
100
  def item_for_regex line, regex, level, additional_fields={}
101
101
  if item = line.match(regex)
102
102
  entry_for_item = {
103
- :name => item[1],
104
103
  :level => level
105
104
  }
105
+ if item.length > 2 # proto method
106
+ entry_for_item[:parent] = item[1]
107
+ entry_for_item[:name] = item[2]
108
+ else
109
+ entry_for_item[:name] = item[1]
110
+ end
106
111
  entry_for_item.merge(additional_fields)
107
112
  end
108
113
  end
@@ -115,28 +120,24 @@ module Coffeetags
115
120
  level = 0
116
121
  @source.each_line do |line|
117
122
  line_n += 1
123
+ line.chomp!
118
124
  # indentify scopes
119
125
  level = line_level line
120
126
 
121
127
  # ignore comments!
122
128
  next if @comment_lines.include? line_n
123
129
 
124
- # extract elements for given line
125
130
  [
126
- @class_regex,
127
- @proto_meths,
128
- @var_regex
129
- ].each do |regex|
130
- mt = item_for_regex line, regex, level
131
+ [@class_regex, 'c'],
132
+ [@proto_meths, 'p'],
133
+ [@var_regex, 'v'],
134
+ [@block, 'b']
135
+ ].each do |regex, kind|
136
+ mt = item_for_regex line, regex, level, :source => line, :line => line_n, :kind => kind
131
137
  @tree << mt unless mt.nil?
132
138
  end
133
139
 
134
140
 
135
- # does this line contain a block?
136
- mt = item_for_regex line, @block, level, :kind => 'b'
137
- @tree << mt unless mt.nil?
138
-
139
-
140
141
  # instance variable or iterator (for/in)?
141
142
  token = line.match(@token_regex )
142
143
  token ||= line.match(@iterator_regex)
@@ -147,7 +148,7 @@ module Coffeetags
147
148
  :name => token[1],
148
149
  :level => level,
149
150
  :parent => '',
150
- :source => line.chomp,
151
+ :source => line,
151
152
  :line => line_n
152
153
  }
153
154
 
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module Coffeetags
3
- VERSION = "0.3.1"
3
+ VERSION = "0.4.0"
4
4
  end
@@ -42,7 +42,11 @@ let g:tagbar_type_coffee = {
42
42
  \ 'ctagsargs' : s:raw_args,
43
43
  \ 'kinds' : [
44
44
  \ 'f:functions',
45
+ \ 'c:classes',
45
46
  \ 'o:object',
47
+ \ 'v:variables',
48
+ \ 'p:prototypes',
49
+ \ 'b:blocks'
46
50
  \ ],
47
51
  \ 'sro' : ".",
48
52
  \ 'kind2scope' : {
@@ -36,6 +36,8 @@ f function
36
36
  c class
37
37
  o object
38
38
  v var
39
+ p proto
40
+ b block
39
41
  TAG
40
42
 
41
43
  options[:exit].should == true
@@ -119,7 +121,6 @@ FF
119
121
  it "generates tags for given files" do
120
122
  Coffeetags::Utils.run({ :output => 'test.out', :files => ['spec/fixtures/test.coffee', 'spec/fixtures/campfire.coffee'] })
121
123
 
122
-
123
124
  File.read("test.out").should == File.read("./spec/fixtures/out.test-two.ctags")
124
125
 
125
126
  end
@@ -179,7 +180,7 @@ FF
179
180
 
180
181
  it "returns contents of output file without header and without tags for files that will be indexed" do
181
182
  lines = Coffeetags::Utils.setup_tag_lines("spec/fixtures/out.test-two.ctags", ["spec/fixtures/test.coffee"], true).map {|l| l.split("\t")[0]}
182
- lines.should == %w{bump constructor handlers onFailure onSuccess recent roomInfo rooms}
183
+ lines.should == %w{Campfire Test bump constructor handlers onFailure onSuccess recent resp roomInfo rooms}
183
184
  end
184
185
 
185
186
  it "returns contents of output file with relative file paths without header and without tags for files that will be indexed" do
@@ -189,7 +190,7 @@ FF
189
190
  FileUtils.cp "spec/fixtures/out.test-relative.ctags", output
190
191
 
191
192
  lines = Coffeetags::Utils.setup_tag_lines(output, ["spec/fixtures/test.coffee"], true).map {|l| l.split("\t")[0]}
192
- lines.should == %w{bump constructor handlers onFailure onSuccess recent roomInfo rooms}
193
+ lines.should == %w{Campfire Test bump constructor handlers onFailure onSuccess recent resp roomInfo rooms}
193
194
  end
194
195
 
195
196
  it "returns contents of output file with relative file paths from absolute file path" do
@@ -201,7 +202,7 @@ FF
201
202
  expanded_path = Pathname.new("spec/fixtures/test.coffee").expand_path.to_s
202
203
 
203
204
  lines = Coffeetags::Utils.setup_tag_lines(output, [expanded_path], true).map {|l| l.split("\t")[0]}
204
- lines.should == %w{bump constructor handlers onFailure onSuccess recent roomInfo rooms}
205
+ lines.should == %w{Campfire Test bump constructor handlers onFailure onSuccess recent resp roomInfo rooms}
205
206
  end
206
207
 
207
208
  it "returns contents of output file with relative file paths from absolution output path" do
@@ -211,7 +212,7 @@ FF
211
212
  FileUtils.cp "spec/fixtures/out.test-relative.ctags", output
212
213
 
213
214
  lines = Coffeetags::Utils.setup_tag_lines(Pathname.new(output).expand_path.to_s, ["spec/fixtures/test.coffee"], true).map {|l| l.split("\t")[0]}
214
- lines.should == %w{bump constructor handlers onFailure onSuccess recent roomInfo rooms}
215
+ lines.should == %w{Campfire Test bump constructor handlers onFailure onSuccess recent resp roomInfo rooms}
215
216
  end
216
217
  end
217
218
 
@@ -3,25 +3,28 @@
3
3
  !_TAG_PROGRAM_AUTHOR Łukasz Korecki /lukasz@coffeesounds.com/
4
4
  !_TAG_PROGRAM_NAME CoffeeTags //
5
5
  !_TAG_PROGRAM_URL https://github.com/lukaszkorecki/CoffeeTags /GitHub repository/
6
- !_TAG_PROGRAM_VERSION 0.3.1 //
6
+ !_TAG_PROGRAM_VERSION 0.4.0 //
7
7
  @filter spec/fixtures/test.coffee /^ @filter = ->$/;" f line:14 object:Wat.ho type:function language:coffee
8
+ Campfire spec/fixtures/campfire.coffee /^class Campfire$/;" c line:3 type:class language:coffee
9
+ Test spec/fixtures/campfire.coffee /^class Test$/;" c line:45 type:class language:coffee
8
10
  _loop spec/fixtures/test.coffee /^_loop = (x) ->$/;" f line:19 object:window type:function language:coffee
9
11
  baz spec/fixtures/blockcomment.coffee /^baz : (x, y) ->$/;" f line:15 object:window type:function language:coffee
10
12
  beam_magnum spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f line:44 object:window type:function language:coffee
11
13
  bound_func spec/fixtures/test.coffee /^bound_func = (ok) => wat(ok)$/;" f line:41 object:window type:function language:coffee
12
- bump spec/fixtures/campfire.coffee /^ bump : ->$/;" f line:46 object:Test type:function language:coffee
14
+ bump spec/fixtures/campfire.coffee /^ bump : ->$/;" f line:46 type:function language:coffee object:Test
13
15
  bump spec/fixtures/test.coffee /^ bump : ->$/;" f line:10 object:Wat.ho.@lolWat type:function language:coffee
14
16
  bump spec/fixtures/test.coffee /^bump = (wat) ->$/;" f line:1 object:window type:function language:coffee
15
17
  bump_up spec/fixtures/test.coffee /^ bump_up : ->$/;" f line:12 object:Wat.ho.@lolWat type:function language:coffee
16
- constructor spec/fixtures/campfire.coffee /^ constructor: (api_key, host) ->$/;" f line:8 object:Campfire type:function language:coffee
18
+ constructor spec/fixtures/campfire.coffee /^ constructor: (api_key, host) ->$/;" f line:8 type:function language:coffee object:Campfire
17
19
  echo2 spec/fixtures/blockcomment.coffee /^echo2 :-> console.log 'echo'$/;" f line:7 object:window type:function language:coffee
18
20
  echo3 spec/fixtures/blockcomment.coffee /^echo3 :-> console.log 'echo'$/;" f line:23 object:window type:function language:coffee
19
21
  foo spec/fixtures/blockcomment.coffee /^foo : (x) -> console.log 'bar #{x}'$/;" f line:26 object:window type:function language:coffee
20
22
  foo2 spec/fixtures/blockcomment.coffee /^foo2 : (x) -> console.log 'bar #{x}'$/;" f line:10 object:window type:function language:coffee
21
- handlers spec/fixtures/campfire.coffee /^ handlers: (callbacks) ->$/;" f line:14 object:Campfire type:function language:coffee
23
+ handlers spec/fixtures/campfire.coffee /^ handlers: (callbacks) ->$/;" f line:14 type:function language:coffee object:Campfire
22
24
  ho spec/fixtures/test.coffee /^ ho : (x) ->$/;" f line:5 object:Wat type:function language:coffee
23
- onFailure spec/fixtures/campfire.coffee /^ onFailure: (response) ->$/;" f line:24 object:Campfire.handlers.resp type:function language:coffee
24
- onSuccess spec/fixtures/campfire.coffee /^ onSuccess : (response) ->$/;" f line:16 object:Campfire.handlers.resp type:function language:coffee
25
- recent spec/fixtures/campfire.coffee /^ recent: (id, since, callbacks) ->$/;" f line:40 object:Campfire type:function language:coffee
26
- roomInfo spec/fixtures/campfire.coffee /^ roomInfo: (id, callbacks) ->$/;" f line:34 object:Campfire type:function language:coffee
27
- rooms spec/fixtures/campfire.coffee /^ rooms: (callbacks) ->$/;" f line:29 object:Campfire type:function language:coffee
25
+ onFailure spec/fixtures/campfire.coffee /^ onFailure: (response) ->$/;" f line:24 type:function language:coffee object:Campfire.handlers.resp
26
+ onSuccess spec/fixtures/campfire.coffee /^ onSuccess : (response) ->$/;" f line:16 type:function language:coffee object:Campfire.handlers.resp
27
+ recent spec/fixtures/campfire.coffee /^ recent: (id, since, callbacks) ->$/;" f line:40 type:function language:coffee object:Campfire
28
+ resp spec/fixtures/campfire.coffee /^ resp =$/;" v line:15 type:var language:coffee
29
+ roomInfo spec/fixtures/campfire.coffee /^ roomInfo: (id, callbacks) ->$/;" f line:34 type:function language:coffee object:Campfire
30
+ rooms spec/fixtures/campfire.coffee /^ rooms: (callbacks) ->$/;" f line:29 type:function language:coffee object:Campfire
@@ -3,8 +3,8 @@
3
3
  !_TAG_PROGRAM_AUTHOR Łukasz Korecki /lukasz@coffeesounds.com/
4
4
  !_TAG_PROGRAM_NAME CoffeeTags //
5
5
  !_TAG_PROGRAM_URL https://github.com/lukaszkorecki/CoffeeTags /GitHub repository/
6
- !_TAG_PROGRAM_VERSION 0.3.1 //
7
- !_TAG_PROGRAM_VERSION 0.3.1 //
6
+ !_TAG_PROGRAM_VERSION 0.4.0 //
7
+ !_TAG_PROGRAM_VERSION 0.4.0 //
8
8
  !_THIS_LINE_SHOULD_GET_REMOVED Nothing to see here //
9
9
  @filter spec/fixtures/test.coffee /^ @filter = ->$/;" f line:14 object:Wat.ho type:function language:coffee
10
10
  _loop spec/fixtures/test.coffee /^_loop = (x) ->$/;" f line:19 object:window type:function language:coffee
@@ -3,9 +3,9 @@
3
3
  !_TAG_PROGRAM_AUTHOR Łukasz Korecki /lukasz@coffeesounds.com/
4
4
  !_TAG_PROGRAM_NAME CoffeeTags //
5
5
  !_TAG_PROGRAM_URL https://github.com/lukaszkorecki/CoffeeTags /GitHub repository/
6
- !_TAG_PROGRAM_VERSION 0.3.1 //
7
- baz spec/fixtures/blockcomment.coffee /^baz : (x, y) ->$/;" f line:15 object:window type:function language:coffee
8
- echo2 spec/fixtures/blockcomment.coffee /^echo2 :-> console.log 'echo'$/;" f line:7 object:window type:function language:coffee
9
- echo3 spec/fixtures/blockcomment.coffee /^echo3 :-> console.log 'echo'$/;" f line:23 object:window type:function language:coffee
10
- foo spec/fixtures/blockcomment.coffee /^foo : (x) -> console.log 'bar #{x}'$/;" f line:26 object:window type:function language:coffee
11
- foo2 spec/fixtures/blockcomment.coffee /^foo2 : (x) -> console.log 'bar #{x}'$/;" f line:10 object:window type:function language:coffee
6
+ !_TAG_PROGRAM_VERSION 0.4.0 //
7
+ baz spec/fixtures/blockcomment.coffee /^baz : (x, y) ->$/;" f line:15 type:function language:coffee object:window
8
+ echo2 spec/fixtures/blockcomment.coffee /^echo2 :-> console.log 'echo'$/;" f line:7 type:function language:coffee object:window
9
+ echo3 spec/fixtures/blockcomment.coffee /^echo3 :-> console.log 'echo'$/;" f line:23 type:function language:coffee object:window
10
+ foo spec/fixtures/blockcomment.coffee /^foo : (x) -> console.log 'bar #{x}'$/;" f line:26 type:function language:coffee object:window
11
+ foo2 spec/fixtures/blockcomment.coffee /^foo2 : (x) -> console.log 'bar #{x}'$/;" f line:10 type:function language:coffee object:window
@@ -3,7 +3,7 @@
3
3
  !_TAG_PROGRAM_AUTHOR Łukasz Korecki /lukasz@coffeesounds.com/
4
4
  !_TAG_PROGRAM_NAME CoffeeTags //
5
5
  !_TAG_PROGRAM_URL https://github.com/lukaszkorecki/CoffeeTags /GitHub repository/
6
- !_TAG_PROGRAM_VERSION 0.3.1 //
6
+ !_TAG_PROGRAM_VERSION 0.4.0 //
7
7
  bump spec/fixtures/campfire.coffee /^ bump : ->$/;" f lineno:46 object:Test type:function
8
8
  constructor spec/fixtures/campfire.coffee /^ constructor: (api_key, host) ->$/;" f lineno:8 object:Campfire type:function
9
9
  handlers spec/fixtures/campfire.coffee /^ handlers: (callbacks) ->$/;" f lineno:14 object:Campfire type:function
@@ -3,22 +3,32 @@
3
3
  !_TAG_PROGRAM_AUTHOR Łukasz Korecki /lukasz@coffeesounds.com/
4
4
  !_TAG_PROGRAM_NAME CoffeeTags //
5
5
  !_TAG_PROGRAM_URL https://github.com/lukaszkorecki/CoffeeTags /GitHub repository/
6
- !_TAG_PROGRAM_VERSION 0.3.1 //
7
- !_TAG_PROGRAM_VERSION 0.3.1 //
6
+ !_TAG_PROGRAM_VERSION 0.4.0 //
7
+ !_TAG_PROGRAM_VERSION 0.4.0 //
8
8
  !_THIS_LINE_SHOULD_GET_REMOVED Nothing to see here //
9
- @filter ../spec/fixtures/test.coffee /^ @filter = ->$/;" f line:14 object:Wat.ho type:function language:coffee
10
- _loop ../spec/fixtures/test.coffee /^_loop = (x) ->$/;" f line:19 object:window type:function language:coffee
11
- beam_magnum ../spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f line:44 object:window type:function language:coffee
12
- bound_func ../spec/fixtures/test.coffee /^bound_func = (ok) => wat(ok)$/;" f line:41 object:window type:function language:coffee
13
- bump ../spec/fixtures/test.coffee /^ bump : ->$/;" f line:10 object:Wat.ho.@lolWat type:function language:coffee
14
- bump ../spec/fixtures/test.coffee /^bump = (wat) ->$/;" f line:1 object:window type:function language:coffee
15
- bump_up ../spec/fixtures/test.coffee /^ bump_up : ->$/;" f line:12 object:Wat.ho.@lolWat type:function language:coffee
16
- constructor ../spec/fixtures/campfire.coffee /^ constructor: (api_key, host) ->$/;" f line:8 object:Campfire type:function language:coffee
17
- constructor2 ../spec/fixtures/campfire.coffee /^ constructor: (api_key, host) ->$/;" f line:8 object:Campfire type:function language:coffee
18
- handlers ../spec/fixtures/campfire.coffee /^ handlers: (callbacks) ->$/;" f line:14 object:Campfire type:function language:coffee
19
- ho ../spec/fixtures/test.coffee /^ ho : (x) ->$/;" f line:5 object:Wat type:function language:coffee
20
- onFailure ../spec/fixtures/campfire.coffee /^ onFailure: (response) ->$/;" f line:24 object:Campfire.handlers.resp type:function language:coffee
21
- onSuccess ../spec/fixtures/campfire.coffee /^ onSuccess : (response) ->$/;" f line:16 object:Campfire.handlers.resp type:function language:coffee
22
- recent ../spec/fixtures/campfire.coffee /^ recent: (id, since, callbacks) ->$/;" f line:40 object:Campfire type:function language:coffee
23
- roomInfo ../spec/fixtures/campfire.coffee /^ roomInfo: (id, callbacks) ->$/;" f line:34 object:Campfire type:function language:coffee
24
- rooms ../spec/fixtures/campfire.coffee /^ rooms: (callbacks) ->$/;" f line:29 object:Campfire type:function language:coffee
9
+ @filter ../spec/fixtures/test.coffee /^ @filter = ->$/;" f line:14 type:function language:coffee object:Wat.ho
10
+ @lolWat ../spec/fixtures/test.coffee /^ @lolWat =$/;" v line:9 type:var language:coffee
11
+ Campfire ../spec/fixtures/campfire.coffee /^class Campfire$/;" c line:3 type:class language:coffee
12
+ Test ../spec/fixtures/campfire.coffee /^class Test$/;" c line:45 type:class language:coffee
13
+ Wat ../spec/fixtures/test.coffee /^Wat =$/;" v line:4 type:var language:coffee
14
+ _loop ../spec/fixtures/test.coffee /^_loop = (x) ->$/;" f line:19 type:function language:coffee object:window
15
+ beam_magnum ../spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f line:44 type:function language:coffee object:window
16
+ bound_func ../spec/fixtures/test.coffee /^bound_func = (ok) => wat(ok)$/;" f line:41 type:function language:coffee object:window
17
+ bump ../spec/fixtures/test.coffee /^ bump : ->$/;" f line:10 type:function language:coffee object:Wat.ho.@lolWat
18
+ bump ../spec/fixtures/test.coffee /^bump = (wat) ->$/;" f line:1 type:function language:coffee object:window
19
+ bump_up ../spec/fixtures/test.coffee /^ bump_up : ->$/;" f line:12 type:function language:coffee object:Wat.ho.@lolWat
20
+ constructor ../spec/fixtures/campfire.coffee /^ constructor: (api_key, host) ->$/;" f line:8 type:function language:coffee object:Campfire
21
+ constructor2 ../spec/fixtures/campfire.coffee /^ constructor: (api_key, host) ->$/;" f lineno:8 object:Campfire type:function
22
+ do ../spec/fixtures/test.coffee /^ do (element)$/;" b line:29 type:block language:coffee
23
+ do ../spec/fixtures/test.coffee /^ do (f) ->$/;" b line:36 type:block language:coffee
24
+ handlers ../spec/fixtures/campfire.coffee /^ handlers: (callbacks) ->$/;" f line:14 type:function language:coffee object:Campfire
25
+ ho ../spec/fixtures/test.coffee /^ ho : (x) ->$/;" f line:5 type:function language:coffee object:Wat
26
+ if ../spec/fixtures/test.coffee /^ if wat$/;" b line:24 type:block language:coffee
27
+ if ../spec/fixtures/test.coffee /^ if z.isSomethingRidic$/;" b line:21 type:block language:coffee
28
+ loop ../spec/fixtures/test.coffee /^Array::loop = (x) ->$/;" p line:46 type:proto language:coffee object:Array
29
+ onFailure ../spec/fixtures/campfire.coffee /^ onFailure: (response) ->$/;" f line:24 type:function language:coffee object:Campfire.handlers.resp
30
+ onSuccess ../spec/fixtures/campfire.coffee /^ onSuccess : (response) ->$/;" f line:16 type:function language:coffee object:Campfire.handlers.resp
31
+ recent ../spec/fixtures/campfire.coffee /^ recent: (id, since, callbacks) ->$/;" f line:40 type:function language:coffee object:Campfire
32
+ resp ../spec/fixtures/campfire.coffee /^ resp =$/;" v line:15 type:var language:coffee
33
+ roomInfo ../spec/fixtures/campfire.coffee /^ roomInfo: (id, callbacks) ->$/;" f line:34 type:function language:coffee object:Campfire
34
+ rooms ../spec/fixtures/campfire.coffee /^ rooms: (callbacks) ->$/;" f line:29 type:function language:coffee object:Campfire
@@ -3,20 +3,30 @@
3
3
  !_TAG_PROGRAM_AUTHOR Łukasz Korecki /lukasz@coffeesounds.com/
4
4
  !_TAG_PROGRAM_NAME CoffeeTags //
5
5
  !_TAG_PROGRAM_URL https://github.com/lukaszkorecki/CoffeeTags /GitHub repository/
6
- !_TAG_PROGRAM_VERSION 0.3.1 //
7
- @filter ../spec/fixtures/test.coffee /^ @filter = ->$/;" f line:14 object:Wat.ho type:function language:coffee
8
- _loop ../spec/fixtures/test.coffee /^_loop = (x) ->$/;" f line:19 object:window type:function language:coffee
9
- beam_magnum ../spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f line:44 object:window type:function language:coffee
10
- bound_func ../spec/fixtures/test.coffee /^bound_func = (ok) => wat(ok)$/;" f line:41 object:window type:function language:coffee
11
- bump ../spec/fixtures/campfire.coffee /^ bump : ->$/;" f line:46 object:Test type:function language:coffee
12
- bump ../spec/fixtures/test.coffee /^ bump : ->$/;" f line:10 object:Wat.ho.@lolWat type:function language:coffee
13
- bump ../spec/fixtures/test.coffee /^bump = (wat) ->$/;" f line:1 object:window type:function language:coffee
14
- bump_up ../spec/fixtures/test.coffee /^ bump_up : ->$/;" f line:12 object:Wat.ho.@lolWat type:function language:coffee
15
- constructor ../spec/fixtures/campfire.coffee /^ constructor: (api_key, host) ->$/;" f line:8 object:Campfire type:function language:coffee
16
- handlers ../spec/fixtures/campfire.coffee /^ handlers: (callbacks) ->$/;" f line:14 object:Campfire type:function language:coffee
17
- ho ../spec/fixtures/test.coffee /^ ho : (x) ->$/;" f line:5 object:Wat type:function language:coffee
18
- onFailure ../spec/fixtures/campfire.coffee /^ onFailure: (response) ->$/;" f line:24 object:Campfire.handlers.resp type:function language:coffee
19
- onSuccess ../spec/fixtures/campfire.coffee /^ onSuccess : (response) ->$/;" f line:16 object:Campfire.handlers.resp type:function language:coffee
20
- recent ../spec/fixtures/campfire.coffee /^ recent: (id, since, callbacks) ->$/;" f line:40 object:Campfire type:function language:coffee
21
- roomInfo ../spec/fixtures/campfire.coffee /^ roomInfo: (id, callbacks) ->$/;" f line:34 object:Campfire type:function language:coffee
22
- rooms ../spec/fixtures/campfire.coffee /^ rooms: (callbacks) ->$/;" f line:29 object:Campfire type:function language:coffee
6
+ !_TAG_PROGRAM_VERSION 0.4.0 //
7
+ @filter ../spec/fixtures/test.coffee /^ @filter = ->$/;" f line:14 type:function language:coffee object:Wat.ho
8
+ @lolWat ../spec/fixtures/test.coffee /^ @lolWat =$/;" v line:9 type:var language:coffee
9
+ Campfire ../spec/fixtures/campfire.coffee /^class Campfire$/;" c line:3 type:class language:coffee
10
+ Test ../spec/fixtures/campfire.coffee /^class Test$/;" c line:45 type:class language:coffee
11
+ Wat ../spec/fixtures/test.coffee /^Wat =$/;" v line:4 type:var language:coffee
12
+ _loop ../spec/fixtures/test.coffee /^_loop = (x) ->$/;" f line:19 type:function language:coffee object:window
13
+ beam_magnum ../spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f line:44 type:function language:coffee object:window
14
+ bound_func ../spec/fixtures/test.coffee /^bound_func = (ok) => wat(ok)$/;" f line:41 type:function language:coffee object:window
15
+ bump ../spec/fixtures/campfire.coffee /^ bump : ->$/;" f line:46 type:function language:coffee object:Test
16
+ bump ../spec/fixtures/test.coffee /^ bump : ->$/;" f line:10 type:function language:coffee object:Wat.ho.@lolWat
17
+ bump ../spec/fixtures/test.coffee /^bump = (wat) ->$/;" f line:1 type:function language:coffee object:window
18
+ bump_up ../spec/fixtures/test.coffee /^ bump_up : ->$/;" f line:12 type:function language:coffee object:Wat.ho.@lolWat
19
+ constructor ../spec/fixtures/campfire.coffee /^ constructor: (api_key, host) ->$/;" f line:8 type:function language:coffee object:Campfire
20
+ do ../spec/fixtures/test.coffee /^ do (element)$/;" b line:29 type:block language:coffee
21
+ do ../spec/fixtures/test.coffee /^ do (f) ->$/;" b line:36 type:block language:coffee
22
+ handlers ../spec/fixtures/campfire.coffee /^ handlers: (callbacks) ->$/;" f line:14 type:function language:coffee object:Campfire
23
+ ho ../spec/fixtures/test.coffee /^ ho : (x) ->$/;" f line:5 type:function language:coffee object:Wat
24
+ if ../spec/fixtures/test.coffee /^ if wat$/;" b line:24 type:block language:coffee
25
+ if ../spec/fixtures/test.coffee /^ if z.isSomethingRidic$/;" b line:21 type:block language:coffee
26
+ loop ../spec/fixtures/test.coffee /^Array::loop = (x) ->$/;" p line:46 type:proto language:coffee object:Array
27
+ onFailure ../spec/fixtures/campfire.coffee /^ onFailure: (response) ->$/;" f line:24 type:function language:coffee object:Campfire.handlers.resp
28
+ onSuccess ../spec/fixtures/campfire.coffee /^ onSuccess : (response) ->$/;" f line:16 type:function language:coffee object:Campfire.handlers.resp
29
+ recent ../spec/fixtures/campfire.coffee /^ recent: (id, since, callbacks) ->$/;" f line:40 type:function language:coffee object:Campfire
30
+ resp ../spec/fixtures/campfire.coffee /^ resp =$/;" v line:15 type:var language:coffee
31
+ roomInfo ../spec/fixtures/campfire.coffee /^ roomInfo: (id, callbacks) ->$/;" f line:34 type:function language:coffee object:Campfire
32
+ rooms ../spec/fixtures/campfire.coffee /^ rooms: (callbacks) ->$/;" f line:29 type:function language:coffee object:Campfire
@@ -3,20 +3,30 @@
3
3
  !_TAG_PROGRAM_AUTHOR Łukasz Korecki /lukasz@coffeesounds.com/
4
4
  !_TAG_PROGRAM_NAME CoffeeTags //
5
5
  !_TAG_PROGRAM_URL https://github.com/lukaszkorecki/CoffeeTags /GitHub repository/
6
- !_TAG_PROGRAM_VERSION 0.3.1 //
7
- @filter spec/fixtures/test.coffee /^ @filter = ->$/;" f line:14 object:Wat.ho type:function language:coffee
8
- _loop spec/fixtures/test.coffee /^_loop = (x) ->$/;" f line:19 object:window type:function language:coffee
9
- beam_magnum spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f line:44 object:window type:function language:coffee
10
- bound_func spec/fixtures/test.coffee /^bound_func = (ok) => wat(ok)$/;" f line:41 object:window type:function language:coffee
11
- bump spec/fixtures/campfire.coffee /^ bump : ->$/;" f line:46 object:Test type:function language:coffee
12
- bump spec/fixtures/test.coffee /^ bump : ->$/;" f line:10 object:Wat.ho.@lolWat type:function language:coffee
13
- bump spec/fixtures/test.coffee /^bump = (wat) ->$/;" f line:1 object:window type:function language:coffee
14
- bump_up spec/fixtures/test.coffee /^ bump_up : ->$/;" f line:12 object:Wat.ho.@lolWat type:function language:coffee
15
- constructor spec/fixtures/campfire.coffee /^ constructor: (api_key, host) ->$/;" f line:8 object:Campfire type:function language:coffee
16
- handlers spec/fixtures/campfire.coffee /^ handlers: (callbacks) ->$/;" f line:14 object:Campfire type:function language:coffee
17
- ho spec/fixtures/test.coffee /^ ho : (x) ->$/;" f line:5 object:Wat type:function language:coffee
18
- onFailure spec/fixtures/campfire.coffee /^ onFailure: (response) ->$/;" f line:24 object:Campfire.handlers.resp type:function language:coffee
19
- onSuccess spec/fixtures/campfire.coffee /^ onSuccess : (response) ->$/;" f line:16 object:Campfire.handlers.resp type:function language:coffee
20
- recent spec/fixtures/campfire.coffee /^ recent: (id, since, callbacks) ->$/;" f line:40 object:Campfire type:function language:coffee
21
- roomInfo spec/fixtures/campfire.coffee /^ roomInfo: (id, callbacks) ->$/;" f line:34 object:Campfire type:function language:coffee
22
- rooms spec/fixtures/campfire.coffee /^ rooms: (callbacks) ->$/;" f line:29 object:Campfire type:function language:coffee
6
+ !_TAG_PROGRAM_VERSION 0.4.0 //
7
+ @filter spec/fixtures/test.coffee /^ @filter = ->$/;" f line:14 type:function language:coffee object:Wat.ho
8
+ @lolWat spec/fixtures/test.coffee /^ @lolWat =$/;" v line:9 type:var language:coffee
9
+ Campfire spec/fixtures/campfire.coffee /^class Campfire$/;" c line:3 type:class language:coffee
10
+ Test spec/fixtures/campfire.coffee /^class Test$/;" c line:45 type:class language:coffee
11
+ Wat spec/fixtures/test.coffee /^Wat =$/;" v line:4 type:var language:coffee
12
+ _loop spec/fixtures/test.coffee /^_loop = (x) ->$/;" f line:19 type:function language:coffee object:window
13
+ beam_magnum spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f line:44 type:function language:coffee object:window
14
+ bound_func spec/fixtures/test.coffee /^bound_func = (ok) => wat(ok)$/;" f line:41 type:function language:coffee object:window
15
+ bump spec/fixtures/campfire.coffee /^ bump : ->$/;" f line:46 type:function language:coffee object:Test
16
+ bump spec/fixtures/test.coffee /^ bump : ->$/;" f line:10 type:function language:coffee object:Wat.ho.@lolWat
17
+ bump spec/fixtures/test.coffee /^bump = (wat) ->$/;" f line:1 type:function language:coffee object:window
18
+ bump_up spec/fixtures/test.coffee /^ bump_up : ->$/;" f line:12 type:function language:coffee object:Wat.ho.@lolWat
19
+ constructor spec/fixtures/campfire.coffee /^ constructor: (api_key, host) ->$/;" f line:8 type:function language:coffee object:Campfire
20
+ do spec/fixtures/test.coffee /^ do (element)$/;" b line:29 type:block language:coffee
21
+ do spec/fixtures/test.coffee /^ do (f) ->$/;" b line:36 type:block language:coffee
22
+ handlers spec/fixtures/campfire.coffee /^ handlers: (callbacks) ->$/;" f line:14 type:function language:coffee object:Campfire
23
+ ho spec/fixtures/test.coffee /^ ho : (x) ->$/;" f line:5 type:function language:coffee object:Wat
24
+ if spec/fixtures/test.coffee /^ if wat$/;" b line:24 type:block language:coffee
25
+ if spec/fixtures/test.coffee /^ if z.isSomethingRidic$/;" b line:21 type:block language:coffee
26
+ loop spec/fixtures/test.coffee /^Array::loop = (x) ->$/;" p line:46 type:proto language:coffee object:Array
27
+ onFailure spec/fixtures/campfire.coffee /^ onFailure: (response) ->$/;" f line:24 type:function language:coffee object:Campfire.handlers.resp
28
+ onSuccess spec/fixtures/campfire.coffee /^ onSuccess : (response) ->$/;" f line:16 type:function language:coffee object:Campfire.handlers.resp
29
+ recent spec/fixtures/campfire.coffee /^ recent: (id, since, callbacks) ->$/;" f line:40 type:function language:coffee object:Campfire
30
+ resp spec/fixtures/campfire.coffee /^ resp =$/;" v line:15 type:var language:coffee
31
+ roomInfo spec/fixtures/campfire.coffee /^ roomInfo: (id, callbacks) ->$/;" f line:34 type:function language:coffee object:Campfire
32
+ rooms spec/fixtures/campfire.coffee /^ rooms: (callbacks) ->$/;" f line:29 type:function language:coffee object:Campfire
@@ -3,12 +3,19 @@
3
3
  !_TAG_PROGRAM_AUTHOR Łukasz Korecki /lukasz@coffeesounds.com/
4
4
  !_TAG_PROGRAM_NAME CoffeeTags //
5
5
  !_TAG_PROGRAM_URL https://github.com/lukaszkorecki/CoffeeTags /GitHub repository/
6
- !_TAG_PROGRAM_VERSION 0.3.1 //
7
- @filter spec/fixtures/test.coffee /^ @filter = ->$/;" f line:14 object:Wat.ho type:function language:coffee
8
- _loop spec/fixtures/test.coffee /^_loop = (x) ->$/;" f line:19 object:window type:function language:coffee
9
- beam_magnum spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f line:44 object:window type:function language:coffee
10
- bound_func spec/fixtures/test.coffee /^bound_func = (ok) => wat(ok)$/;" f line:41 object:window type:function language:coffee
11
- bump spec/fixtures/test.coffee /^ bump : ->$/;" f line:10 object:Wat.ho.@lolWat type:function language:coffee
12
- bump spec/fixtures/test.coffee /^bump = (wat) ->$/;" f line:1 object:window type:function language:coffee
13
- bump_up spec/fixtures/test.coffee /^ bump_up : ->$/;" f line:12 object:Wat.ho.@lolWat type:function language:coffee
14
- ho spec/fixtures/test.coffee /^ ho : (x) ->$/;" f line:5 object:Wat type:function language:coffee
6
+ !_TAG_PROGRAM_VERSION 0.4.0 //
7
+ @filter spec/fixtures/test.coffee /^ @filter = ->$/;" f line:14 type:function language:coffee object:Wat.ho
8
+ @lolWat spec/fixtures/test.coffee /^ @lolWat =$/;" v line:9 type:var language:coffee
9
+ Wat spec/fixtures/test.coffee /^Wat =$/;" v line:4 type:var language:coffee
10
+ _loop spec/fixtures/test.coffee /^_loop = (x) ->$/;" f line:19 type:function language:coffee object:window
11
+ beam_magnum spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f line:44 type:function language:coffee object:window
12
+ bound_func spec/fixtures/test.coffee /^bound_func = (ok) => wat(ok)$/;" f line:41 type:function language:coffee object:window
13
+ bump spec/fixtures/test.coffee /^ bump : ->$/;" f line:10 type:function language:coffee object:Wat.ho.@lolWat
14
+ bump spec/fixtures/test.coffee /^bump = (wat) ->$/;" f line:1 type:function language:coffee object:window
15
+ bump_up spec/fixtures/test.coffee /^ bump_up : ->$/;" f line:12 type:function language:coffee object:Wat.ho.@lolWat
16
+ do spec/fixtures/test.coffee /^ do (element)$/;" b line:29 type:block language:coffee
17
+ do spec/fixtures/test.coffee /^ do (f) ->$/;" b line:36 type:block language:coffee
18
+ ho spec/fixtures/test.coffee /^ ho : (x) ->$/;" f line:5 type:function language:coffee object:Wat
19
+ if spec/fixtures/test.coffee /^ if wat$/;" b line:24 type:block language:coffee
20
+ if spec/fixtures/test.coffee /^ if z.isSomethingRidic$/;" b line:21 type:block language:coffee
21
+ loop spec/fixtures/test.coffee /^Array::loop = (x) ->$/;" p line:46 type:proto language:coffee object:Array
@@ -42,3 +42,6 @@ bound_func = (ok) => wat(ok)
42
42
 
43
43
  # TODO: beam_shield -> deployed(true)
44
44
  beam_magnum : -> deployed(true)
45
+
46
+ Array::loop = (x) ->
47
+ x
@@ -52,9 +52,10 @@
52
52
  :line: 13
53
53
  :level: 4
54
54
  - :source: 'Array::loop = (x) ->'
55
- :line: 18
56
- :kind: f
55
+ :line: 46
56
+ :kind: p
57
57
  :parent: Array
58
+ :name: loop
58
59
  :level: 0
59
60
  - :source: 'bound_func = (ok) => wat(ok)'
60
61
  :line: 41
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  - :name: Campfire
3
3
  :level: 0
4
+ :kind: c
4
5
  - :source: " constructor: (api_key, host) ->"
5
6
  :parent: Campfire
6
7
  :kind: f
@@ -21,6 +22,9 @@
21
22
  :level: 2
22
23
  - :name: resp
23
24
  :level: 4
25
+ :source: " resp ="
26
+ :line: 15
27
+ :kind: v
24
28
  - :source: " onSuccess : (response) ->"
25
29
  :parent: Campfire.handlers.resp
26
30
  :kind: f
@@ -60,6 +64,9 @@
60
64
 
61
65
  - :name: App.Campfire
62
66
  :level: 0
67
+ :source: "class App.Campfire"
68
+ :line: 1
69
+ :kind: c
63
70
  - :source: " constructor: ->"
64
71
  :parent: App.Campfire
65
72
  :kind: f
@@ -70,6 +77,9 @@
70
77
 
71
78
  - :name: Test
72
79
  :level: 0
80
+ :source: "class Test"
81
+ :line: 45
82
+ :kind: c
73
83
  - :source: " bump : ->"
74
84
  :parent: Test
75
85
  :kind: f
@@ -14,14 +14,14 @@ describe 'CoffeeTags::Formatter' do
14
14
 
15
15
  it "generates a line for method definition" do
16
16
  exp = [ 'constructor', 'test.coffee', "/^ constructor: (api_key, host) ->$/;\"",
17
- 'f', 'line:8', 'object:Campfire', 'type:function', 'language:coffee',
17
+ 'f', 'line:8', 'type:function', 'language:coffee', 'object:Campfire'
18
18
  ].join("\t")
19
19
  @instance.parse_tree.first.should == exp
20
20
  end
21
21
 
22
22
  it "generates line for second class" do
23
- exp = [ 'bump', 'test.coffee', "/^ bump : ->$/;\"",
24
- 'f', 'line:46', 'object:Test', 'type:function', 'language:coffee',
23
+ exp = [ 'bump', 'test.coffee', "/^ bump : ->$/;\"", 'f',
24
+ 'line:46', 'type:function', 'language:coffee', 'object:Test'
25
25
  ].join "\t"
26
26
  @instance.parse_tree.last.should == exp
27
27
  end
data/spec/parser_spec.rb CHANGED
@@ -68,13 +68,20 @@ describe 'CoffeeTags::Parser' do
68
68
  @coffee_parser.execute!
69
69
  end
70
70
 
71
+ def cf_defined_values_should_equal(cf, c)
72
+ cf.each do |k, v|
73
+ c[k].should == v
74
+ end
75
+ end
76
+
71
77
  it "parses the class" do
72
- c =@coffee_parser.tree.find { |i| i[:name] == 'Campfire'}
73
- c.should == @cf_tree.find {|i| i[:name] == 'Campfire'}
78
+ c = @coffee_parser.tree.find { |i| i[:name] == 'Campfire'}
79
+ cf = @cf_tree.find {|i| i[:name] == 'Campfire'}
80
+ cf_defined_values_should_equal cf, c
74
81
  end
75
82
 
76
83
  it "parses the 2nd class" do
77
- c =@coffee_parser.tree.find { |i| i[:name] == 'Test'}
84
+ c = @coffee_parser.tree.find { |i| i[:name] == 'Test'}
78
85
  c.should == @cf_tree.find {|i| i[:name] == 'Test'}
79
86
  end
80
87
 
@@ -91,26 +98,27 @@ describe 'CoffeeTags::Parser' do
91
98
  @coffee_parser.execute!
92
99
 
93
100
  c = @coffee_parser.tree.find { |i| i[:name] == 'Campfire'}
94
- c.should == @cf_tree.find {|i| i[:name] == 'Campfire'}
101
+ cf = @cf_tree.find {|i| i[:name] == 'Campfire'}
102
+ cf_defined_values_should_equal cf, c
95
103
  end
96
104
 
97
105
  it "parses the instance variable" do
98
- c =@coffee_parser.tree.find { |i| i[:name] == '@url'}
106
+ c = @coffee_parser.tree.find { |i| i[:name] == '@url'}
99
107
  c.should == @cf_tree.find {|i| i[:name] == '@url'}
100
108
  end
101
109
 
102
110
  it "parses the object literal with functions" do
103
- c =@coffee_parser.tree.find { |i| i[:name] == 'resp'}
111
+ c = @coffee_parser.tree.find { |i| i[:name] == 'resp'}
104
112
  c.should == @cf_tree.find {|i| i[:name] == 'resp'}
105
113
  end
106
114
 
107
115
  it "parses a nested function" do
108
- c =@coffee_parser.tree.find { |i| i[:name] == 'onSuccess'}
116
+ c = @coffee_parser.tree.find { |i| i[:name] == 'onSuccess'}
109
117
  c.should == @cf_tree.find {|i| i[:name] == 'onSuccess'}
110
118
  end
111
119
 
112
120
  it "parses a method var" do
113
- c =@coffee_parser.tree.find { |i| i[:name] == 'url'}
121
+ c = @coffee_parser.tree.find { |i| i[:name] == 'url'}
114
122
  c.should == @cf_tree.find {|i| i[:name] == 'url'}
115
123
  end
116
124
  end
@@ -145,9 +153,8 @@ describe 'CoffeeTags::Parser' do
145
153
 
146
154
  end
147
155
  it "extracts a method defined in a prototype" do
148
- pending 'methods defined on prototype needs implementing'
149
- pro = @parser_test.tree.find { |i| i[:name] == '_loop'}
150
- exp = @test_tree.find { |i| i[:name] == '_loop'}
156
+ pro = @parser_test.tree.find { |i| i[:name] == 'loop'}
157
+ exp = @test_tree.find { |i| i[:name] == 'loop'}
151
158
  pro.should_not be nil
152
159
  pro.should == exp
153
160
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: CoffeeTags
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Łukasz Korecki
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-08-18 00:00:00.000000000 Z
12
+ date: 2014-08-23 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: CoffeeTags generates ctags compatibile tags for CoffeeScript.
15
15
  email: