aboutsummaryrefslogtreecommitdiffhomepage
path: root/share/completions/perl.fish
diff options
context:
space:
mode:
authorGravatar Konrad Borowski <glitchmr@myopera.com>2013-09-22 20:10:39 +0200
committerGravatar Konrad Borowski <glitchmr@myopera.com>2013-09-22 20:12:14 +0200
commitf76a16a727cf40beb1c79769ab06f9ee74fff509 (patch)
tree2961d4c62bbd13115c311ab8f718ef42449be6c7 /share/completions/perl.fish
parentf2a52378029f4d6068e874873c30f935e93a5216 (diff)
Add Perl modules completion.
Diffstat (limited to 'share/completions/perl.fish')
-rw-r--r--share/completions/perl.fish6
1 files changed, 4 insertions, 2 deletions
diff --git a/share/completions/perl.fish b/share/completions/perl.fish
index 4754f645..6266981d 100644
--- a/share/completions/perl.fish
+++ b/share/completions/perl.fish
@@ -1,6 +1,8 @@
begin
set -l unicode 'commandline | sgrep -qe "-[a-zA-Z]*C[a-zA-Z]*\$"'
set -l noopt 'commandline | not sgrep -qe "-[a-zA-Z]*C[a-zA-Z]*\$"'
+ set -l modules "(find (perl -lE'print for @INC') -name '*.pm' -printf '%P\n' \
+ | awk '{ gsub(\"/\", \"::\") } !/-/' RS=.pm\n | sort | uniq)"
complete -c perl -s 0 -n $noopt --description 'Specify record separator'
complete -c perl -s a -n $noopt --description 'Turn on autosplit mode'
complete -c perl -s c -n $noopt --description 'Check syntax'
@@ -26,8 +28,8 @@ begin
complete -c perl -s i -n $noopt -x --description 'Edit files in-place'
complete -c perl -s I -n $noopt -r --description 'Include path'
complete -c perl -s l -n $noopt --description 'Automatic line ending processing'
- complete -c perl -s m -n $noopt -x --description 'Require module'
- complete -c perl -s M -n $noopt -x --description 'Use module'
+ complete -c perl -s m -n $noopt -x --description 'Require module' -a $modules
+ complete -c perl -s M -n $noopt -x --description 'Use module' -a $modules
complete -c perl -s n -n $noopt --description 'Loop script'
complete -c perl -s p -n $noopt --description 'Loop script, print $_'
complete -c perl -s s -n $noopt --description 'Define custom switches'