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
2025
2026
 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.