Provided by: libgetopt-complete-perl_0.26-1_all
NAME
Getopt::Complete::Compgen - standard tab-completion callbacks
VERSION
This document describes Getopt::Complete::Compgen 0.26.
SYNOPSIS
# A completion spec can use any of the following, specified by a single # word, or a single character, automatically: use Getopt::Complete( 'myfile' => 'files', # or 'f' 'mydir' => 'directories', # or 'd' 'mycommand' => 'commands', # or 'c' 'myuser' => 'users', # or 'u' 'mygroup' => 'groups', # or 'd' 'myenv' => 'environment', # or 'e' 'myservice' => 'services', # or 's' 'myalias' => 'aliases', # or 'a' 'mybuiltin' => 'builtins' # or 'b' );
DESCRIPTION
This module contains subroutines which can be used as callbacks with Getopt::Complete, and which implement all of the standard completions supported by the bash "compgen" builtin. Running "compgen -o files abc" will produce the completion list as though the user typed "abc<TAB>", with the presumption the user is attempting to complete file names. This module provides a subroutine names "files", with an alias named "f", which returns the same list. The subroutine is suitable for use in a callback in a Getopt::Complete competion specification. It does the equivalent for directories, executable commands, users, groups, environment variables, services, aliases and shell builtins. These are the same: @matches = Getopt::Complete::Compgen::files("whatevercommand","abc","whateverparam",$whatever_other_args); @same = `bash -c "compgen -f sometext"`; chomp @same; These are equivalent in any spec: \&Getopt::Complete::Compgen::files \&Getopt;:Complete::Compgen::f 'Getopt::Complete::Compgen::files' 'Getopt;:Complete::Compgen::f' 'files' 'f'
SEE ALSO
Getopt::Complete The manual page for bash details the bash built-in command "compgen", which this wraps.
COPYRIGHT
Copyright 2010 Scott Smith and Washington University School of Medicine
AUTHORS
Scott Smith (sakoht at cpan .org)
LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module.