use File::Spec ();
use Config;
-our $VERSION = '2.000003'; # 2.0.3
+our $VERSION = '2.000004'; # 2.0.4
$VERSION = eval $VERSION;
sub import {
my ($class, @args) = @_;
+ push @args, @ARGV
+ if $0 eq '-';
my @steps;
my %opts;
return $out || " \n";
}
+sub build_fish_env_declaration {
+ my ($class, $name, $args) = @_;
+ my $value = $class->_interpolate($args, '$%s', '"', '\\%s');
+ if (!defined $value) {
+ return qq{set -e $name;\n};
+ }
+ $value =~ s/$_path_sep/ /g;
+ qq{set -x $name $value;\n};
+}
+
sub _interpolate {
my ($class, $args, $var_pat, $escape, $escape_pat) = @_;
return
for ($shellbin) {
return
- /csh/ ? 'csh'
- : /command\.com/i ? 'cmd'
- : /cmd\.exe/i ? 'cmd'
- : /4nt\.exe/i ? 'cmd'
- : /powershell\.exe/i ? 'powershell'
- : 'bourne';
+ /csh$/ ? 'csh'
+ : /fish/ ? 'fish'
+ : /command(?:\.com)?$/i ? 'cmd'
+ : /cmd(?:\.exe)?$/i ? 'cmd'
+ : /4nt(?:\.exe)?$/i ? 'cmd'
+ : /powershell(?:\.exe)?$/i ? 'powershell'
+ : 'bourne';
}
}