No commit activity in last 3 years
No release in over 3 years
Guard::CtagsComposer uses ctags utility and generates 2 files: tags -- with tags generated from project's source tree and vendor.tags -- with tags generated from vendor folder.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 1.0.0
 Project Readme
Guard-CTags-Composer

=

Guard-CTags-Composer generates ctags for your PHP project and for vendor libs. For project tags file tags is generated, for vendor tags file gems.tags is generated.

Features

  • When you run composer install in your project, vendor.tags file is automatically is generated or updated.
  • When you save one of you project's php files, tags file is automatically generated or updated.

Install

Make sure you have Guard installed.

Install the gem:

$ gem install guard-ctags-composer

Add a basic setup to your Guardfile:

$ guard init ctags-composer

Usage

$ guard

For more info, read Guard usage doc

Guardfile Options

:src_path => ".", # source path to be scanned for tags (default `src`)
:vendor_path => ".", # source path to be scanned for vendor tags (default `vendor`)
:name_patterns => ["\\*.php", "\\*.yml"], # name patterns to search for (default `["\\*.php"]`)
:emacs => false, # run ctags in emacs mode and merge `tags` and `vendor.tags` into `TAGS` file

For a typical Symfony2 application, Guardfile can look like this (default):

guard 'ctags-composer', :src_path => ["src"], :vendor_path => ["vendor"] do
  watch(/^(src)\/.*\.php/)
  watch('composer.lock')
end

CTags

Ctags generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility. A tag signifies a language object for which an index entry is available (or, alternatively, the index entry created for that object).

In ubuntu you can install ctags by running

$ sudo apt-get install exuberant-ctags

Vim

Vim supports ctags by default. All you need to do is add your vendor.tags file to the Vim's tag stack.

set tags+=vendor.tags

Emacs

Ctags can be used with emacs too. Add :emacs => true option to your Guardfile and ctags will be generated with -e option:

guard 'ctags-composer', :emacs => true do
  watch(/^(src)\/.*\.php/)
  watch('composer.lock')
end

Fork

This version is a forked edition of guard-ctags-bundler gem.