gem-ctags 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -1,10 +1,10 @@
1
1
  RubyGems Automatic Ctags Invoker
2
2
  ================================
3
3
 
4
- Nary a day of Ruby development goes by where I don't run either
5
- `gem open`. And when I do, I want tags. As good as I've gotten at
6
- `ctags -R .`, I've grown weary of it. So I wrote a RubyGems plugin to
7
- automatically invoke Ctags every time a Gem is installed.
4
+ Nary a day of Ruby development goes by where I don't run `gem open`.
5
+ And when I do, I want tags. As good as I've gotten at `ctags -R .`,
6
+ I've grown weary of it. So I wrote a RubyGems plugin to automatically
7
+ invoke Ctags every time a Gem is installed.
8
8
 
9
9
  Installation
10
10
  ------------
@@ -21,7 +21,11 @@ If you're using RVM, I recommend extending your global gemset:
21
21
  To generate tags for all previously installed gems that don't already
22
22
  have a `tags` file, run `gem ctags`. (If it blows up, upgrade
23
23
  RubyGems.) Future gems will be handled automatically and silently, with
24
- the sad exception of those installed by Bundler.
24
+ the sad exception of those installed by Bundler (see
25
+ [this issue](https://github.com/carlhuda/bundler/pull/1364)).
26
+ Temporary workaround:
27
+
28
+ echo Gem.load_plugins >> "$(gem which bundler/cli)"
25
29
 
26
30
  Vim Tips
27
31
  --------
@@ -30,6 +34,9 @@ If you have [rake.vim][] installed (which, by the way, is a misleading
30
34
  name), Vim will already know where to look for the tags file when
31
35
  editing a gem.
32
36
 
37
+ If you have [bundler.vim][] installed, Vim will be aware of all tags
38
+ files from all gems in your bundle.
39
+
33
40
  If you want to get crazy, add this to your vimrc to get Vim to search
34
41
  all gems in your current RVM gemset (requires [pathogen.vim][]):
35
42
 
@@ -53,5 +60,6 @@ License
53
60
  Copyright (c) Tim Pope. MIT License.
54
61
 
55
62
  [Exuberant Ctags]: http://ctags.sourceforge.net/
63
+ [bundler.vim]: https://github.com/tpope/vim-bundler
56
64
  [pathogen.vim]: https://github.com/tpope/vim-pathogen
57
65
  [rake.vim]: https://github.com/tpope/vim-rake
data/gem-ctags.gemspec CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "gem-ctags"
6
- s.version = "1.0.0"
6
+ s.version = "1.0.1"
7
7
  s.authors = ["Tim Pope"]
8
8
  s.email = ["ruby@tpop"+'e.org']
9
9
  s.homepage = "https://github.com/tpope/gem-ctags"
@@ -13,4 +13,6 @@ Gem::Specification.new do |s|
13
13
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
14
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
15
15
  s.require_paths = ["lib"]
16
+
17
+ s.add_development_dependency('rake')
16
18
  end
@@ -7,11 +7,18 @@ class Gem::Commands::CtagsCommand < Gem::Command
7
7
 
8
8
  def execute
9
9
  Gem::Specification.each do |spec|
10
- Dir.chdir(spec.full_gem_path) do
11
- unless File.exist?('tags')
12
- say "Generating ctags for #{spec.full_name}"
13
- system('ctags', '-R', *spec.require_paths)
14
- end
10
+ self.class.index(spec) do
11
+ say "Generating ctags for #{spec.full_name}"
12
+ end
13
+ end
14
+ end
15
+
16
+ def self.index(spec)
17
+ Dir.chdir(spec.full_gem_path) do
18
+ unless File.exist?('tags')
19
+ yield if block_given?
20
+ paths = spec.require_paths.select { |p| File.directory?(p) }
21
+ system('ctags', '-R', '--languages=ruby', *paths)
15
22
  end
16
23
  end
17
24
  end
@@ -3,7 +3,6 @@ require 'rubygems/command_manager'
3
3
  Gem::CommandManager.instance.register_command :ctags
4
4
 
5
5
  Gem.post_install do |installer|
6
- Dir.chdir(installer.spec.full_gem_path) do
7
- system('ctags', '-R', *installer.spec.require_paths)
8
- end
6
+ require 'rubygems/commands/ctags_command'
7
+ Gem::Commands::CtagsCommand.index(installer.spec)
9
8
  end
metadata CHANGED
@@ -1,23 +1,39 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: gem-ctags
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.0
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 1.0.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Tim Pope
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-11 00:00:00.000000000Z
13
- dependencies: []
12
+
13
+ date: 2011-08-23 00:00:00 -04:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rake
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0"
25
+ type: :development
26
+ version_requirements: *id001
14
27
  description:
15
- email:
28
+ email:
16
29
  - ruby@tpope.org
17
30
  executables: []
31
+
18
32
  extensions: []
33
+
19
34
  extra_rdoc_files: []
20
- files:
35
+
36
+ files:
21
37
  - .gitignore
22
38
  - Gemfile
23
39
  - MIT-LICENSE
@@ -26,28 +42,33 @@ files:
26
42
  - gem-ctags.gemspec
27
43
  - lib/rubygems/commands/ctags_command.rb
28
44
  - lib/rubygems_plugin.rb
45
+ has_rdoc: true
29
46
  homepage: https://github.com/tpope/gem-ctags
30
47
  licenses: []
48
+
31
49
  post_install_message:
32
50
  rdoc_options: []
33
- require_paths:
51
+
52
+ require_paths:
34
53
  - lib
35
- required_ruby_version: !ruby/object:Gem::Requirement
54
+ required_ruby_version: !ruby/object:Gem::Requirement
36
55
  none: false
37
- requirements:
38
- - - ! '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- required_rubygems_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: "0"
60
+ required_rubygems_version: !ruby/object:Gem::Requirement
42
61
  none: false
43
- requirements:
44
- - - ! '>='
45
- - !ruby/object:Gem::Version
46
- version: '0'
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: "0"
47
66
  requirements: []
67
+
48
68
  rubyforge_project:
49
- rubygems_version: 1.8.7
69
+ rubygems_version: 1.6.2
50
70
  signing_key:
51
71
  specification_version: 3
52
72
  summary: Automatic ctags generation on gem install
53
73
  test_files: []
74
+