mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-03 16:46:18 +00:00 
			
		
		
		
	Add -F flag to send-keys to expand formats in search-backward and
forward copy mode commands, this makes it easier to use the cursor_word and cursor_line formats. From Anindya Mukherjee in GitHub issue 1964.
This commit is contained in:
		@@ -1673,12 +1673,24 @@ window_copy_cmd_search_backward(struct window_copy_cmd_state *cs)
 | 
			
		||||
	struct window_copy_mode_data	*data = wme->data;
 | 
			
		||||
	u_int				 np = wme->prefix;
 | 
			
		||||
	const char			*argument;
 | 
			
		||||
	char				*expanded;
 | 
			
		||||
 | 
			
		||||
	if (cs->args->argc == 2) {
 | 
			
		||||
		argument = cs->args->argv[1];
 | 
			
		||||
		if (*argument != '\0') {
 | 
			
		||||
			free(data->searchstr);
 | 
			
		||||
			data->searchstr = xstrdup(argument);
 | 
			
		||||
			if (args_has(cs->args, 'F')) {
 | 
			
		||||
				expanded = format_single(NULL, argument, NULL,
 | 
			
		||||
				    NULL, NULL, wme->wp);
 | 
			
		||||
				if (*expanded == '\0') {
 | 
			
		||||
					free(expanded);
 | 
			
		||||
					return (WINDOW_COPY_CMD_NOTHING);
 | 
			
		||||
				}
 | 
			
		||||
				free(data->searchstr);
 | 
			
		||||
				data->searchstr = expanded;
 | 
			
		||||
			} else {
 | 
			
		||||
				free(data->searchstr);
 | 
			
		||||
				data->searchstr = xstrdup(argument);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if (data->searchstr != NULL) {
 | 
			
		||||
@@ -1696,12 +1708,24 @@ window_copy_cmd_search_forward(struct window_copy_cmd_state *cs)
 | 
			
		||||
	struct window_copy_mode_data	*data = wme->data;
 | 
			
		||||
	u_int				 np = wme->prefix;
 | 
			
		||||
	const char			*argument;
 | 
			
		||||
	char				*expanded;
 | 
			
		||||
 | 
			
		||||
	if (cs->args->argc == 2) {
 | 
			
		||||
		argument = cs->args->argv[1];
 | 
			
		||||
		if (*argument != '\0') {
 | 
			
		||||
			free(data->searchstr);
 | 
			
		||||
			data->searchstr = xstrdup(argument);
 | 
			
		||||
			if (args_has(cs->args, 'F')) {
 | 
			
		||||
				expanded = format_single(NULL, argument, NULL,
 | 
			
		||||
				    NULL, NULL, wme->wp);
 | 
			
		||||
				if (*expanded == '\0') {
 | 
			
		||||
					free(expanded);
 | 
			
		||||
					return (WINDOW_COPY_CMD_NOTHING);
 | 
			
		||||
				}
 | 
			
		||||
				free(data->searchstr);
 | 
			
		||||
				data->searchstr = expanded;
 | 
			
		||||
			} else {
 | 
			
		||||
				free(data->searchstr);
 | 
			
		||||
				data->searchstr = xstrdup(argument);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if (data->searchstr != NULL) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user