CoffeeTags 0.0.1.7 → 0.0.1.8

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.
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ nguage: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
@@ -1,6 +1,15 @@
1
1
  module Coffeetags
2
2
  class Formatter
3
- @@header = []
3
+ def self.header
4
+ return [
5
+ "!_TAG_FILE_FORMAT 2 /extended format/",
6
+ "!_TAG_FILE_SORTED 0 /0=unsorted, 1=sorted, 2=foldcase/",
7
+ "!_TAG_PROGRAM_AUTHOR #{::Coffeetags::AUTHOR}",
8
+ "!_TAG_PROGRAM_NAME #{::Coffeetags::NAME} //",
9
+ "!_TAG_PROGRAM_URL #{::Coffeetags::URL} /GitHub repository/",
10
+ "!_TAG_PROGRAM_VERSION #{::Coffeetags::VERSION} //"
11
+ ].map { |h| "#{h}\n"}.join ''
12
+ end
4
13
 
5
14
  def initialize file, tree =[]
6
15
  @file = file
@@ -13,8 +22,10 @@ module Coffeetags
13
22
  'o' => 'type:object',
14
23
  'v' => 'type:var'
15
24
  }
25
+ @header = Formatter.header
16
26
  end
17
27
 
28
+
18
29
  def regex_line line
19
30
  "/#{line}/;\""
20
31
  end
@@ -36,29 +47,14 @@ module Coffeetags
36
47
 
37
48
  def parse_tree
38
49
  @lines = @tree.map do | content|
39
- line_to_string content unless content[:line].nil? or content[:name].blank?
50
+ line_to_string content unless content[:line].nil? or content[:name].blank?
40
51
  end.reject{|l| l.nil? }
41
52
  end
42
53
 
43
54
 
44
55
  def tags
45
- @lines.map { |l| "#{l}\n"}
46
- end
47
-
48
- def to_file
49
- self.header + tags
56
+ @lines.map { |l| "#{l}\n"}.join ''
50
57
  end
51
58
 
52
- def self.header
53
-
54
- header = [
55
- "!_TAG_FILE_FORMAT 2 /extended format/",
56
- "!_TAG_FILE_SORTED 0 /0=unsorted, 1=sorted, 2=foldcase/",
57
- "!_TAG_PROGRAM_AUTHOR #{Coffeetags::AUTHOR}",
58
- "!_TAG_PROGRAM_NAME #{Coffeetags::NAME} //",
59
- "!_TAG_PROGRAM_URL #{Coffeetags::URL} /GitHub repository/",
60
- "!_TAG_PROGRAM_VERSION #{Coffeetags::VERSION} //"
61
- ].map { |h| "#{h}\n"}
62
- end
63
59
  end
64
60
  end
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module Coffeetags
3
- VERSION = "0.0.1.7"
3
+ VERSION = "0.0.1.8"
4
4
  end
data/lib/CoffeeTags.rb CHANGED
@@ -30,6 +30,28 @@ combine --vim-conf and --include-vars to create a config which adds '--include-v
30
30
  HELP
31
31
  }
32
32
  class Utils
33
+ def self.tagbar_conf include_vars
34
+ <<-CONF
35
+ " Add this type definition to your vimrc
36
+ " or do
37
+ " coffeetags --vim-conf >> <PATH TO YOUR VIMRC>
38
+ " if you want your tags to include vars/objects do:
39
+ " coffeetags --vim-conf --include-vars
40
+ let g:tagbar_type_coffee = {
41
+ \\ 'kinds' : [
42
+ \\ 'f:functions',
43
+ \\ 'o:object'
44
+ \\ ],
45
+ \\ 'kind2scope' : {
46
+ \\ 'f' : 'object',
47
+ \\ 'o' : 'object'
48
+ \\},
49
+ \\ 'sro' : ".",
50
+ \\ 'ctagsbin' : 'coffeetags',
51
+ \\ 'ctagsargs' : '#{include_vars ? "--include-vars" : "" } ',
52
+ \\}
53
+ CONF
54
+ end
33
55
 
34
56
  def self.option_parser args
35
57
  args = ['--version', '--help'] if args.empty?
@@ -60,6 +82,8 @@ HELP
60
82
 
61
83
 
62
84
  def self.run output, include_vars, files
85
+
86
+ files = [files] if files.is_a? String
63
87
  __out = if output.nil?
64
88
  STDOUT
65
89
  else
@@ -80,29 +104,9 @@ HELP
80
104
  __out << formatter.tags
81
105
  end
82
106
  __out.close if __out.respond_to? :close
83
- end
84
107
 
85
- def self.tagbar_conf include_vars
86
- <<-CONF
87
- " Add this type definition to your vimrc
88
- " or do
89
- " coffeetags --vim-conf >> <PATH TO YOUR VIMRC>
90
- " if you want your tags to include vars/objects do:
91
- " coffeetags --vim-conf --include-vars
92
- let g:tagbar_type_coffee = {
93
- \\ 'kinds' : [
94
- \\ 'f:functions',
95
- \\ 'o:object'
96
- \\ ],
97
- \\ 'kind2scope' : {
98
- \\ 'f' : 'object',
99
- \\ 'o' : 'object'
100
- \\},
101
- \\ 'sro' : ".",
102
- \\ 'ctagsbin' : 'coffeetags',
103
- \\ 'ctagsargs' : '#{include_vars ? "--include-vars" : "" } ',
104
- \\}
105
- CONF
108
+ __out.join("\n") if __out.is_a? Array
106
109
  end
110
+
107
111
  end
108
112
  end
@@ -1,4 +1,4 @@
1
- require 'lib/CoffeeTags'
1
+ require File.expand_path('lib/CoffeeTags')
2
2
  include Coffeetags
3
3
  describe Utils do
4
4
  context 'Argument parsing' do
@@ -59,4 +59,35 @@ FF
59
59
 
60
60
  end
61
61
 
62
+ context "Complete output" do
63
+ it "genrates tags for given file" do
64
+
65
+ files = "spec/fixtures/test.coffee"
66
+
67
+ output = "test.out"
68
+
69
+ Coffeetags::Utils.run output, nil, files
70
+
71
+ File.read("test.out").should == File.read("./spec/fixtures/out.test.ctags")
72
+
73
+ end
74
+
75
+
76
+ it "genrates tags for given files" do
77
+
78
+ files = [ "spec/fixtures/test.coffee", 'spec/fixtures/campfire.coffee']
79
+
80
+ output = "test.out"
81
+
82
+ Coffeetags::Utils.run output, nil, files
83
+
84
+ File.read("test.out").should == File.read("./spec/fixtures/out.test-two.ctags")
85
+
86
+ end
87
+ after :each do
88
+ STDERR << "DELETING!"
89
+ `rm test.out`
90
+ end
91
+ end
92
+
62
93
  end
@@ -0,0 +1,21 @@
1
+ !_TAG_FILE_FORMAT 2 /extended format/
2
+ !_TAG_FILE_SORTED 0 /0=unsorted, 1=sorted, 2=foldcase/
3
+ !_TAG_PROGRAM_AUTHOR Łukasz Korecki /lukasz@coffeesounds.com/
4
+ !_TAG_PROGRAM_NAME CoffeeTags //
5
+ !_TAG_PROGRAM_URL https://github.com/lukaszkorecki/CoffeeTags /GitHub repository/
6
+ !_TAG_PROGRAM_VERSION 0.0.1.7 //
7
+ bump spec/fixtures/test.coffee /bump/;" f lineno:1 object:window type:function
8
+ ho spec/fixtures/test.coffee /ho/;" f lineno:5 object:Wat type:function
9
+ bump spec/fixtures/test.coffee /bump/;" f lineno:10 object:Wat.ho.@lolWat type:function
10
+ bump_up spec/fixtures/test.coffee /bump_up/;" f lineno:12 object:Wat.ho.@lolWat type:function
11
+ @filter spec/fixtures/test.coffee /@filter/;" f lineno:14 object:Wat.ho type:function
12
+ _loop spec/fixtures/test.coffee /_loop/;" f lineno:19 object:window type:function
13
+ bound_func spec/fixtures/test.coffee /bound_func/;" f lineno:41 object:window type:function
14
+ constructor spec/fixtures/campfire.coffee /constructor/;" f lineno:8 object:Campfire type:function
15
+ handlers spec/fixtures/campfire.coffee /handlers/;" f lineno:14 object:Campfire type:function
16
+ onSuccess spec/fixtures/campfire.coffee /onSuccess/;" f lineno:16 object:Campfire.handlers.resp type:function
17
+ onFailure spec/fixtures/campfire.coffee /onFailure/;" f lineno:24 object:Campfire.handlers.resp type:function
18
+ rooms spec/fixtures/campfire.coffee /rooms/;" f lineno:29 object:Campfire type:function
19
+ roomInfo spec/fixtures/campfire.coffee /roomInfo/;" f lineno:34 object:Campfire type:function
20
+ recent spec/fixtures/campfire.coffee /recent/;" f lineno:40 object:Campfire type:function
21
+ bump spec/fixtures/campfire.coffee /bump/;" f lineno:46 object:Test type:function
@@ -0,0 +1,13 @@
1
+ !_TAG_FILE_FORMAT 2 /extended format/
2
+ !_TAG_FILE_SORTED 0 /0=unsorted, 1=sorted, 2=foldcase/
3
+ !_TAG_PROGRAM_AUTHOR Łukasz Korecki /lukasz@coffeesounds.com/
4
+ !_TAG_PROGRAM_NAME CoffeeTags //
5
+ !_TAG_PROGRAM_URL https://github.com/lukaszkorecki/CoffeeTags /GitHub repository/
6
+ !_TAG_PROGRAM_VERSION 0.0.1.7 //
7
+ bump spec/fixtures/test.coffee /bump/;" f lineno:1 object:window type:function
8
+ ho spec/fixtures/test.coffee /ho/;" f lineno:5 object:Wat type:function
9
+ bump spec/fixtures/test.coffee /bump/;" f lineno:10 object:Wat.ho.@lolWat type:function
10
+ bump_up spec/fixtures/test.coffee /bump_up/;" f lineno:12 object:Wat.ho.@lolWat type:function
11
+ @filter spec/fixtures/test.coffee /@filter/;" f lineno:14 object:Wat.ho type:function
12
+ _loop spec/fixtures/test.coffee /_loop/;" f lineno:19 object:window type:function
13
+ bound_func spec/fixtures/test.coffee /bound_func/;" f lineno:41 object:window type:function
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: CoffeeTags
3
3
  version: !ruby/object:Gem::Version
4
- hash: 69
4
+ hash: 91
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
9
  - 1
10
- - 7
11
- version: 0.0.1.7
10
+ - 8
11
+ version: 0.0.1.8
12
12
  platform: ruby
13
13
  authors:
14
14
  - "\xC5\x81ukasz Korecki"
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-10-12 00:00:00 +02:00
19
+ date: 2012-01-02 00:00:00 +00:00
20
20
  default_executable:
21
21
  dependencies: []
22
22
 
@@ -32,6 +32,7 @@ extra_rdoc_files: []
32
32
  files:
33
33
  - .gitignore
34
34
  - .rvmrc
35
+ - .travis.yml
35
36
  - CoffeeTags.gemspec
36
37
  - Gemfile
37
38
  - Guardfile
@@ -46,6 +47,8 @@ files:
46
47
  - spec/fixtures/campfire.coffee
47
48
  - spec/fixtures/campfire.js
48
49
  - spec/fixtures/campfire.js.tags
50
+ - spec/fixtures/out.test-two.ctags
51
+ - spec/fixtures/out.test.ctags
49
52
  - spec/fixtures/test.coffee
50
53
  - spec/fixtures/test_tree.yaml
51
54
  - spec/fixtures/tree.yaml
@@ -91,6 +94,8 @@ test_files:
91
94
  - spec/fixtures/campfire.coffee
92
95
  - spec/fixtures/campfire.js
93
96
  - spec/fixtures/campfire.js.tags
97
+ - spec/fixtures/out.test-two.ctags
98
+ - spec/fixtures/out.test.ctags
94
99
  - spec/fixtures/test.coffee
95
100
  - spec/fixtures/test_tree.yaml
96
101
  - spec/fixtures/tree.yaml