Double up /help for server help
While the automatic search via LESS is neat, I don't think it's very useful. Just always open the manual to the COMMANDS section, and fix it to append to LESS rather than replace it.
This commit is contained in:
		
							parent
							
								
									f3a56b0d01
								
							
						
					
					
						commit
						f7f5acbbe2
					
				@ -1,4 +1,4 @@
 | 
			
		||||
.Dd September 30, 2020
 | 
			
		||||
.Dd October  2, 2020
 | 
			
		||||
.Dt CATGIRL 1
 | 
			
		||||
.Os
 | 
			
		||||
.
 | 
			
		||||
@ -338,12 +338,17 @@ with
 | 
			
		||||
and interpret its output
 | 
			
		||||
as input to the current window,
 | 
			
		||||
including as commands.
 | 
			
		||||
.It Ic /help Op Ar search
 | 
			
		||||
.It Ic /help
 | 
			
		||||
View this manual.
 | 
			
		||||
Type
 | 
			
		||||
.Ic q
 | 
			
		||||
to return to
 | 
			
		||||
.Nm .
 | 
			
		||||
.It Ic /help Ar topic
 | 
			
		||||
List the server help for a topic.
 | 
			
		||||
Try
 | 
			
		||||
.Ic /help index
 | 
			
		||||
for a list of topics.
 | 
			
		||||
.It Ic /ignore Op Ar pattern
 | 
			
		||||
List message filtering patterns
 | 
			
		||||
or temporarily add a pattern.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								chat.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								chat.h
									
									
									
									
									
								
							@ -241,6 +241,7 @@ extern struct Replies {
 | 
			
		||||
	uint away;
 | 
			
		||||
	uint ban;
 | 
			
		||||
	uint excepts;
 | 
			
		||||
	uint help;
 | 
			
		||||
	uint invex;
 | 
			
		||||
	uint join;
 | 
			
		||||
	uint list;
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								command.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								command.c
									
									
									
									
									
								
							@ -421,14 +421,20 @@ static void commandExec(uint id, char *params) {
 | 
			
		||||
 | 
			
		||||
static void commandHelp(uint id, char *params) {
 | 
			
		||||
	(void)id;
 | 
			
		||||
	uiHide();
 | 
			
		||||
 | 
			
		||||
	if (params) {
 | 
			
		||||
		ircFormat("HELP :%s\r\n", params);
 | 
			
		||||
		replies.help++;
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	uiHide();
 | 
			
		||||
	pid_t pid = fork();
 | 
			
		||||
	if (pid < 0) err(EX_OSERR, "fork");
 | 
			
		||||
	if (pid) return;
 | 
			
		||||
 | 
			
		||||
	char buf[256];
 | 
			
		||||
	snprintf(buf, sizeof(buf), "ip%s$", (params ?: "COMMANDS"));
 | 
			
		||||
	snprintf(buf, sizeof(buf), "%spCOMMANDS$", (getenv("LESS") ?: ""));
 | 
			
		||||
	setenv("LESS", buf, 1);
 | 
			
		||||
	execlp("man", "man", "1", "catgirl", NULL);
 | 
			
		||||
	dup2(utilPipe[1], STDERR_FILENO);
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								handle.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								handle.c
									
									
									
									
									
								
							@ -302,6 +302,18 @@ static void handleErrorNoMOTD(struct Message *msg) {
 | 
			
		||||
	(void)msg;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void handleReplyHelp(struct Message *msg) {
 | 
			
		||||
	require(msg, false, 3);
 | 
			
		||||
	if (!replies.help) return;
 | 
			
		||||
	urlScan(Network, msg->nick, msg->params[2]);
 | 
			
		||||
	uiWrite(Network, Warm, tagTime(msg), msg->params[2]);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void handleReplyEndOfHelp(struct Message *msg) {
 | 
			
		||||
	(void)msg;
 | 
			
		||||
	if (replies.help) replies.help--;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void handleJoin(struct Message *msg) {
 | 
			
		||||
	require(msg, true, 1);
 | 
			
		||||
	uint id = idFor(msg->params[0]);
 | 
			
		||||
@ -1253,6 +1265,9 @@ static const struct Handler {
 | 
			
		||||
	{ "478", handleErrorBanListFull },
 | 
			
		||||
	{ "482", handleErrorChanopPrivsNeeded },
 | 
			
		||||
	{ "671", handleReplyWhoisGeneric },
 | 
			
		||||
	{ "704", handleReplyHelp },
 | 
			
		||||
	{ "705", handleReplyHelp },
 | 
			
		||||
	{ "706", handleReplyEndOfHelp },
 | 
			
		||||
	{ "900", handleReplyLoggedIn },
 | 
			
		||||
	{ "904", handleErrorSASLFail },
 | 
			
		||||
	{ "905", handleErrorSASLFail },
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user