NAME
Vim::Tag - Generate perl tags for vim
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.
BUGS AND LIMITATIONS
No bugs have been reported.
Please report any bugs or feature requests through the web interface at http://rt.cpan.org.
INSTALLATION
See perlmodinstall for information and options on installing Perl modules.
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/.
AUTHORS
Marcel Grünauer, <marcel@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2008-2010 by Marcel Grünauer
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.