Changeset 4fbc7f5
- Timestamp:
- Jul 29, 2009, 9:41:44 PM (15 years ago)
- Branches:
- master, release-1.10, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- 747d6a5
- Parents:
- e711ca7
- git-author:
- Nelson Elhage <nelhage@mit.edu> (07/29/09 21:30:43)
- git-committer:
- Nelson Elhage <nelhage@mit.edu> (07/29/09 21:41:44)
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
perl/lib/BarnOwl/Completion/Util.pm
re711ca7 r4fbc7f5 19 19 my $flag = undef; 20 20 21 my $ word= 0;21 my $argct = 0; 22 22 my $optsdone = 0; 23 23 … … 35 35 $word = "-" . substr($word, -1); 36 36 $flag = $word if(exists $args->{$word}); 37 } else { 38 $argct++; 37 39 } 38 40 $idx++; … … 47 49 } else { 48 50 return ($optsdone ? () : (@$no_args, keys %$args), 49 $default ? ($default->($ctx )) : ());51 $default ? ($default->($ctx, $argct)) : ()); 50 52 } 51 53 } -
t/completion.t
re711ca7 r4fbc7f5 146 146 my $after = shift; 147 147 my $words = shift; 148 my $complete = shift || \&complete_zwrite; 148 149 149 150 my $ctx = BarnOwl::Completion::Context->new($before, $after); … … 151 152 local $Test::Builder::Level = $Test::Builder::Level + 1; 152 153 153 my @got = complete_zwrite($ctx);154 my @got = $complete->($ctx); 154 155 is_deeply([sort @got], [sort @$words]); 155 156 } … … 170 171 [qw(nelhage asedeno geofft)]); 171 172 173 sub complete_word { 174 my $ctx = shift; 175 return complete_flags($ctx, 176 [qw(-a -b -c)], 177 { 178 "-d" => sub {qw(some words for completing)}, 179 }, 180 sub {$_[1]}); 181 } 182 183 test_complete('cmd -a -d foo -c hello ','', 184 [qw(-a -b -c -d 1)], \&complete_word); 185 186 test_complete('cmd -a -d foo -c ','', 187 [qw(-a -b -c -d 0)], \&complete_word); 188 172 189 1; 173 190
Note: See TracChangeset
for help on using the changeset viewer.