[hackers] [st 1/2] Reformat usage and separate version from it

From: Quentin Rameau <quinq_AT_fifth.space>
Date: Fri, 29 Jan 2016 22:02:40 +0100

---
 st.1 | 38 +++++++++++++++++---------------------
 st.c | 24 ++++++++++++++++--------
 2 files changed, 33 insertions(+), 29 deletions(-)
diff --git a/st.1 b/st.1
index 187a734..fe2e731 100644
--- a/st.1
+++ b/st.1
_AT_@ -3,47 +3,43 @@
 st \- simple terminal
 .SH SYNOPSIS
 .B st
-.RB [ \-a ]
+.RB [ \-aiv ]
 .RB [ \-c
 .IR class ]
 .RB [ \-f
 .IR font ]
 .RB [ \-g
 .IR geometry ]
-.RB [ \-i ]
 .RB [ \-o
-.IR file ]
-.RB [ \-t 
-.IR title ]
+.IR iofile ]
 .RB [ \-T
 .IR title ]
+.RB [ \-t
+.IR title ]
 .RB [ \-l
 .IR line ]
-.RB [ \-w 
+.RB [ \-w
 .IR windowid ]
-.RB [ \-v ]
-.RB [ \-e
-.IR command ...]
-.RI [ commands ...]
+.RB [[ \-e ]
+.IR command
+.RI [ arguments ...]]
 .PP
 .B st
-.RB [ \-a ]
+.RB [ \-aiv ]
 .RB [ \-c
 .IR class ]
 .RB [ \-f
 .IR font ]
 .RB [ \-g
 .IR geometry ]
-.RB [ \-i ]
 .RB [ \-o
-.IR file ]
-.RB [ \-t
-.IR title ]
+.IR iofile ]
 .RB [ \-T
 .IR title ]
+.RB [ \-t
+.IR title ]
 .RB [ \-w
 .IR windowid ]
-.RB [ \-v ]
 .RB \-l
 .IR line
 .RI [ stty_args ...]
_AT_@ -78,14 +74,14 @@ writes all the I/O to
 This feature is useful when recording st sessions. A value of "-" means
 standard output.
 .TP
-.BI \-t " title"
+.BI \-T " title"
 defines the window title (default 'st').
 .TP
-.BI \-T " title"
+.BI \-t " title"
 defines the window title (default 'st').
 .TP
 .BI \-w " windowid"
-embeds st within the window identified by 
+embeds st within the window identified by
 .I windowid
 .TP
 .BI \-l " line"
_AT_@ -111,9 +107,9 @@ for more arguments and cases.
 .B \-v
 prints version information to stderr, then exits.
 .TP
-.BI \-e " program " [ " arguments " "... ]"
+.BI \-e " command " [ " arguments " "... ]"
 st executes
-.I program
+.I command
 instead of the shell.  If this is used it
 .B must be the last option
 on the command line, as in xterm / rxvt.
diff --git a/st.c b/st.c
index 3a0a519..2bbf484 100644
--- a/st.c
+++ b/st.c
_AT_@ -486,6 +486,7 @@ static void *xrealloc(void *, size_t);
 static char *xstrdup(char *);
 
 static void usage(void);
+static void version(void);
 
 static void (*handler[LASTEvent])(XEvent *) = {
 	[KeyPress] = kpress,
_AT_@ -4331,14 +4332,19 @@ run(void)
 void
 usage(void)
 {
-	die("%s " VERSION " (c) 2010-2016 st engineers\n"
-	"usage: st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]\n"
-	"          [-i] [-t title] [-T title] [-w windowid] [-e command ...]"
-	" [command ...]\n"
-	"       st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]\n"
-	"          [-i] [-t title] [-T title] [-w windowid] -l line"
-	" [stty_args ...]\n",
-	argv0);
+	die("usage: %s [-aiv] [-c class] [-f font] [-g geometry]"
+	" [-o file] [-T title]\n"
+	"          [-t title] [-w windowid] [[-e] command [args ...]]\n"
+	"       %s [-aiv] [-c class] [-f font] [-g geometry]"
+	" [-o file] [-T title]\n"
+	"          [-t title] [-w windowid] -l line [stty_args ...]\n",
+	argv0, argv0);
+}
+
+void
+version(void)
+{
+	die("%s " VERSION " (c) 2010-2016 st engineers\n", argv0);
 }
 
 int
_AT_@ -4385,6 +4391,8 @@ main(int argc, char *argv[])
 		opt_embed = EARGF(usage());
 		break;
 	case 'v':
+		version();
+		break;
 	default:
 		usage();
 	} ARGEND;
-- 
2.7.0
Received on Fri Jan 29 2016 - 22:02:40 CET

This archive was generated by hypermail 2.3.0 : Fri Jan 29 2016 - 22:12:15 CET