aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCameron Katri <me@cameronkatri.com>2021-04-27 17:54:25 -0400
committerCameron Katri <me@cameronkatri.com>2021-04-27 17:54:25 -0400
commitfab6c2fb8df283123d8e259be7c70ae5f391f3bc (patch)
treee5b5e87bfd17e8637c58955509ffcbd3c440c2be
parent82d8956ab4790196034417d148fcb73812b269d9 (diff)
downloadopendircolors-fab6c2fb8df283123d8e259be7c70ae5f391f3bc.tar.gz
opendircolors-fab6c2fb8df283123d8e259be7c70ae5f391f3bc.tar.zst
opendircolors-fab6c2fb8df283123d8e259be7c70ae5f391f3bc.zip
Write manpages for dirconvert and opendircolors
-rw-r--r--Makefile10
-rw-r--r--dirconvert.153
-rw-r--r--dirconvert.c2
-rw-r--r--opendircolors.189
-rw-r--r--opendircolors.c9
5 files changed, 152 insertions, 11 deletions
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 '";