CoffeeTags 0.1.7 → 0.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA512:
3
- data.tar.gz: 6ee24af2dd8c15390bc9b048cd457a2b71cf56f9bb0713a1bb63939a798c28c858d727598339c6dc2fe4b817d678bcb3b27c5ab3e4973c81ca803ffd39807844
4
- metadata.gz: 1789f5571bfb2dc03298b58f9b09a0f385f1111dffdce7263e492aa4f0929cc8e429512eaefde3472bec0ef73a0c310ecee35fb9f959f43f00a2653489c2da96
3
+ metadata.gz: 91f1d33e4b9f60700b8ad9f8c08623dc40c4430261779c8f96af4727ff8c9c2f7b61747f8c2e6554c47d14cdd8a4dec31cd3e7a74484ea9c835386fcb056902f
4
+ data.tar.gz: 2ca1695728468889e80d42e6af100d5be7529ca4d35c7427e908861f5c5aafdcffbe3c0a342a783031b205a2da78e745f903320c9a5284f01b408c537218c01f
5
5
  SHA1:
6
- data.tar.gz: e8a6231fd6be1aeab2c16585f4cc31ee0aef9933
7
- metadata.gz: 000e886c5bb3b70edab1dfd8b20d455a7a55e85c
6
+ metadata.gz: 09f5e25db80c8a227e51a6c0e17014419c7c5e73
7
+ data.tar.gz: 36379f4c63b53f19c6864533135ab9b4e7bb1950
data/.gitignore CHANGED
@@ -5,3 +5,4 @@ pkg/*
5
5
  vendor
6
6
  testout/
7
7
  test.out
8
+ tags
data/README.md CHANGED
@@ -1,12 +1,11 @@
1
1
  # CoffeeTags
2
2
 
3
- ### Latest version: `0.1.7`
3
+ ### Latest version: `0.2.1`
4
4
 
5
5
  A simple tool for generating CoffeeScript tags (Ctags compatible).
6
6
 
7
7
  [![Build Status](https://secure.travis-ci.org/lukaszkorecki/CoffeeTags.png?branch=master)](http://travis-ci.org/lukaszkorecki/CoffeeTags)
8
8
 
9
-
10
9
  ### [Watch a quick demo](http://ascii.io/a/26)
11
10
 
12
11
  ### Example + Screenshot
@@ -38,23 +37,46 @@ will generate standard TAGS file which later can be used with Vim (standard `:ta
38
37
 
39
38
  Just use `coffeetags --help`
40
39
 
41
- # Installation
40
+ # Ruby Gem
41
+
42
+ ## Installation
43
+
44
+ `gem install CoffeeTags`
45
+
46
+ ## Usage
47
+
48
+ `$ coffeetags --help`
49
+
50
+ # Vim
51
+
52
+ This can also be used as a vim plugin that will update tag files on save, and support visualization with [TagBar](https://github.com/majutsushi/tagbar). You will still need to install the gem as described above as well as install the plugin to vim. You can install it via:
42
53
 
43
- * get `coffeetags`
54
+ ## Install
44
55
 
45
- `gem install CoffeeTags`
56
+ * [Pathogen](https://github.com/tpope/vim-pathogen)
57
+ * `git clone https://github.com/lukaszkorecki/CoffeeTags ~/.vim/bundle/CoffeeTags`
58
+ * [NeoBundle](https://github.com/Shougo/neobundle.vim)
59
+ * `NeoBundle 'lukaszkorecki/CoffeeTags'`
60
+ * [Vundle](https://github.com/gmarik/vundle)
61
+ * `Bundle 'lukaszkorecki/CoffeeTags'`
62
+ * manual
63
+ * copy all of the files into your `~/.vim` directory
46
64
 
65
+ ## Configuration
47
66
 
48
- ## Vim installation
49
- * add TagBar config to your .vimrc
67
+ In you `~/.vimrc` you can configure the plugin with:
50
68
 
51
- `coffeetags --vim-conf >> ~/.vimrc`
69
+ ```
70
+ let g:CoffeeAutoDisabled=<0 or 1> " Disables autotaging on save (Default: 0 [false])
71
+ let g:CoffeeAutoTagFile=<filename> " Name of the generated tag file (Default: ./tags)
72
+ let g:CoffeeAutoTagIncludeVars=<0 or 1> " Includes variables (Default: 0 [false])
73
+ let g:CoffeeAutoTagTagRelative=<0 or 1> " Sets file names to the relative path from the tag file location to the tag file location (Default: 1 [true])
74
+ ```
52
75
 
53
76
  ## Sublime Text
54
77
 
55
78
  *TODO* - I don't use ST myself, but PRs with HOWTO are welcomed
56
79
 
57
-
58
80
  ## Config types
59
81
 
60
82
  CoffeeTags can work in 2 modes:
@@ -64,49 +86,13 @@ CoffeeTags can work in 2 modes:
64
86
 
65
87
  Second mode is activated by adding `--include-vars` to command line arguments
66
88
 
67
- # CoffeeTags + TagBar + Vim
68
-
69
- ## Config in vimrc
70
-
71
- You can add the config to your .vimrc (making sure that the old one is removed)
72
- by:
73
-
74
- coffeetags --vim-conf >> ~/.vimrc
75
-
76
- or (for 2nd mode)
77
-
78
- coffeetags --include-vars --vim-conf >> ~/.vimrc
79
-
80
-
81
- ## Config as a filetype plugin
82
-
83
- You can generate a special filetype plugin and tagbar will use that
84
- automatically.
85
-
86
- This option is preferable if you want to keep your vimrc short.
87
-
88
- coffeetags --vim-conf > ~/.vim/ftplugin/coffee/tagbar-coffee.vim
89
- coffeetags [--include-vars] --vim-conf > ~/.vim/ftplugin/coffee/tagbar-coffee.vim
90
-
91
- or if you're using pathogen
92
-
93
- coffeetags [--include-vars] --vim-conf > ~/.vim/bundle/coffeetags/ftplugin/coffee/tagbar-coffee.vim
94
- coffeetags --vim-conf > ~/.vim/bundle/coffeetags/ftplugin/coffee/tagbar-coffee.vim
95
-
96
-
97
- * open your coffeescript file and open TagBar.
98
-
99
- Done!
100
-
101
89
  # TODO
102
90
 
103
91
  - squash all bugs
104
92
 
105
-
106
93
  # License
107
94
 
108
95
  MIT
109
96
 
110
-
111
97
  [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/lukaszkorecki/coffeetags/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
112
98
 
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module Coffeetags
3
- VERSION = "0.1.7"
3
+ VERSION = "0.2.1"
4
4
  end
data/lib/CoffeeTags.rb CHANGED
@@ -22,14 +22,6 @@ module Coffeetags
22
22
  URL = "https://github.com/lukaszkorecki/CoffeeTags"
23
23
 
24
24
  class Utils
25
- def self.tagbar_conf include_vars
26
- include_vars_opt = include_vars ? "--include-vars" : ''
27
-
28
- tmpl_file = File.read(File.expand_path("../../vim/tagbar-coffee.vim.erb", __FILE__))
29
- tmpl = ERB.new(tmpl_file)
30
-
31
- tmpl.result(binding)
32
- end
33
25
 
34
26
  def self.option_parser args
35
27
  args << '-h' if args.empty?
@@ -69,11 +61,6 @@ module Coffeetags
69
61
  options[:tag_relative] = true
70
62
  end
71
63
 
72
- opts.on('--vim-conf', 'Generate TagBar config (more info https://gist.github.com/1935512 )') do
73
- puts tagbar_conf options[:include_vars]
74
- exit
75
- end
76
-
77
64
  opts.on('-v', '--version', 'Current version') do
78
65
  puts Coffeetags::VERSION
79
66
  exit
@@ -0,0 +1,82 @@
1
+ if exists("g:loaded_coffee_autotag")
2
+ finish
3
+ endif
4
+
5
+ let g:loaded_coffee_autotag=1
6
+
7
+ if !has("ruby")
8
+ echohl WarningMsg
9
+ echo "Coffee auto tag requires Vim to be compiled with Ruby support"
10
+ echohl none
11
+ finish
12
+ endif
13
+
14
+ let s:CoffeeAutoTagFile="./tags"
15
+ let s:CoffeeAutoTagIncludeVars=0
16
+ let s:CoffeeAutoTagTagRelative=1
17
+
18
+ if !exists("g:CoffeeAutoTagDisabled")
19
+ let g:CoffeeAutoTagDisabled = 0
20
+ endif
21
+
22
+ if exists("g:CoffeeAutoTagFile")
23
+ let s:CoffeeAutoTagFile = g:CoffeeAutoTagFile
24
+ endif
25
+
26
+ if exists("g:CoffeeAutoTagIncludeVars")
27
+ let s:CoffeeAutoTagIncludeVars = g:CoffeeAutoTagIncludeVars
28
+ endif
29
+
30
+ if exists("g:CoffeeAutoTagTagRelative")
31
+ let s:CoffeeAutoTagTagRelative = g:CoffeeAutoTagTagRelative
32
+ endif
33
+
34
+ if s:CoffeeAutoTagIncludeVars
35
+ let s:raw_args="--include-vars"
36
+ else
37
+ let s:raw_args=""
38
+ endif
39
+
40
+ let g:tagbar_type_coffee = {
41
+ \ 'ctagsbin' : 'coffeetags',
42
+ \ 'ctagsargs' : s:raw_args,
43
+ \ 'kinds' : [
44
+ \ 'f:functions',
45
+ \ 'o:object',
46
+ \ ],
47
+ \ 'sro' : ".",
48
+ \ 'kind2scope' : {
49
+ \ 'f' : 'object',
50
+ \ 'o' : 'object',
51
+ \ }
52
+ \ }
53
+
54
+
55
+ function! CoffeeAutoTag()
56
+ if g:CoffeeAutoTagDisabled
57
+ finish
58
+ endif
59
+
60
+ let cmd = 'coffeetags --append -f ' . s:CoffeeAutoTagFile . ' '
61
+
62
+ if s:CoffeeAutoTagIncludeVars
63
+ let cmd .= '--include-vars '
64
+ endif
65
+
66
+ if s:CoffeeAutoTagTagRelative
67
+ let cmd .= '--tag-relative '
68
+ endif
69
+
70
+ let cmd .= expand("%:p")
71
+
72
+ let output = system(cmd)
73
+
74
+ if exists(":TlistUpdate")
75
+ TlistUpdate
76
+ endif
77
+ endfunction
78
+
79
+ augroup CoffeeAutoTag
80
+ au!
81
+ autocmd BufWritePost,FileWritePost *.coffee call CoffeeAutoTag()
82
+ augroup END
@@ -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.1.7 //
6
+ !_TAG_PROGRAM_VERSION 0.2.1 //
7
7
  @filter spec/fixtures/test.coffee /^ @filter = ->$/;" f lineno:14 object:Wat.ho type:function
8
8
  _loop spec/fixtures/test.coffee /^_loop = (x) ->$/;" f lineno:19 object:window type:function
9
9
  baz spec/fixtures/blockcomment.coffee /^baz : (x, y) ->$/;" f lineno:15 object:window type:function
@@ -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.1.7 //
7
- !_TAG_PROGRAM_VERSION 0.1.7 //
6
+ !_TAG_PROGRAM_VERSION 0.2.1 //
7
+ !_TAG_PROGRAM_VERSION 0.2.1 //
8
8
  !_THIS_LINE_SHOULD_GET_REMOVED Nothing to see here //
9
9
  @filter spec/fixtures/test.coffee /^ @filter = ->$/;" f lineno:14 object:Wat.ho type:function
10
10
  _loop spec/fixtures/test.coffee /^_loop = (x) ->$/;" f lineno:19 object:window type:function
@@ -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.1.7 //
6
+ !_TAG_PROGRAM_VERSION 0.2.1 //
7
7
  baz spec/fixtures/blockcomment.coffee /^baz : (x, y) ->$/;" f lineno:15 object:window type:function
8
8
  echo2 spec/fixtures/blockcomment.coffee /^echo2 :-> console.log 'echo'$/;" f lineno:7 object:window type:function
9
9
  echo3 spec/fixtures/blockcomment.coffee /^echo3 :-> console.log 'echo'$/;" f lineno:23 object:window type:function
@@ -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.1.7 //
6
+ !_TAG_PROGRAM_VERSION 0.2.1 //
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,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.1.7 //
7
- !_TAG_PROGRAM_VERSION 0.1.7 //
6
+ !_TAG_PROGRAM_VERSION 0.2.1 //
7
+ !_TAG_PROGRAM_VERSION 0.2.1 //
8
8
  !_THIS_LINE_SHOULD_GET_REMOVED Nothing to see here //
9
9
  @filter ../spec/fixtures/test.coffee /^ @filter = ->$/;" f lineno:14 object:Wat.ho type:function
10
10
  _loop ../spec/fixtures/test.coffee /^_loop = (x) ->$/;" f lineno:19 object:window type:function
@@ -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.1.7 //
6
+ !_TAG_PROGRAM_VERSION 0.2.1 //
7
7
  @filter ../spec/fixtures/test.coffee /^ @filter = ->$/;" f lineno:14 object:Wat.ho type:function
8
8
  _loop ../spec/fixtures/test.coffee /^_loop = (x) ->$/;" f lineno:19 object:window type:function
9
9
  beam_magnum ../spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f lineno:44 object:window type:function
@@ -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.1.7 //
6
+ !_TAG_PROGRAM_VERSION 0.2.1 //
7
7
  @filter spec/fixtures/test.coffee /^ @filter = ->$/;" f lineno:14 object:Wat.ho type:function
8
8
  _loop spec/fixtures/test.coffee /^_loop = (x) ->$/;" f lineno:19 object:window type:function
9
9
  beam_magnum spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f lineno:44 object:window type:function
@@ -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.1.7 //
6
+ !_TAG_PROGRAM_VERSION 0.2.1 //
7
7
  @filter spec/fixtures/test.coffee /^ @filter = ->$/;" f lineno:14 object:Wat.ho type:function
8
8
  _loop spec/fixtures/test.coffee /^_loop = (x) ->$/;" f lineno:19 object:window type:function
9
9
  beam_magnum spec/fixtures/test.coffee /^beam_magnum : -> deployed(true)$/;" f lineno:44 object:window type:function
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.1.7
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - "\xC5\x81ukasz Korecki"
@@ -38,6 +38,7 @@ files:
38
38
  - lib/CoffeeTags/formatter.rb
39
39
  - lib/CoffeeTags/parser.rb
40
40
  - lib/CoffeeTags/version.rb
41
+ - plugin/coffee-autotag.vim
41
42
  - spec/coffeetags_spec.rb
42
43
  - spec/fixtures/append-expected.ctags
43
44
  - spec/fixtures/append.ctags
@@ -61,7 +62,6 @@ files:
61
62
  - spec/spec_helper.rb
62
63
  - tagbar-info.markdown
63
64
  - test.rb
64
- - vim/tagbar-coffee.vim.erb
65
65
  homepage: http://github.com/lukaszkorecki/CoffeeTags
66
66
  licenses:
67
67
  - MIT
@@ -1,15 +0,0 @@
1
- if executable('coffeetags')
2
- let g:tagbar_type_coffee = {
3
- \ 'ctagsbin' : 'coffeetags',
4
- \ 'ctagsargs' : '<%= include_vars_opt %>',
5
- \ 'kinds' : [
6
- \ 'f:functions',
7
- \ 'o:object',
8
- \ ],
9
- \ 'sro' : ".",
10
- \ 'kind2scope' : {
11
- \ 'f' : 'object',
12
- \ 'o' : 'object',
13
- \ }
14
- \ }
15
- endif