X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fconfig_parser.h;h=9c23a11df56be737c559087da84a81bc471cd96c;hb=039494165a6ab1b98bb14225e76827d904fa0e69;hp=fb863f3bf7b8e366af6fb262c133503f116efa0c;hpb=2ea94420d31fd45a7c9cfa2301652f3ba1aef84a;p=i3%2Fi3 diff --git a/include/config_parser.h b/include/config_parser.h index fb863f3b..9c23a11d 100644 --- a/include/config_parser.h +++ b/include/config_parser.h @@ -2,24 +2,24 @@ * vim:ts=4:sw=4:expandtab * * i3 - an improved dynamic tiling window manager - * © 2009-2012 Michael Stapelberg and contributors (see also: LICENSE) + * © 2009 Michael Stapelberg and contributors (see also: LICENSE) * * config_parser.h: config parser-related definitions * */ -#ifndef I3_CONFIG_PARSER_H -#define I3_CONFIG_PARSER_H +#pragma once #include extern pid_t config_error_nagbar_pid; /* - * The result of a parse_config call. Currently unused, but the JSON output - * will be useful in the future when we implement a config parsing IPC command. + * An intermediate reprsentation of the result of a parse_config call. + * Currently unused, but the JSON output will be useful in the future when we + * implement a config parsing IPC command. * */ -struct ConfigResult { +struct ConfigResultIR { /* The JSON generator to append a reply to. */ yajl_gen json_gen; @@ -29,13 +29,19 @@ struct ConfigResult { int next_state; }; -struct ConfigResult *parse_config(const char *input, struct context *context); +struct ConfigResultIR *parse_config(const char *input, struct context *context); + +/** + * launch nagbar to indicate errors in the configuration file. + */ +void start_config_error_nagbar(const char *configpath, bool has_errors); /** * Parses the given file by first replacing the variables, then calling - * parse_config and possibly launching i3-nagbar. + * parse_config and launching i3-nagbar if use_nagbar is true. + * + * The return value is a boolean indicating whether there were errors during + * parsing. * */ -void parse_file(const char *f); - -#endif +bool parse_file(const char *f, bool use_nagbar);