mirror of
				https://github.com/tmux/tmux.git
				synced 2025-10-26 12:27:15 +00:00 
			
		
		
		
	Add -i to find-window to ignore case.
This commit is contained in:
		| @@ -32,8 +32,8 @@ const struct cmd_entry cmd_find_window_entry = { | ||||
| 	.name = "find-window", | ||||
| 	.alias = "findw", | ||||
|  | ||||
| 	.args = { "CNrt:TZ", 1, 1 }, | ||||
| 	.usage = "[-CNrTZ] " CMD_TARGET_PANE_USAGE " match-string", | ||||
| 	.args = { "CiNrt:TZ", 1, 1 }, | ||||
| 	.usage = "[-CiNrTZ] " CMD_TARGET_PANE_USAGE " match-string", | ||||
|  | ||||
| 	.target = { 't', CMD_FIND_PANE, 0 }, | ||||
|  | ||||
| @@ -47,7 +47,7 @@ cmd_find_window_exec(struct cmd *self, struct cmdq_item *item) | ||||
| 	struct args		*args = cmd_get_args(self), *new_args; | ||||
| 	struct cmd_find_state	*target = cmdq_get_target(item); | ||||
| 	struct window_pane	*wp = target->wp; | ||||
| 	const char		*s = args->argv[0]; | ||||
| 	const char		*s = args->argv[0], *suffix = ""; | ||||
| 	char			*filter, *argv = { NULL }; | ||||
| 	int			 C, N, T; | ||||
|  | ||||
| @@ -55,62 +55,41 @@ cmd_find_window_exec(struct cmd *self, struct cmdq_item *item) | ||||
| 	N = args_has(args, 'N'); | ||||
| 	T = args_has(args, 'T'); | ||||
|  | ||||
| 	if (args_has(args, 'r') && args_has(args, 'i')) | ||||
| 		suffix = "/ri"; | ||||
| 	else if (args_has(args, 'r')) | ||||
| 		suffix = "/r"; | ||||
| 	else if (args_has(args, 'i')) | ||||
| 		suffix = "/i"; | ||||
|  | ||||
| 	if (!C && !N && !T) | ||||
| 		C = N = T = 1; | ||||
|  | ||||
| 	if (!args_has(args, 'r')) { | ||||
| 		if (C && N && T) { | ||||
| 			xasprintf(&filter, | ||||
| 			    "#{||:" | ||||
| 			    "#{C:%s},#{||:#{m:*%s*,#{window_name}}," | ||||
| 			    "#{m:*%s*,#{pane_title}}}}", | ||||
| 			    s, s, s); | ||||
| 		} else if (C && N) { | ||||
| 			xasprintf(&filter, | ||||
| 			    "#{||:#{C:%s},#{m:*%s*,#{window_name}}}", | ||||
| 			    s, s); | ||||
| 		} else if (C && T) { | ||||
| 			xasprintf(&filter, | ||||
| 			    "#{||:#{C:%s},#{m:*%s*,#{pane_title}}}", | ||||
| 			    s, s); | ||||
| 		} else if (N && T) { | ||||
| 			xasprintf(&filter, | ||||
| 			    "#{||:#{m:*%s*,#{window_name}}," | ||||
| 			    "#{m:*%s*,#{pane_title}}}", | ||||
| 			    s, s); | ||||
| 		} else if (C) | ||||
| 			xasprintf(&filter, "#{C:%s}", s); | ||||
| 		else if (N) | ||||
| 			xasprintf(&filter, "#{m:*%s*,#{window_name}}", s); | ||||
| 		else | ||||
| 			xasprintf(&filter, "#{m:*%s*,#{pane_title}}", s); | ||||
| 	} else { | ||||
| 		if (C && N && T) { | ||||
| 			xasprintf(&filter, | ||||
| 			    "#{||:" | ||||
| 			    "#{C/r:%s},#{||:#{m/r:%s,#{window_name}}," | ||||
| 			    "#{m/r:%s,#{pane_title}}}}", | ||||
| 			    s, s, s); | ||||
| 		} else if (C && N) { | ||||
| 			xasprintf(&filter, | ||||
| 			    "#{||:#{C/r:%s},#{m/r:%s,#{window_name}}}", | ||||
| 			    s, s); | ||||
| 		} else if (C && T) { | ||||
| 			xasprintf(&filter, | ||||
| 			    "#{||:#{C/r:%s},#{m/r:%s,#{pane_title}}}", | ||||
| 			    s, s); | ||||
| 		} else if (N && T) { | ||||
| 			xasprintf(&filter, | ||||
| 			    "#{||:#{m/r:%s,#{window_name}}," | ||||
| 			    "#{m/r:%s,#{pane_title}}}", | ||||
| 			    s, s); | ||||
| 		} else if (C) | ||||
| 			xasprintf(&filter, "#{C/r:%s}", s); | ||||
| 		else if (N) | ||||
| 			xasprintf(&filter, "#{m/r:%s,#{window_name}}", s); | ||||
| 		else | ||||
| 			xasprintf(&filter, "#{m/r:%s,#{pane_title}}", s); | ||||
| 	} | ||||
| 	if (C && N && T) { | ||||
| 		xasprintf(&filter, | ||||
| 		    "#{||:" | ||||
| 		    "#{C%s:%s},#{||:#{m%s:*%s*,#{window_name}}," | ||||
| 		    "#{m%s:*%s*,#{pane_title}}}}", | ||||
| 		    suffix, s, suffix, s, suffix, s); | ||||
| 	} else if (C && N) { | ||||
| 		xasprintf(&filter, | ||||
| 		    "#{||:#{C%s:%s},#{m%s:*%s*,#{window_name}}}", | ||||
| 		    suffix, s, suffix, s); | ||||
| 	} else if (C && T) { | ||||
| 		xasprintf(&filter, | ||||
| 		    "#{||:#{C%s:%s},#{m%s:*%s*,#{pane_title}}}", | ||||
| 		    suffix, s, suffix, s); | ||||
| 	} else if (N && T) { | ||||
| 		xasprintf(&filter, | ||||
| 		    "#{||:#{m%s:*%s*,#{window_name}}," | ||||
| 		    "#{m%s:*%s*,#{pane_title}}}", | ||||
| 		    suffix, s, suffix, s); | ||||
| 	} else if (C) | ||||
| 		xasprintf(&filter, "#{C%s:%s}", suffix, s); | ||||
| 	else if (N) | ||||
| 		xasprintf(&filter, "#{m%s:*%s*,#{window_name}}", suffix, s); | ||||
| 	else | ||||
| 		xasprintf(&filter, "#{m%s:*%s*,#{pane_title}}", suffix, s); | ||||
|  | ||||
| 	new_args = args_parse("", 1, &argv); | ||||
| 	if (args_has(args, 'Z')) | ||||
|   | ||||
							
								
								
									
										4
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								tmux.1
									
									
									
									
									
								
							| @@ -2079,7 +2079,7 @@ With | ||||
| .Fl b , | ||||
| other commands are not blocked from running until the indicator is closed. | ||||
| .It Xo Ic find-window | ||||
| .Op Fl rCNTZ | ||||
| .Op Fl iCNrTZ | ||||
| .Op Fl t Ar target-pane | ||||
| .Ar match-string | ||||
| .Xc | ||||
| @@ -2098,6 +2098,8 @@ matches only visible window contents, | ||||
| matches only the window name and | ||||
| .Fl T | ||||
| matches only the window title. | ||||
| .Fl i | ||||
| makes the search ignore case. | ||||
| The default is | ||||
| .Fl CNT . | ||||
| .Fl Z | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 nicm
					nicm