From fab6c2fb8df283123d8e259be7c70ae5f391f3bc Mon Sep 17 00:00:00 2001 From: Cameron Katri Date: Tue, 27 Apr 2021 17:54:25 -0400 Subject: Write manpages for dirconvert and opendircolors --- Makefile | 10 +++---- dirconvert.1 | 53 ++++++++++++++++++++++++++++++++++ dirconvert.c | 2 +- opendircolors.1 | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ opendircolors.c | 9 +++--- 5 files changed, 152 insertions(+), 11 deletions(-) create mode 100644 dirconvert.1 create mode 100644 opendircolors.1 diff --git a/Makefile b/Makefile index 557bf5c..cc2c299 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,11 @@ PROGS= opendircolors dirconvert SRCS.opendircolors= opendircolors.c common.c SRCS.dirconvert= dirconvert.c common.c -#TODO: Write manpage -MAN= -BINDIR=/usr/local/bin -SYMLINKS=opendircolors ${BINDIR}/dircolors -#TODO: Write manpage -#MLINKS= opendircolors.1 dircolors.1 +BINDIR?=/usr/local/bin +MANDIR?=/usr/local/man/man +SYMLINKS= opendircolors ${BINDIR}/dircolors +SYMLINKS+= opendircolors.1.gz ${MANDIR}1/dircolors.1.gz MAKEOBJDIR=obj diff --git a/dirconvert.1 b/dirconvert.1 new file mode 100644 index 0000000..824589e --- /dev/null +++ b/dirconvert.1 @@ -0,0 +1,53 @@ +.\"- +.\" Copyright (c) 2021 +.\" Cameron Katri. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY CAMERON KATRI AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL CAMERON KATRI OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd April 27, 2021 +.Dt DIRCONVERT 1 +.Os +.Sh NAME +.Nm dirconvert +.Nd Convert color strings between LSCOLORS and LS_COLORS format +.Sh SYNOPSIS +.Nm +.Ar LSCOLORS | LS_COLORS +.Sh DESCRIPTION +The +.Nm +utility reads the inputed string and converts that string into the alternative format. +If the input is a single dash +.Pq Sq Fl +.Nm +reads from the standard input. +.El +.Sh EXIT STATUS +.Ex -std +.Sh EXAMPLE +Convert LS_COLORS to LSCOLORS format: +.Bd -literal -offset -indent +$ dirconvert "$LS_COLORS" +ExgxdxGxGxDxdxHxHxHeEx +.Ed +.Sh SEE ALSO +.Xr opendirconvert 1 diff --git a/dirconvert.c b/dirconvert.c index 510821b..f2d03ef 100644 --- a/dirconvert.c +++ b/dirconvert.c @@ -98,6 +98,6 @@ usage(const char *progname) char *path; path = strdup(progname); - (void)fprintf(stderr, "usage: %s LSCOLORS|LS_COLORS\n", basename(path)); + (void)fprintf(stderr, "usage: %s LSCOLORS | LS_COLORS\n", basename(path)); exit(EX_USAGE); } diff --git a/opendircolors.1 b/opendircolors.1 new file mode 100644 index 0000000..8291328 --- /dev/null +++ b/opendircolors.1 @@ -0,0 +1,89 @@ +.\"- +.\" Copyright (c) 2021 +.\" Cameron Katri. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY CAMERON KATRI AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL CAMERON KATRI OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd April 27, 2021 +.Dt OPENDIRCOLORS 1 +.Os +.Sh NAME +.Nm opendircolors +.Nd Generate colors for +.Xr ls 1 +.Sh SYNOPSIS +.Nm +.Op Fl bch +.Ar file +.Sh DESCRIPTION +The +.Nm +utility reads the inputed file and generates values for +.Ev LSCOLORS +and +.Ev LS_COLORS . +This is a near drop in replacement for GNU's +.Xr dircolors 1 , +except it does not contain +.Fl p +or have any default values. If +.Ar file +is a single dash +.Pq Sq Fl +.Nm +reads from the standard input. +.Pp +The options are as follows: +.Bl -tag -width indent +.It Fl b , -sh , -bourne-shell +Format the output for use with a bourne-shell. +.It Fl c , -csh , -c-shell +Format the output for use with +.Xr csh 1 +or +.Xr tcsh 1 . +.It Fl h , -help +.El +.Sh ENVIRONMENT +.Bl -tag -width indent +.It Ev LSCOLORS +The color string used for +.Xr ls 1 . +.It Ev LS_COLORS +The color string for GNU +.Xr ls 1 +and various other utilities such as +.Xr tree 1 . +.El +.Sh EXIT STATUS +.Ex -std +.Sh EXAMPLE +Add 'eval "`opendircolors ~/.dir_colors`"' to your +.Pa .shrc +to automatically set LSCOLORS and LS_COLORS. +.Sh SEE ALSO +.Xr dirconvert 1 +.Sh HISTORY +The +.Xr dircolors 1 +utility first appeared in GNU coreutils on Apr 29, 1996, written by +.%A H. Peter Anvin . diff --git a/opendircolors.c b/opendircolors.c index da87fed..bda00dc 100644 --- a/opendircolors.c +++ b/opendircolors.c @@ -46,6 +46,7 @@ static const struct option long_options[] = { /* no clang-format */ { "bourne-shell", no_argument, NULL, 'b' }, /**/ { "sh", no_argument, NULL, 'b' }, /**/ { "csh", no_argument, NULL, 'c' }, /**/ + { "c-shell", no_argument, NULL, 'c' }, /**/ { NULL, no_argument, NULL, 0 } }; @@ -67,18 +68,18 @@ main(int argc, char **argv) int ch; FILE *fd; char *prefix = "LS_COLORS='"; - char *suffix = "';\nexport LS_COLORS"; + char *suffix = "';\nexport LS_COLORS;"; char *lsprefix = "LSCOLORS='"; - char *lssuffix = "';\nexport LSCOLORS"; + char *lssuffix = "';\nexport LSCOLORS;"; while ( (ch = getopt_long(argc, argv, "hbc", long_options, NULL)) != -1) { switch (ch) { case 'b': prefix = "LS_COLORS='"; - suffix = "';\nexport LS_COLORS"; + suffix = "';\nexport LS_COLORS;"; lsprefix = "LSCOLORS='"; - lssuffix = "';\nexport LSCOLORS"; + lssuffix = "';\nexport LSCOLORS;"; break; case 'c': prefix = "setenv LS_COLORS '"; -- cgit v1.2.3-56-ge451