NAME

Vim::Tag - Generate perl tags for vim

VERSION

version 1.100880

SYNOPSIS

$ ptags --use ~/code/coderepos -o ~/.ptags

In .vimrc:

set tags+=~/.ptags

then this works in vim:

:ta Foo::Bar
:ta my_subroutine

bash completion:

alias vit='vi -t'
_ptags()
{
    COMPREPLY=( $(grep -h ^${COMP_WORDS[COMP_CWORD]} ~/.ptags | cut -f 1) )
    return 0
}
complete -F _ptags vit

then you can do:

$ vit Foo::Bar
$ vit Foo--Bar     # easier to complete on than double-colons
$ vit my_subroutine

Custom tag generation

package Foo::Bar;

$::PTAGS && $::PTAGS->add_tag($tag, $filename, $line);

DESCRIPTION

Manage tags for perl code in vim, with ideas on integrating tags with the bash programmable completion project. See the synopsis.

You should subclass this class to use it in your ptags-generating application. It could be as simple as that:

#!/usr/bin/env perl
use warnings;
use strict;
use base qw(Vim::Tag);
main->new->run;

And if you want just that, there's the ptags program. But it is more interesting to extend this with custom aliases and to have your modules generate custom tags and so on. The documentation on those features is a bit sparse at the moment, but take a look in this distribution's examples/ directory.

METHODS

add_tag

Takes a tag name, a filename and a 'search' argument that can either be a line number which caused the tag, or a vim search pattern which will jump to the tag. It will add the tag to the tags hash.

add_SUPER_tags

FIXME

add_yaml_marshall_tags

FIXME

delete_tags_by_pattern

FIXME

determine_libs

FIXME

fill_filename_placeholders

FIXME

finalize

FIXME

generate_tags

FIXME

get_filename

FIXME

make_package_tag

FIXME

make_tag_aliases

FIXME

process_pm_file

FIXME

process_pod_file

FIXME

run

FIXME

setup_fake_package

FIXME

verbose_warn

FIXME

write_tags

FIXME

INSTALLATION

See perlmodinstall for information and options on installing Perl modules.

BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests through the web interface at http://rt.cpan.org/Public/Dist/Display.html?Name=Vim-Tag.

AVAILABILITY

The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit http://www.perl.com/CPAN/ to find a CPAN site near you, or see http://search.cpan.org/dist/Vim-Tag/.

The development version lives at http://github.com/hanekomu/Vim-Tag/. Instead of sending patches, please fork this project using the standard git and github infrastructure.

AUTHOR

Marcel Gruenauer <marcel@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2008 by Marcel Gruenauer.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.