CPAN
view release on metacpan or search on metacpan
lib/CPAN/FirstTime.pm view on Meta::CPAN
$CPAN::Frontend->myprint($prompts{proxy_user}) unless $auto_config;
if ($CPAN::Config->{proxy_user} = prompt("Your proxy user id?",$default)) {
$CPAN::Frontend->myprint($prompts{proxy_pass}) unless $auto_config;
if ($CPAN::META->has_inst("Term::ReadKey")) {
Term::ReadKey::ReadMode("noecho");
} else {
$CPAN::Frontend->myprint($prompts{password_warn}) unless $auto_config;
}
$CPAN::Config->{proxy_pass} = prompt_no_strip("Your proxy password?");
if ($CPAN::META->has_inst("Term::ReadKey")) {
Term::ReadKey::ReadMode("restore");
}
$CPAN::Frontend->myprint("\n\n") unless $auto_config;
}
}
}
#
#= how plugins work
#
# XXX MISSING: my_array_prompt to be used with plugins. We did something like this near
# git log -p fd68f8f5e33f4cecea4fdb7abc5ee19c12f138f0..test-notest-test-dependency
# Need to do similar steps for plugin_list. As long as we do not support it here, people
# must use the cpan shell prompt to write something like
# o conf plugin_list push CPAN::Plugin::Specfile=dir,/tmp/foo-20141013,...
# o conf commit
#
#= how FTP works
#
my_yn_prompt(ftp_passive => 1, $matcher);
#
#= how cwd works
#
my_prompt_loop(getcwd => 'cwd', $matcher,
'cwd|getcwd|fastcwd|getdcwd|backtickcwd');
#
#= the CPAN shell itself (prompt, color)
#
my_yn_prompt(commandnumber_in_prompt => 1, $matcher);
my_yn_prompt(term_ornaments => 1, $matcher);
if ("colorize_output colorize_print colorize_warn colorize_debug" =~ $matcher) {
my_yn_prompt(colorize_output => 0, $matcher);
if ($CPAN::Config->{colorize_output}) {
if ($CPAN::META->has_inst("Term::ANSIColor")) {
my $T="gYw";
$CPAN::Frontend->myprint( " on_ on_y ".
" on_ma on_\n") unless $auto_config;
$CPAN::Frontend->myprint( " on_black on_red green ellow ".
"on_blue genta on_cyan white\n") unless $auto_config;
for my $FG ("", "bold",
map {$_,"bold $_"} "black","red","green",
"yellow","blue",
"magenta",
"cyan","white") {
$CPAN::Frontend->myprint(sprintf( "%12s ", $FG)) unless $auto_config;
for my $BG ("",map {"on_$_"} qw(black red green yellow
blue magenta cyan white)) {
$CPAN::Frontend->myprint( $FG||$BG ?
Term::ANSIColor::colored(" $T ","$FG $BG") : " $T ") unless $auto_config;
}
$CPAN::Frontend->myprint( "\n" ) unless $auto_config;
}
$CPAN::Frontend->myprint( "\n" ) unless $auto_config;
}
for my $tuple (
["colorize_print", "bold blue on_white"],
["colorize_warn", "bold red on_white"],
["colorize_debug", "black on_cyan"],
) {
my_dflt_prompt($tuple->[0] => $tuple->[1], $matcher);
if ($CPAN::META->has_inst("Term::ANSIColor")) {
eval { Term::ANSIColor::color($CPAN::Config->{$tuple->[0]})};
if ($@) {
$CPAN::Config->{$tuple->[0]} = $tuple->[1];
$CPAN::Frontend->mywarn($@."setting to default '$tuple->[1]'\n");
}
}
}
}
}
#
#== term_is_latin
#
my_yn_prompt(term_is_latin => 1, $matcher);
#
#== save history in file 'histfile'
#
if (!$matcher or 'histfile histsize' =~ /$matcher/) {
$CPAN::Frontend->myprint($prompts{histfile_intro}) unless $auto_config;
defined($default = $CPAN::Config->{histfile}) or
$default = File::Spec->catfile($CPAN::Config->{cpan_home},"histfile");
my_dflt_prompt(histfile => $default, $matcher);
if ($CPAN::Config->{histfile}) {
defined($default = $CPAN::Config->{histsize}) or $default = 100;
my_dflt_prompt(histsize => $default, $matcher);
}
}
#
#== do an ls on the m or the d command
#
my_yn_prompt(show_upload_date => 0, $matcher);
#
#== verbosity at the end of the r command
#
if (!$matcher
or 'show_unparsable_versions' =~ /$matcher/
or 'show_zero_versions' =~ /$matcher/
) {
my_yn_prompt(show_unparsable_versions => 0, $matcher);
my_yn_prompt(show_zero_versions => 0, $matcher);
}
#
#= MIRRORED.BY and conf_sites()
#
# Let's assume they want to use the internet and make them turn it
# off if they really don't.
my_yn_prompt("connect_to_internet_ok" => 1, $matcher);
my_yn_prompt("pushy_https" => 1, $matcher);
( run in 1.252 second using v1.01-cache-2.11-cpan-df04353d9ac )