App-tldr

 view release on metacpan or  search on metacpan

lib/App/tldr.pm  view on Meta::CPAN

sub new {
    my ($class, %option) = @_;
    my $http = HTTP::Tiny->new(verify_SSL => 1);
    bless { http => $http, %option }, $class;
}

sub parse_options {
    my ($self, @argv) = @_;
    $self->{platform} = [];

    $self->{unicode} = ($ENV{LANG} || "") =~ /UTF-8/i ? 1 : 0;
    my $parser = Getopt::Long::Parser->new(
        config => [qw(no_auto_abbrev no_ignore_case)],
    );
    $parser->getoptionsfromarray(
        \@argv,
        "h|help"       => sub { print $self->_help; exit },
        "l|language=s" => \my $language,
        "o|os=s@"      => \($self->{platform}),
        "v|version"    => sub { printf "%s %s\n", ref $self, $self->VERSION; exit },
        "pager=s"      => \my $pager,
        "no-pager"     => \my $no_pager,
        "unicode!"     => \$self->{unicode},
    ) or exit(2);
    $self->{argv} = \@argv;
    if ($language) {
        $language = $language =~ /^\./ ? $language : ".$language";
    }
    $self->{language} = $language || '';
    if (!$no_pager and -t STDOUT and my $guess = $self->_guess_pager($pager)) {
        $self->{pager} = $guess;
    }
    push @{$self->{platform}}, $self->_guess_platform, "common";

lib/App/tldr.pm  view on Meta::CPAN

    die "Couldn't find tldr for '$arg'\n" unless $content;
    $self->_render($content, $arg);
}

my $CHECK = "\N{U+2713}";
my $SUSHI = "\N{U+1F363}";

sub _render {
    my ($self, $content, $query) = @_;

    my ($check, $prompt) = $self->{unicode} ? ($CHECK, $SUSHI) : ('*', '$');

    my $width = $ENV{COLUMNS} || (Term::ReadKey::GetTerminalSize())[0];
    $width -= 4;

    my @line = split /\n/, $content;

    my $out;
    if ($self->{pager}) {
        open $out, "|-", @{$self->{pager}} or die "failed to exec @{$self->{pager}}: $!";
    } else {

script/tldr  view on Meta::CPAN


  Usage: tldr [command]

  Options:
   -o, --os=OS         os (osx, sunos or linux)
   -l, --language=lang use other language
   -h, --help          show this help
   -v, --version       show version
       --pager=CMD     specify pager command
       --no-pager      turn off paging
       --unicode       use fancy unicode characters (defaults to true if LANG =~ /UTF-8/)
       --no-unicode    do not use unicode characters

  Environment variables:
   * TLDR_REPOSITORY=/path/to/tldr-pages/tldr
       by default, tldr get man pages from https://github.com/tldr-pages/tldr
       If you set a local tldr's repository, you'll see man pages quickly.
   * TLDR_DEBUG=1
       turn on debug message

  Examples:
   $ tldr tar



( run in 0.503 second using v1.01-cache-2.11-cpan-88abd93f124 )