
TextMate::JumpTo - Tell TextMate to jump to a particular file, line

This document describes TextMate::JumpTo version 0.07

use TextMate::JumpTo qw(jumpto tm_location);
jumpto( file => 'mysrc.pl', line => 123 );
my $textmate_link = tm_location( file => 'foo.t', line => 12 );

On Mac OS The TextMate editor handles urls of the form
txmt://open?url=file://somefile.pl&line=100
which cause it to jump to the file, line and column specified by the arguments. This module is a simple wrapper which uses the Mac OS 'open' command to send TextMate to the specified location.
I use it in my ~/.perldb to have TextMate track the current debugger position. Here's what it looks like:
$ cat ~/.perldb
use TextMate::JumpTo qw(jumpto);
use File::Spec;
sub afterinit {
$trace |= 4; # Enable watchfunction
# Needed to work out where filenames are relative to
chomp( $base_dir = `pwd` );
$option{animate} = 0;
push @options, 'animate';
}
sub watchfunction {
my ( $package, $file, $line ) = @_;
return unless $DB::single || $option{animate};
local $trace = 0;
if ( $file =~ /^\(eval\s+\d+\)\[(.+?):(\d+)\]/ ) {
$file = $1;
$line += $2 - 1;
}
$file = File::Spec->rel2abs( $file, $base_dir );
jumpto( file => $file, line => $line, bg => 1 );
return 1;
}

jumptoInstruct TextMate to jump to the specified file, line and column. The arguments are a list of key, value pairs:
jumpto( file => 'splendid.pl', line => 12, column => 3 );
Possible arguments are:
fileThe path to the file to go to.
lineThe (one based) line number to go to.
columnThe (one based) column to go to.
bgTrue to leave TextMate in the background. By default a call to jumpto will bring TextMate to the foreground.
tm_locationGet a URL using the txmt: scheme that jumps to the specified location. Arguments as for jumpto with the exeception of the bg switch which makes no sense in this context.
my $loc = tm_location( file => 'humbile.pm', line => 42 );

TextMate::JumpTo requires no configuration files or environment variables.

None.

None reported.

No bugs have been reported.
Please report any bugs or feature requests to bug-textmate-jumpto@rt.cpan.org, or through the web interface at http://rt.cpan.org.

Andy Armstrong <andy@hexten.net>

Copyright (c) 2008, Andy Armstrong <andy@hexten.net>.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.