App-Rakubrew
view release on metacpan or search on metacpan
lib/App/Rakubrew/Shell/Bash.pm view on Meta::CPAN
export RAKUBREW_HOME=/some/folder/without/space/rakubrew
in your `~/.bashrc` file *before* the `eval` line.
EOW
}
return $text;
}
sub get_init_code {
my $self = shift;
my $path = env('PATH');
$path = $self->clean_path($path);
if (get_brew_mode() eq 'env') {
my $version = get_global_version();
if ($version && $version ne 'system' && !is_version_broken($version)) {
$path = join(':', get_bin_paths($version), $path);
}
}
else { # get_brew_mode() eq 'shim'
$path = join(':', $shim_dir, $path);
}
return <<EOT;
export PATH="$path"
$brew_name() {
command $brew_exec internal_hooked Bash "\$@" &&
eval "`command $brew_exec internal_shell_hook Bash post_call_eval "\$@"`"
}
_${brew_name}_completions() {
COMPREPLY=(\$(command $brew_exec internal_shell_hook Bash completions \$COMP_CWORD \$COMP_LINE))
\$(command $brew_exec internal_shell_hook Bash completion_options \$COMP_CWORD \$COMP_LINE)
}
complete -F _${brew_name}_completions $brew_name
EOT
}
sub post_call_eval {
my $self = shift;
$self->print_shellmod_code(@_);
}
sub get_path_setter_code {
my $self = shift;
my $path = shift;
return "export PATH=\"$path\"";
}
sub get_shell_setter_code {
my $self = shift;
my $version = shift;
return "export $env_var=\"$version\"";
}
sub get_shell_unsetter_code {
my $self = shift;
return "unset $env_var";
}
sub completions {
my $self = shift;
my $index = shift;
say join(' ', $self->get_completions($self->strip_executable($index, @_)));
}
sub completion_options {
my $self = shift;
my $index = shift;
my @words = @_;
if($index == 3 && $words[1] eq 'register') {
say 'compopt -o nospace';
}
else {
say '';
}
}
1;
( run in 0.438 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )