__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
#!/usr/bin/perl -w

use strict;
use Debian::DictionariesCommon q(:all);
use Getopt::Long;
Getopt::Long::Configure("pass_through","no_auto_abbrev");

# Autoflush output buffers
$|=1;

my $class        = "ispell";
my $dictionaries = loaddb ($class);
my $emacsen;
my $regexp;
my $dryrun;

# -------------------------------------------------
sub isoconv {
# -------------------------------------------------
# Function to convert ISO-8859-1 (latin1) accented characters to
# non-accented one.  Of course, this only works for west European
# languages.  We might try to find a more general solution based on
# the current locale character set.
# -------------------------------------------------
  my $s = shift;
  $s =~ y{A-Z��������������������������������������������������}
         {a-zaeiouyaeiouyaeiouaeiouaeiouaeiouaeiouaeiosuyacdnoacnoaeoaeo};
  return $s;
}

# -------------------------------------------------
sub try_emacsen () {
# -------------------------------------------------
# Function to try getting $lang after emacsen name
# -------------------------------------------------
  my $emacsen = shift;
  return unless $emacsen;
  my %available_emacsen = ();
  foreach my $lang (keys %$dictionaries) {
    my $language = $dictionaries->{$lang};
    my $hashname = $language->{"hash-name"};
    my $emacsenname = exists $language->{"emacsen-name"} ?
      $language->{"emacsen-name"} : $hashname;
    return $lang if ( lc($emacsen) eq lc($emacsenname) );
    $available_emacsen{$emacsenname}++;
  }
  die "$0: \"$emacsen\" does not match any available emacs dict value:\n  "
    . join("\n  ", sort keys %available_emacsen) . "\n";
}

# -------------------------------------------------
sub try_regexp () {
# -------------------------------------------------
# Function to try getting $lang after $regexp
# -------------------------------------------------
  my $regexp = shift;
  return unless $regexp;
  my $guess;
  my %regexp_matches    = ();

  $regexp = isoconv ($regexp);
  foreach my $key ( keys %$dictionaries ) {
    $_ = isoconv ( $key );
    if ( /$regexp/ ) {
      $regexp_matches{$key}++;
      $guess = $key;
    }
  }

  die "$0: No installed language matched `$regexp'\n" unless $guess;

  if ( scalar keys %regexp_matches == 1) {
    return $guess;
  } else {
    die ("$0: More than one installed languages matched `$regexp':\n  "
	 . join ("\n  ", sort keys %regexp_matches) . "\n");
  }
}

# --------------------------------------------------------------------
# Now the main program
# --------------------------------------------------------------------

GetOptions ('emacs=s'    => \$emacsen,
	    'language=s' => \$regexp,
	    'dry-run'    => \$dryrun);

die " ispell-wrapper is a wrapper to ispell, but ispell is not installed.\n"
  unless ( -x "/usr/bin/ispell" );

$regexp = $ENV{ISPELLDEFAULT} unless $regexp;

$regexp =~ s/([^\\]|^)(\(|\))/$1\\$2/g if $regexp;   # Make sure () are escaped

# In the POD section below there is an extensive description on the
# priority order for determining the ispell language.
my $lang = &try_emacsen($emacsen)
  ||  &try_regexp ($regexp)
  ||  &getuserdefault ()
  ||  &dico_getsysdefault ("ispell");

print STDERR " Warning: --language=$regexp will be overriden by
          --emacs=$emacsen setting\n\n"
  if ( defined $lang && $regexp && $emacsen );

my $ispell_wrapper_args = "";
$ispell_wrapper_args = dico_get_spellchecker_params($class,$dictionaries->{$lang})
  if ( $lang && defined $dictionaries->{$lang});

# Ignore $lang results if -d is explicitly set from commandline

foreach ( @ARGV ) {
  if ( /^\-d/ ){
    $ispell_wrapper_args = "";
    last;
  }
}

my $cli_opts = join(' ',@ARGV);

print STDERR "Warning: \'$lang\' values overriden with \'$cli_opts\'\n"
  if ( not $ispell_wrapper_args && defined $lang );

my $command_to_run = "ispell $ispell_wrapper_args $cli_opts";

if ( $dryrun ){
  print "--\n$command_to_run\n--\n";
} else {
  exec $command_to_run;
}

# Local Variables:
# perl-indent-level: 2
# End:

__END__

=head1 NAME

B<ispell-wrapper> - smart wrapper for ispell

=head1 SYNOPSIS

 ispell-wrapper [--emacs=name] [--language=regexp] [--dry-run] [ispell options] file

   Options (all long only options):
    --emacs=name           Set the language to use by emacs dict name
    --language=regexp      Set the language to use by name
    --dry-run              Only show what would have done

=head1 DESCRIPTION

B<ispell-wrapper> is a wrapper script for ispell intended to be used
in a Debian system in conjunction with the infrastructure introduced by
the dictionaries-common package. Option --dry-run will show the string
to be run without doing anything else.

It automatically sets the B<-d>, B<-w>, and B<-T> options to ispell as a
function of the chosen language.  Of course, this only works for dictionary
packages that comply with the above mentioned Policy.

Here is how the language is defined (in order of priority):

=over

=item 1)

By matching the emacs dict name given in --emacs option to the name of
one of the emacs dicts names provided by installed languages in the
system. This match must be exact (although is case insensitive).
Note that this will override any value given in the --language option.

=item 2)

By matching the regexp given in option --language to the list of
installed languages in the system.

=item 3)

By matching the regexp stored in the environment variable
ISPELLDEFAULT to the list of installed languages in the system.

=item 4)

By using the value stored in the user-specific file ~/.ispell-default
(use select-default-iwrap(1) to set it).

=item 5)

By using the value stored in the site-wide file
/etc/dictionaries-common/ispell-default (use select-default-ispell(8)
as superuser to set it).

=back

Note: regexp matches are case-insensitive and the ISO-8859-1 special
characters are transformed into their ASCII equivalents.  German
ess-zet is equivalent to the character "s" and the ae ligature to the
character "e".

=head1 EXAMPLE

Let us say that the following dictionaries are installed in the system
(as appearing in the Debconf question at installation time):

    castellano (Spanish TeX mode)
    castellano8 (Spanish 8 bit)
    portuguE<ecirc>s (European Portuguese)
    portuguE<ecirc>s brasileiro (Brazilian Portuguese)

Choosing the regexp (either in the --language option or in the
environment variable ISPELLDEFAULT) to be "span" will yield an error,
since two languages will match ("castellano" and "castellano8").
However, if the regexp is "span.*8", the language "castellano8
(Spanish 8 bit)" will be chosen.

=head1 ENVIRONMENT

=over

=item ISPELLDEFAULT

Regexp that matches the name of the default language to use, if no
--language option is given.

=back


=head1 FILES

=over

=item $HOME/.ispell-default

Contains the name of the language to use, if no --language option is
given or if the ISPELLDEFAULT environment variable is not set.  This
is a user-specific choice.

=item /etc/dictionaries-common/ispell-default

Name of the language to use when everything above is not set. This is
a system-wide setting.

=back


=head1 SEE ALSO

select-default-ispell(8), select-default-iwrap(1)

=head1 AUTHORS

Rafael Laboissiere

=cut

Filemanager

Name Type Size Permission Actions
X11 Folder 0755
aclocal-1.16 File 35.18 KB 0755
appstream-compose File 26.3 KB 0755
appstream-util File 106.3 KB 0755
appstreamcli File 138.23 KB 0755
autoconf File 14.85 KB 0755
autoheader File 8.82 KB 0755
autom4te File 32.69 KB 0755
automake-1.16 File 255.91 KB 0755
autoreconf File 26.3 KB 0755
autoscan File 16.77 KB 0755
autoupdate File 33.22 KB 0755
broadwayd File 130.21 KB 0755
bwrap File 70.47 KB 0755
c89-gcc File 428 B 0755
c99-gcc File 454 B 0755
cairo-trace File 2.95 KB 0755
compile_et File 1.32 KB 0755
corelist File 15.01 KB 0755
cpan File 8.16 KB 0755
cpan5.38-x86_64-linux-gnu File 8.18 KB 0755
curl-config File 6.5 KB 0755
dazzle-list-counters File 14.13 KB 0755
debconf File 2.8 KB 0755
debconf-apt-progress File 11.57 KB 0755
debconf-communicate File 623 B 0755
debconf-copydb File 1.68 KB 0755
debconf-escape File 668 B 0755
debconf-set-selections File 3.14 KB 0755
debconf-show File 1.78 KB 0755
derb File 26.73 KB 0755
desktop-file-edit File 92.49 KB 0755
desktop-file-install File 92.49 KB 0755
desktop-file-validate File 80.77 KB 0755
dh_autotools-dev_restoreconfig File 1.79 KB 0755
dh_autotools-dev_updateconfig File 1.81 KB 0755
dh_gstscancodecs File 3.17 KB 0755
dh_libva File 3.05 KB 0755
dumpsexp File 18.3 KB 0755
enc2xs File 40.96 KB 0755
encguess File 3 KB 0755
envsubst File 34.38 KB 0755
fc-cache File 22.21 KB 0755
fc-cat File 18.38 KB 0755
fc-conflist File 14.38 KB 0755
fc-list File 14.38 KB 0755
fc-match File 14.38 KB 0755
fc-pattern File 14.38 KB 0755
fc-query File 14.38 KB 0755
fc-scan File 14.38 KB 0755
fc-validate File 14.38 KB 0755
file File 30.6 KB 0755
fribidi File 26.99 KB 0755
gapplication File 22.21 KB 0755
gdbus File 54.21 KB 0755
gdbus-codegen File 2.04 KB 0755
gdk-pixbuf-csource File 14.15 KB 0755
gdk-pixbuf-pixdata File 14.13 KB 0755
gdk-pixbuf-thumbnailer File 18.21 KB 0755
genbrk File 18.63 KB 0755
gencat File 26.44 KB 0755
gencfu File 14.59 KB 0755
gencnval File 26.47 KB 0755
gendict File 26.63 KB 0755
genrb File 159.77 KB 0755
getconf File 26.36 KB 0755
getent File 38.72 KB 0755
gettext File 34.38 KB 0755
gettext.sh File 5.07 KB 0755
gettextize File 41.28 KB 0755
gi-compile-repository File 211.1 KB 0755
gi-decompile-typelib File 46.13 KB 0755
gi-inspect-typelib File 14.13 KB 0755
gio File 106.23 KB 0755
gio-querymodules File 18.13 KB 0755
gjs File 22.62 KB 0755
gjs-console File 22.62 KB 0755
glib-compile-schemas File 224.05 KB 0755
gobject-query File 14.14 KB 0755
gpgrt-config File 16.04 KB 0755
gresource File 26.13 KB 0755
gsettings File 30.21 KB 0755
gsound-play File 18.21 KB 0755
gtk-encode-symbolic-svg File 22.24 KB 0755
gtk-launch File 18.29 KB 0755
gtk-query-settings File 14.13 KB 0755
gtk-update-icon-cache File 38.57 KB 0755
gtk4-broadwayd File 150.22 KB 0755
gtk4-encode-symbolic-svg File 10.87 MB 0755
gtk4-image-tool File 38.23 KB 0755
gtk4-launch File 18.29 KB 0755
gtk4-path-tool File 50.21 KB 0755
gtk4-query-settings File 14.13 KB 0755
gtk4-rendernode-tool File 46.13 KB 0755
hb-info File 54.18 KB 0755
hb-shape File 54.18 KB 0755
hb-subset File 50.18 KB 0755
hb-view File 82.32 KB 0755
hmac256 File 18.7 KB 0755
iconv File 66.48 KB 0755
icuexportdata File 53.15 KB 0755
icuinfo File 14.48 KB 0755
ifnames File 4.08 KB 0755
instmodsh File 4.27 KB 0755
ispell-wrapper File 7.05 KB 0755
itstool File 67.8 KB 0755
js115 File 30.12 MB 0755
js115-config File 2.03 KB 0755
json-glib-format File 18.38 KB 0755
json-glib-validate File 14.29 KB 0755
json_pp File 4.88 KB 0755
krb5-config File 6.77 KB 0755
krb5-config.mit File 6.77 KB 0755
ldd File 5.26 KB 0755
libgcrypt-config File 4.52 KB 0755
libinput File 66.35 KB 0755
libnetcfg File 15.41 KB 0755
libpng-config File 2.41 KB 0755
libpng16-config File 2.41 KB 0755
libtool File 372.42 KB 0755
libtoolize File 133.2 KB 0755
libwacom-list-devices File 14.24 KB 0755
libwacom-list-local-devices File 22.29 KB 0755
libwacom-show-stylus File 6.39 KB 0755
libwacom-update-db File 10.02 KB 0755
locale File 49.63 KB 0755
localedef File 319.09 KB 0755
m4 File 238.37 KB 0755
makeconv File 50.75 KB 0755
mpicalc File 22.3 KB 0755
msgattrib File 26.38 KB 0755
msgcat File 26.38 KB 0755
msgcmp File 30.38 KB 0755
msgcomm File 26.38 KB 0755
msgconv File 22.38 KB 0755
msgen File 22.38 KB 0755
msgexec File 22.38 KB 0755
msgfilter File 34.38 KB 0755
msgfmt File 82.59 KB 0755
msggrep File 118.46 KB 0755
msginit File 66.39 KB 0755
msgmerge File 74.41 KB 0755
msgunfmt File 38.39 KB 0755
msguniq File 22.38 KB 0755
ngettext File 34.38 KB 0755
nspr-config File 2.57 KB 0755
nss-config File 2.37 KB 0755
opencv_annotation File 26.39 KB 0755
opencv_interactive-calibration File 102.48 KB 0755
opencv_model_diagnostics File 18.38 KB 0755
opencv_version File 26.47 KB 0755
opencv_visualisation File 46.47 KB 0755
opencv_waldboost_detector File 18.38 KB 0755
orc-bugreport File 22.31 KB 0755
orcc File 42.39 KB 0755
p11-kit File 214.45 KB 0755
pango-list File 18.13 KB 0755
pango-segmentation File 22.21 KB 0755
pango-view File 66.42 KB 0755
pcre-config File 2.29 KB 0755
pcre2-config File 1.93 KB 0755
perl File 3.83 MB 0755
perl5.38-x86_64-linux-gnu File 14.3 KB 0755
perl5.38.2 File 3.83 MB 0755
perlbug File 44.52 KB 0755
perldoc File 125 B 0755
perlivp File 10.61 KB 0755
perlthanks File 44.52 KB 0755
piconv File 8.16 KB 0755
pip File 225 B 0755
pip3 File 225 B 0755
pip3.12 File 225 B 0755
pipewire File 14.38 KB 0755
pipewire-aes67 File 14.38 KB 0755
pipewire-avb File 14.38 KB 0755
pipewire-pulse File 14.38 KB 0755
pkgconf File 44.11 KB 0755
pkgdata File 43.39 KB 0755
pldd File 22.44 KB 0755
pod2html File 3.95 KB 0755
pod2man File 18.46 KB 0755
pod2text File 12.8 KB 0755
pod2usage File 4.01 KB 0755
podchecker File 3.57 KB 0755
psl File 22.16 KB 0755
psl-make-dafsa File 22.21 KB 0755
ptar File 3.48 KB 0755
ptardiff File 2.58 KB 0755
ptargrep File 4.29 KB 0755
pw-cat File 138.38 KB 0755
pw-cli File 126.48 KB 0755
pw-config File 18.38 KB 0755
pw-dot File 38.38 KB 0755
pw-dsdplay File 138.38 KB 0755
pw-dump File 98.46 KB 0755
pw-encplay File 138.38 KB 0755
pw-link File 30.38 KB 0755
pw-loopback File 18.38 KB 0755
pw-metadata File 14.38 KB 0755
pw-mididump File 34.38 KB 0755
pw-midiplay File 138.38 KB 0755
pw-midirecord File 138.38 KB 0755
pw-mon File 94.42 KB 0755
pw-play File 138.38 KB 0755
pw-profiler File 26.38 KB 0755
pw-record File 138.38 KB 0755
pw-reserve File 26.38 KB 0755
pw-top File 86.38 KB 0755
py3compile File 13 KB 0755
py3versions File 12.52 KB 0755
python3.12 File 7.65 MB 0755
recode-sr-latin File 14.38 KB 0755
rsvg-convert File 15.14 MB 0755
secret-tool File 22.21 KB 0755
select-default-iwrap File 474 B 0755
session-migration File 22.15 KB 0755
shasum File 9.75 KB 0755
spa-acp-tool File 276.27 KB 0755
spa-inspect File 78.48 KB 0755
spa-json-dump File 18.3 KB 0755
spa-monitor File 14.48 KB 0755
spa-resample File 34.73 KB 0755
splain File 18.99 KB 0755
streamzip File 7.87 KB 0755
tzselect File 15.02 KB 0755
uconv File 54.68 KB 0755
update-desktop-database File 26.38 KB 0755
update-mime-database File 74.33 KB 0755
xdg-dbus-proxy File 58.15 KB 0755
xdg-user-dir File 234 B 0755
xdg-user-dirs-update File 26.23 KB 0755
xml2-config File 1.44 KB 0755
xmlcatalog File 22.3 KB 0755
xmllint File 78.95 KB 0755
zdump File 30.28 KB 0755
zipdetails File 68.55 KB 0755
Filemanager