[BACK]Return to cmd-find-window.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/cmd-find-window.c between version 1.53 and 1.54

version 1.53, 2021/08/21 10:22:39 version 1.54, 2021/08/21 20:46:43
Line 48 
Line 48 
         struct cmd_find_state   *target = cmdq_get_target(item);          struct cmd_find_state   *target = cmdq_get_target(item);
         struct window_pane      *wp = target->wp;          struct window_pane      *wp = target->wp;
         const char              *s = args_string(args, 0), *suffix = "";          const char              *s = args_string(args, 0), *suffix = "";
         char                    *filter;          struct args_value       *filter;
         int                      C, N, T;          int                      C, N, T;
   
         C = args_has(args, 'C');          C = args_has(args, 'C');
Line 65 
Line 65 
         if (!C && !N && !T)          if (!C && !N && !T)
                 C = N = T = 1;                  C = N = T = 1;
   
           filter = xcalloc(1, sizeof *filter);
           filter->type = ARGS_STRING;
   
         if (C && N && T) {          if (C && N && T) {
                 xasprintf(&filter,                  xasprintf(&filter->string,
                     "#{||:"                      "#{||:"
                     "#{C%s:%s},#{||:#{m%s:*%s*,#{window_name}},"                      "#{C%s:%s},#{||:#{m%s:*%s*,#{window_name}},"
                     "#{m%s:*%s*,#{pane_title}}}}",                      "#{m%s:*%s*,#{pane_title}}}}",
                     suffix, s, suffix, s, suffix, s);                      suffix, s, suffix, s, suffix, s);
         } else if (C && N) {          } else if (C && N) {
                 xasprintf(&filter,                  xasprintf(&filter->string,
                     "#{||:#{C%s:%s},#{m%s:*%s*,#{window_name}}}",                      "#{||:#{C%s:%s},#{m%s:*%s*,#{window_name}}}",
                     suffix, s, suffix, s);                      suffix, s, suffix, s);
         } else if (C && T) {          } else if (C && T) {
                 xasprintf(&filter,                  xasprintf(&filter->string,
                     "#{||:#{C%s:%s},#{m%s:*%s*,#{pane_title}}}",                      "#{||:#{C%s:%s},#{m%s:*%s*,#{pane_title}}}",
                     suffix, s, suffix, s);                      suffix, s, suffix, s);
         } else if (N && T) {          } else if (N && T) {
                 xasprintf(&filter,                  xasprintf(&filter->string,
                     "#{||:#{m%s:*%s*,#{window_name}},"                      "#{||:#{m%s:*%s*,#{window_name}},"
                     "#{m%s:*%s*,#{pane_title}}}",                      "#{m%s:*%s*,#{pane_title}}}",
                     suffix, s, suffix, s);                      suffix, s, suffix, s);
         } else if (C)          } else if (C) {
                 xasprintf(&filter, "#{C%s:%s}", suffix, s);                  xasprintf(&filter->string,
         else if (N)                      "#{C%s:%s}",
                 xasprintf(&filter, "#{m%s:*%s*,#{window_name}}", suffix, s);                      suffix, s);
         else          } else if (N) {
                 xasprintf(&filter, "#{m%s:*%s*,#{pane_title}}", suffix, s);                  xasprintf(&filter->string,
                       "#{m%s:*%s*,#{window_name}}",
                       suffix, s);
           } else {
                   xasprintf(&filter->string,
                       "#{m%s:*%s*,#{pane_title}}",
                       suffix, s);
           }
   
         new_args = args_create();          new_args = args_create();
         if (args_has(args, 'Z'))          if (args_has(args, 'Z'))
Line 97 
Line 107 
         args_set(new_args, 'f', filter);          args_set(new_args, 'f', filter);
   
         window_pane_set_mode(wp, NULL, &window_tree_mode, target, new_args);          window_pane_set_mode(wp, NULL, &window_tree_mode, target, new_args);
   
         args_free(new_args);          args_free(new_args);
         free(filter);  
   
         return (CMD_RETURN_NORMAL);          return (CMD_RETURN_NORMAL);
 }  }

Legend:
Removed from v.1.53  
changed lines
  Added in v.1.54