Sindbad~EG File Manager
#!/usr/bin/perl -w
use strict;
use Debian::DictionariesCommon q(:all);
use Debconf::Client::ConfModule q(:all);
dico_checkroot ();
version ('2.0');
my $class = "ispell";
my $program = "select-default-$class";
my $question = "dictionaries-common/default-$class";
my $script = "/usr/share/dictionaries-common/dc-debconf-select.pl";
sub dico_force_question (){
# Force asking question for given \%languages, or for all if not given
my $class = shift;
my $languages = shift;
my $question = "dictionaries-common/default-$class";
my %title = ('ispell' => "Dictionaries-common: Ispell dictionary",
'wordlist' => "Dictionaries-common: Wordlist dictionary"
);
# If no explict $languages is given, ask for all, and return if none present
$languages = &dico_parse_languages($class,"languages") unless $languages;
return unless %$languages;
my ($choices, $echoices ) = &dico_get_all_choices($class,$languages);
fset ($question, "seen", "false");
subst ($question, "choices", $choices);
subst ($question, "echoices", $echoices);
input ("critical", $question);
title ($title{$class});
go ();
}
updatedb ($class);
my $dictionaries = loaddb ($class);
my $forced_default_regexp;
foreach my $option ( @ARGV ){
if ( $option =~ s/--set-default=// ){
$forced_default_regexp = $option;
} elsif ( $option eq "--debug") {
dico_debug;
} elsif ( $option eq "--show-choices") {
print STDERR join("\n",sort keys %$dictionaries), "\n";
exit;
}
}
if ( %$dictionaries ) {
if ( $forced_default_regexp ){
if ( my $forced_value = dico_find_matching_choice($dictionaries,$forced_default_regexp) ){
set($question,$forced_value);
} else {
die "$program: No (unique) match for \"$forced_default_regexp\". Aborting ...\n";
}
} else {
if (get $question) {
require $script;
&dico_force_question($class);
}
}
}
system "update-default-$class";
# Local Variables:
# perl-indent-level: 2
# End:
__END__
=head1 NAME
select-default-ispell - select default ispell dictionary
=head1 SYNOPSIS
select-default-ispell [options]
Options (all long only options):
--set-default='regexp' Try 'regexp' to get a single match and set
it as default. Fail otherwise.
--show-choices Show available choices to STDERR and exit.
--debug Enable debug mode
=head1 DESCRIPTION
This program is responsible for selecting default
ispell dictionary.
If B<--show-choices> is used will just output a list of available
choices to STDERR and exit.
STDOUT cannot be used, this program loads B<debconf> and B<debconf>
captures STDOUT.
If B<--set-default> is used, program will try to get a single regexp
match from available choices, failing if not.
Will try case dependent match first, then case independent.
If B<--set-default> is not used this program will make debconf always
ask the shared question about the default ispell
dictionary to be used in your system according to the
installed ones.
In both cases, will do the appropriate settings if needed.
Calls internally B<update-default-ispell>.
=head1 SEE ALSO
The dictionaries-common policy document
=head1 AUTHORS
Rafael Laboissiere,
Agustin Martin
=cut
# LocalWords: ispell wordlist
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists