Compare commits

..

1 Commits

Author SHA1 Message Date
112e576850 Updated README.md
Added descriptions of utils
2022-11-14 17:17:02 +00:00
4 changed files with 26 additions and 62 deletions

View File

@ -1,3 +1,27 @@
# miscutils
Miscellaneous UNIX utilities.
## bwrap
Wrap text received in stdin as if it was a single line. Indicate breaks with the ":" charater at both ends.
## hppt
Reformat stdin as a horizontal paper tape.
## mkgmap
Generates a simple Gophermap in its standard output, listing all text files in the current directory
in reverse alphabetical order.
## newp
Creates a new ms phlog post. The file name will contain the current date and word separated by dashes.
## rot
Visually rotate stdin 90 degrees counter clockwise, swapping rows and columns.
## rr
Run a command repeteadly until it fails.
## scmfmt
Format stdin to use as a commit message
## ts
Runs the shell tests passed as arguments.
## unpage
Removes all page headers and footers from stdin, getting as result output that contains a single continuous page.
## upcasetl
Takes an ms troff document in stdin, and outputs to its stdout the same document
with all `.tl` and `.sh` converted to uppercase.

35
pick
View File

@ -1,35 +0,0 @@
#!/usr/bin/env perl
use strict;
use warnings;
use Scalar::Util qw{looks_like_number};
my @choices;
for (@ARGV) {
if (/^--$/) {
push(@choices, <STDIN>);
} elsif (/^@(.+)$/) {
open(my $fh, '<', $1);
push(@choices, <$fh>);
close($fh);
} else {
push(@choices, "$_\n");
}
}
open(my $tty, '<', '/dev/tty');
my $sel;
until (looks_like_number($sel) && $sel > 0 && $sel <= @choices) {
while (my ($i, $c) = each @choices) {
print $i+1 . ') ' . $choices[$i];
}
print $ENV{'PS3'} || '#? ';
exit(1) unless defined($sel = <$tty>);
}
close($tty);
print $choices[$sel - 1];

25
pick.1
View File

@ -1,25 +0,0 @@
.Dd Sep 13, 2023
.Dt TS 1
.Os
.Sh NAME
.Nm pick
.Nd Choose interactively from the set of arguments and input lines
.Sh SYNOPSIS
.Nm
.Ar arg ...
.Sh DESCRIPTION
.Nm
will display a Korn shell style selection menu with stdin contents and
arguments as options.
.Pp
When a selection is made, the command will print its value to stdout.
If the selection is aborted, nothing will be printed.
.Sh ENVIRONMENT
.Bl -tag -width PS3
.It Ev PS3
Prompt string displayed to the user (default: #?).
.El
.Sh EXIT STATUS
.Ex -std
.Sh AUTHORS
.An Adolfo Perez Alvarez Aq Mt adolfopa@sdf.org

4
scmfmt
View File

@ -21,9 +21,9 @@ i\
bl' |
sed -e '1s/^/./' -e 's/^ /./' |
par -P=. |
fmt -p |
awk '
BEGIN { LIMIT = 72 }
BEGIN { LIMIT = 65 }
NR == 1 || /^[^\.]/ || length($0) < LIMIT {
sub(/^\./, NR == 1 ? "" : " ");
print;