Sha256: 888cff20e312b65d6a1fb990b70fb046623008a4ecccabf2504dfb016ed7cbae

Contents?: true

Size: 641 Bytes

Versions: 6

Compression:

Stored size: 641 Bytes

Contents

module Overcommit::Hook::PostCheckout
  # Scans source code each time HEAD changes to generate an up-to-date index of
  # all function/variable definitions, etc.
  class IndexTags < Base
    def run
      unless in_path?('ctags')
        return :good # Silently ignore
      end

      index_tags_in_background

      :good
    end

  private

    SCRIPT_LOCATION = Overcommit::Utils.script_path('index-tags')

    def index_tags_in_background
      ctags_args = @config['ctags_arguments']

      # TODO: come up with Ruby 1.8-friendly way to do this
      Process.detach(Process.spawn("#{SCRIPT_LOCATION} #{ctags_args}"))
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
overcommit-0.14.1 lib/overcommit/hook/post_checkout/index_tags.rb
overcommit-0.14.0 lib/overcommit/hook/post_checkout/index_tags.rb
overcommit-0.13.0 lib/overcommit/hook/post_checkout/index_tags.rb
overcommit-0.12.0 lib/overcommit/hook/post_checkout/index_tags.rb
overcommit-0.11.1 lib/overcommit/hook/post_checkout/index_tags.rb
overcommit-0.11.0 lib/overcommit/hook/post_checkout/index_tags.rb