Complete-Unix

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

NAME
    Complete::Unix - Unix-related completion routines

VERSION
    This document describes version 0.081 of Complete::Unix (from Perl
    distribution Complete-Unix), released on 2022-09-08.

DESCRIPTION
FUNCTIONS
  complete_gid
    Usage:

     complete_gid(%args) -> array

    Complete from list of Unix GID's.

    This function is not exported by default, but exportable.

    Arguments ('*' denotes required arguments):

    *   etc_dir => *str*

    *   word* => *str* (default: "")

lib/Complete/Unix.pm  view on Meta::CPAN

use Exporter 'import';

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2022-09-08'; # DATE
our $DIST = 'Complete-Unix'; # DIST
our $VERSION = '0.081'; # VERSION

our @EXPORT_OK = qw(
                       complete_uid
                       complete_user
                       complete_gid
                       complete_group

                       complete_pid
                       complete_proc_name

                       complete_service_name
                       complete_service_port
                );

our %SPEC;

lib/Complete/Unix.pm  view on Meta::CPAN


    my $res = Unix::Passwd::File::list_users(
        etc_dir=>$args{etc_dir}, detail=>1);
    return unless $res->[0] == 200;
    Complete::Util::complete_array_elem(
        array     => [map {$_->{user}} @{ $res->[2] }],
        summaries => [map {(length $_->{gecos} ? "$_->{gecos} " : "") . "(UID $_->{uid})" } @{ $res->[2] }],
        word=>$word);
}

$SPEC{complete_gid} = {
    v => 1.1,
    summary => 'Complete from list of Unix GID\'s',
    args => {
        %arg_word,
        etc_dir => { schema=>['str*'] },
    },
    result_naked => 1,
    result => {
        schema => 'array',
    },
};
sub complete_gid {
    require Complete::Util;
    require Unix::Passwd::File;

    my %args  = @_;
    my $word  = $args{word} // "";

    my $res = Unix::Passwd::File::list_groups(
        etc_dir=>$args{etc_dir}, detail=>1);
    return unless $res->[0] == 200;
    Complete::Util::complete_array_elem(
        array     => [map {$_->{gid}} @{ $res->[2] }],
        summaries => [map {$_->{group}} @{ $res->[2] }],
        word=>$word);
}

$SPEC{complete_group} = {
    v => 1.1,
    summary => 'Complete from list of Unix groups',
    args => {
        %arg_word,
        etc_dir => { schema=>['str*'] },

lib/Complete/Unix.pm  view on Meta::CPAN

    require Unix::Passwd::File;

    my %args  = @_;
    my $word  = $args{word} // "";

    my $res = Unix::Passwd::File::list_groups(
        etc_dir=>$args{etc_dir}, detail=>1);
    return unless $res->[0] == 200;
    Complete::Util::complete_array_elem(
        array     => [map {$_->{group}} @{ $res->[2] }],
        summaries => [map {"(GID $_->{gid})"} @{ $res->[2] }],
        word=>$word);
}

$SPEC{complete_pid} = {
    v => 1.1,
    summary => 'Complete from list of running PIDs',
    args => {
        %arg_word,
    },
    result_naked => 1,

lib/Complete/Unix.pm  view on Meta::CPAN


=head1 VERSION

This document describes version 0.081 of Complete::Unix (from Perl distribution Complete-Unix), released on 2022-09-08.

=head1 DESCRIPTION

=head1 FUNCTIONS


=head2 complete_gid

Usage:

 complete_gid(%args) -> array

Complete from list of Unix GID's.

This function is not exported by default, but exportable.

Arguments ('*' denotes required arguments):

=over 4

=item * B<etc_dir> => I<str>



( run in 0.629 second using v1.01-cache-2.11-cpan-5735350b133 )