mirror of
https://github.com/tmux/tmux.git
synced 2024-12-04 19:58:48 +00:00
Add a -v flag to source-file to show the commands and line numbers.
This commit is contained in:
parent
09e90c1645
commit
8f40796f05
1
cfg.c
1
cfg.c
@ -127,6 +127,7 @@ load_cfg(const char *path, struct client *c, struct cmdq_item *item, int flags,
|
||||
pi.flags = flags;
|
||||
pi.file = path;
|
||||
pi.line = 1;
|
||||
pi.item = item;
|
||||
|
||||
pr = cmd_parse_from_file(f, &pi);
|
||||
fclose(f);
|
||||
|
17
cmd-parse.y
17
cmd-parse.y
@ -76,6 +76,8 @@ static char *cmd_parse_get_error(const char *, u_int, const char *);
|
||||
static void cmd_parse_free_command(struct cmd_parse_command *);
|
||||
static struct cmd_parse_commands *cmd_parse_new_commands(void);
|
||||
static void cmd_parse_free_commands(struct cmd_parse_commands *);
|
||||
static void cmd_parse_print_commands(struct cmd_parse_input *, u_int,
|
||||
struct cmd_list *);
|
||||
|
||||
%}
|
||||
|
||||
@ -497,6 +499,19 @@ cmd_parse_get_error(const char *file, u_int line, const char *error)
|
||||
return (s);
|
||||
}
|
||||
|
||||
static void
|
||||
cmd_parse_print_commands(struct cmd_parse_input *pi, u_int line,
|
||||
struct cmd_list *cmdlist)
|
||||
{
|
||||
char *s;
|
||||
|
||||
if (pi->item != NULL && (pi->flags & CMD_PARSE_VERBOSE)) {
|
||||
s = cmd_list_print(cmdlist, 0);
|
||||
cmdq_print(pi->item, "%u: %s", line, s);
|
||||
free(s);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
cmd_parse_free_command(struct cmd_parse_command *cmd)
|
||||
{
|
||||
@ -653,6 +668,7 @@ cmd_parse_build_commands(struct cmd_parse_commands *cmds,
|
||||
|
||||
if (cmdlist == NULL || cmd->line != line) {
|
||||
if (cmdlist != NULL) {
|
||||
cmd_parse_print_commands(pi, line, cmdlist);
|
||||
cmd_list_move(result, cmdlist);
|
||||
cmd_list_free(cmdlist);
|
||||
}
|
||||
@ -672,6 +688,7 @@ cmd_parse_build_commands(struct cmd_parse_commands *cmds,
|
||||
cmd_list_append(cmdlist, add);
|
||||
}
|
||||
if (cmdlist != NULL) {
|
||||
cmd_parse_print_commands(pi, line, cmdlist);
|
||||
cmd_list_move(result, cmdlist);
|
||||
cmd_list_free(cmdlist);
|
||||
}
|
||||
|
@ -38,8 +38,8 @@ const struct cmd_entry cmd_source_file_entry = {
|
||||
.name = "source-file",
|
||||
.alias = "source",
|
||||
|
||||
.args = { "nq", 1, -1 },
|
||||
.usage = "[-nq] path ...",
|
||||
.args = { "nqv", 1, -1 },
|
||||
.usage = "[-nqv] path ...",
|
||||
|
||||
.flags = 0,
|
||||
.exec = cmd_source_file_exec
|
||||
@ -63,6 +63,8 @@ cmd_source_file_exec(struct cmd *self, struct cmdq_item *item)
|
||||
flags |= CMD_PARSE_QUIET;
|
||||
if (args_has(args, 'n'))
|
||||
flags |= CMD_PARSE_PARSEONLY;
|
||||
if (args_has(args, 'v'))
|
||||
flags |= CMD_PARSE_VERBOSE;
|
||||
utf8_stravis(&cwd, server_client_get_cwd(c, NULL), VIS_GLOB);
|
||||
|
||||
retval = CMD_RETURN_NORMAL;
|
||||
|
4
tmux.1
4
tmux.1
@ -1251,7 +1251,7 @@ and
|
||||
.Fl T
|
||||
show debugging information about jobs and terminals.
|
||||
.It Xo Ic source-file
|
||||
.Op Fl nq
|
||||
.Op Fl nqv
|
||||
.Ar path
|
||||
.Ar ...
|
||||
.Xc
|
||||
@ -1269,6 +1269,8 @@ does not exist.
|
||||
With
|
||||
.Fl n ,
|
||||
the file is parsed but no commands are executed.
|
||||
.Fl v
|
||||
shows the parsed commands and line numbers if possible.
|
||||
.It Ic start-server
|
||||
.D1 (alias: Ic start )
|
||||
Start the
|
||||
|
Loading…
Reference in New Issue
Block a user