X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=blobdiff_plain;f=include%2Fconfig_parser.h;h=009538f2d40625d31ba19976aeab2e4d88a63a8f;hp=6f1b5315af5e0b98989609844dbb14536560e711;hb=HEAD;hpb=10d7c1a993433ba7149704933f6d8b62cd4401f7 diff --git a/include/config_parser.h b/include/config_parser.h index 6f1b5315..009538f2 100644 --- a/include/config_parser.h +++ b/include/config_parser.h @@ -2,23 +2,27 @@ * 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 * */ #pragma once +#include + #include +SLIST_HEAD(variables_head, Variable); 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; @@ -28,11 +32,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); +bool parse_file(const char *f, bool use_nagbar);