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 1.303 second using v1.01-cache-2.11-cpan-88abd93f124 )