mirror of
https://github.com/tmux/tmux.git
synced 2025-09-03 14:27:09 +00:00
Tidy up and improve target (-t) argument parsing:
- move the code back into cmd.c and merge with the existing functions where possible; - accept "-tttyp0" as well as "-t/dev/ttyp0" for clients; - when looking up session names, try an exact match first, and if that fails look for it as an fnmatch pattern and then as the start of a name - if more that one session matches an error is given; so if there is one session called "mysession", -tmysession, -tmysess, -tmysess* are equivalent but if there is also "mysession2", the last two are errors; - similarly for windows, if the argument is not a valid index or exact window name match, try it against the window names as an fnmatch pattern and a prefix.
This commit is contained in:
9
tmux.h
9
tmux.h
@ -1076,11 +1076,6 @@ int paste_replace(struct paste_stack *, u_int, char *);
|
||||
/* clock.c */
|
||||
void clock_draw(struct screen_write_ctx *, u_int, int);
|
||||
|
||||
/* arg.c */
|
||||
struct client *arg_parse_client(const char *);
|
||||
struct session *arg_parse_session(const char *);
|
||||
int arg_parse_window(const char *, struct session **, int *);
|
||||
|
||||
/* cmd.c */
|
||||
struct cmd *cmd_parse(int, char **, char **);
|
||||
int cmd_exec(struct cmd *, struct cmd_ctx *);
|
||||
@ -1094,7 +1089,9 @@ struct session *cmd_current_session(struct cmd_ctx *);
|
||||
struct client *cmd_find_client(struct cmd_ctx *, const char *);
|
||||
struct session *cmd_find_session(struct cmd_ctx *, const char *);
|
||||
struct winlink *cmd_find_window(
|
||||
struct cmd_ctx *, const char *, struct session **);
|
||||
struct cmd_ctx *, const char *, struct session **);
|
||||
int cmd_find_index(
|
||||
struct cmd_ctx *, const char *, struct session **);
|
||||
extern const struct cmd_entry *cmd_table[];
|
||||
extern const struct cmd_entry cmd_attach_session_entry;
|
||||
extern const struct cmd_entry cmd_bind_key_entry;
|
||||
|
Reference in New Issue
Block a user