Explorar o código

Reformat usage and separate version from it

Signed-off-by: Christoph Lohmann <20h@r-36.net>
Quentin Rameau %!s(int64=9) %!d(string=hai) anos
pai
achega
bd5fdbe64c
Modificáronse 2 ficheiros con 33 adicións e 29 borrados
  1. 17 21
      st.1
  2. 16 8
      st.c

+ 17 - 21
st.1

@@ -3,47 +3,43 @@
 st \- simple terminal
 st \- simple terminal
 .SH SYNOPSIS
 .SH SYNOPSIS
 .B st
 .B st
-.RB [ \-a ]
+.RB [ \-aiv ]
 .RB [ \-c
 .RB [ \-c
 .IR class ]
 .IR class ]
 .RB [ \-f
 .RB [ \-f
 .IR font ]
 .IR font ]
 .RB [ \-g
 .RB [ \-g
 .IR geometry ]
 .IR geometry ]
-.RB [ \-i ]
 .RB [ \-o
 .RB [ \-o
-.IR file ]
-.RB [ \-t 
-.IR title ]
+.IR iofile ]
 .RB [ \-T
 .RB [ \-T
 .IR title ]
 .IR title ]
+.RB [ \-t
+.IR title ]
 .RB [ \-l
 .RB [ \-l
 .IR line ]
 .IR line ]
-.RB [ \-w 
+.RB [ \-w
 .IR windowid ]
 .IR windowid ]
-.RB [ \-v ]
-.RB [ \-e
-.IR command ...]
-.RI [ commands ...]
+.RB [[ \-e ]
+.IR command
+.RI [ arguments ...]]
 .PP
 .PP
 .B st
 .B st
-.RB [ \-a ]
+.RB [ \-aiv ]
 .RB [ \-c
 .RB [ \-c
 .IR class ]
 .IR class ]
 .RB [ \-f
 .RB [ \-f
 .IR font ]
 .IR font ]
 .RB [ \-g
 .RB [ \-g
 .IR geometry ]
 .IR geometry ]
-.RB [ \-i ]
 .RB [ \-o
 .RB [ \-o
-.IR file ]
-.RB [ \-t
-.IR title ]
+.IR iofile ]
 .RB [ \-T
 .RB [ \-T
 .IR title ]
 .IR title ]
+.RB [ \-t
+.IR title ]
 .RB [ \-w
 .RB [ \-w
 .IR windowid ]
 .IR windowid ]
-.RB [ \-v ]
 .RB \-l
 .RB \-l
 .IR line
 .IR line
 .RI [ stty_args ...]
 .RI [ stty_args ...]
@@ -78,14 +74,14 @@ writes all the I/O to
 This feature is useful when recording st sessions. A value of "-" means
 This feature is useful when recording st sessions. A value of "-" means
 standard output.
 standard output.
 .TP
 .TP
-.BI \-t " title"
+.BI \-T " title"
 defines the window title (default 'st').
 defines the window title (default 'st').
 .TP
 .TP
-.BI \-T " title"
+.BI \-t " title"
 defines the window title (default 'st').
 defines the window title (default 'st').
 .TP
 .TP
 .BI \-w " windowid"
 .BI \-w " windowid"
-embeds st within the window identified by 
+embeds st within the window identified by
 .I windowid
 .I windowid
 .TP
 .TP
 .BI \-l " line"
 .BI \-l " line"
@@ -111,9 +107,9 @@ for more arguments and cases.
 .B \-v
 .B \-v
 prints version information to stderr, then exits.
 prints version information to stderr, then exits.
 .TP
 .TP
-.BI \-e " program " [ " arguments " "... ]"
+.BI \-e " command " [ " arguments " "... ]"
 st executes
 st executes
-.I program
+.I command
 instead of the shell.  If this is used it
 instead of the shell.  If this is used it
 .B must be the last option
 .B must be the last option
 on the command line, as in xterm / rxvt.
 on the command line, as in xterm / rxvt.

+ 16 - 8
st.c

@@ -486,6 +486,7 @@ static void *xrealloc(void *, size_t);
 static char *xstrdup(char *);
 static char *xstrdup(char *);
 
 
 static void usage(void);
 static void usage(void);
+static void version(void);
 
 
 static void (*handler[LASTEvent])(XEvent *) = {
 static void (*handler[LASTEvent])(XEvent *) = {
 	[KeyPress] = kpress,
 	[KeyPress] = kpress,
@@ -4331,14 +4332,19 @@ run(void)
 void
 void
 usage(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
 int
@@ -4385,6 +4391,8 @@ main(int argc, char *argv[])
 		opt_embed = EARGF(usage());
 		opt_embed = EARGF(usage());
 		break;
 		break;
 	case 'v':
 	case 'v':
+		version();
+		break;
 	default:
 	default:
 		usage();
 		usage();
 	} ARGEND;
 	} ARGEND;