/usr/share/perl5/auto/Term/ReadLine/Zoid/ViCommand/vi_complete.al is in libterm-readline-zoid-perl 0.07-2.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # NOTE: Derived from lib/Term/ReadLine/Zoid/ViCommand.pm.
# Changes made here will be lost when autosplit is run again.
# See AutoSplit.pm.
package Term::ReadLine::Zoid::ViCommand;
#line 289 "lib/Term/ReadLine/Zoid/ViCommand.pm (autosplit into blib/lib/auto/Term/ReadLine/Zoid/ViCommand/vi_complete.al)"
sub vi_complete {
my ($self, $key) = @_;
return $self->possible_completions() if $key eq '=';
my $buffer = join "\n", @{$$self{lines}};
my $begin = substr $buffer, 0, $self->pos2off($$self{pos}), '';
$begin =~ s/(\S*)$//;
my $glob = $1;
$$self{pos}[0] -= length $1;
use File::Glob ':glob';
$glob .= '*' unless $glob =~ /[\*\?\[]/;
my @list = bsd_glob($glob, GLOB_TILDE | GLOB_BRACE);
my $string;
if ($key eq '\\') {
@list = $self->longest_match(@list);
$string = shift(@list);
$self->output(@list);
}
elsif ($key eq '*') { $string = join ' ', @list }
$$self{pos}[0] += length $string;
@{$$self{lines}} = split /\n/, $begin . $string . $buffer;
$self->switch_mode() if $key eq '*';
}
# end of Term::ReadLine::Zoid::ViCommand::vi_complete
1;
|