i3
|
#include "all.h"
#include <fcntl.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <libgen.h>
#include <xcb/xcb_xrm.h>
#include "GENERATED_config_enums.h"
#include "GENERATED_config_tokens.h"
#include "GENERATED_config_call.h"
Go to the source code of this file.
Data Structures | |
struct | token |
struct | tokenptr |
Typedefs | |
typedef struct token | cmdp_token |
typedef struct tokenptr | cmdp_token_ptr |
Functions | |
static void | push_string (struct stack *ctx, const char *identifier, const char *str) |
static void | push_long (struct stack *ctx, const char *identifier, long num) |
static const char * | get_string (struct stack *ctx, const char *identifier) |
static long | get_long (struct stack *ctx, const char *identifier) |
static void | clear_stack (struct stack *ctx) |
static void | next_state (const cmdp_token *token, struct parser_ctx *ctx) |
static const char * | start_of_line (const char *walk, const char *beginning) |
static char * | single_line (const char *start) |
static void | parse_config (struct parser_ctx *ctx, const char *input, struct context *context) |
void | start_config_error_nagbar (const char *configpath, bool has_errors) |
Launch nagbar to indicate errors in the configuration file. | |
static void | upsert_variable (struct variables_head *variables, char *key, char *value) |
static char * | get_resource (char *name) |
void | free_variables (struct parser_ctx *ctx) |
Releases the memory of all variables in ctx. | |
parse_file_result_t | parse_file (struct parser_ctx *ctx, const char *f, IncludedFile *included_file) |
Parses the given file by first replacing the variables, then calling parse_config and launching i3-nagbar if use_nagbar is true. | |
Variables | |
xcb_xrm_database_t * | database = NULL |
pid_t | config_error_nagbar_pid = -1 |
typedef struct token cmdp_token |
typedef struct tokenptr cmdp_token_ptr |
|
static |
Definition at line 154 of file config_parser.c.
References ctx.
Referenced by next_state(), and parse_config().
void free_variables | ( | struct parser_ctx * | ctx | ) |
Releases the memory of all variables in ctx.
Definition at line 689 of file config_parser.c.
References ctx, FREE, Variable::key, SLIST_EMPTY, SLIST_FIRST, SLIST_REMOVE_HEAD, and Variable::value.
Referenced by load_configuration().
|
static |
Definition at line 142 of file config_parser.c.
References ctx.
|
static |
Definition at line 660 of file config_parser.c.
References conn, database, and ELOG.
Referenced by parse_file().
|
static |
Definition at line 130 of file config_parser.c.
References ctx.
|
static |
Definition at line 171 of file config_parser.c.
References token::call_identifier, clear_stack(), ctx, token::extra, CommandResultIR::next_state, token::next_state, and subcommand_output.
Referenced by parse_config().
|
static |
Definition at line 233 of file config_parser.c.
References tokenptr::array, clear_stack(), ctx, DLOG, ELOG, context::filename, context::has_errors, token::identifier, tokenptr::n, token::name, next_state(), push_long(), push_string(), sasprintf(), scalloc(), single_line(), smalloc(), start_of_line(), and subcommand_output.
Referenced by parse_file().
parse_file_result_t parse_file | ( | struct parser_ctx * | ctx, |
const char * | f, | ||
IncludedFile * | included_file ) |
Parses the given file by first replacing the variables, then calling parse_config and launching i3-nagbar if use_nagbar is true.
The return value is a boolean indicating whether there were errors during parsing.
Definition at line 705 of file config_parser.c.
References check_for_duplicate_bindings(), ctx, database, DLOG, ELOG, context::filename, FREE, get_resource(), context::has_errors, context::has_warnings, i3_version, Variable::key, context::line_copy, LOG, Variable::next_match, parse_config(), PARSE_FILE_CONFIG_ERRORS, PARSE_FILE_FAILED, PARSE_FILE_SUCCESS, IncludedFile::raw_contents, scalloc(), SLIST_FOREACH, sstrdup(), start_config_error_nagbar(), upsert_variable(), Variable::value, and IncludedFile::variable_replaced_contents.
Referenced by CFGFUN(), and load_configuration().
|
static |
|
static |
Definition at line 80 of file config_parser.c.
References ctx, sasprintf(), and sstrdup().
Referenced by parse_config().
|
static |
Definition at line 224 of file config_parser.c.
References sstrdup().
Referenced by parse_config().
void start_config_error_nagbar | ( | const char * | configpath, |
bool | has_errors ) |
Launch nagbar to indicate errors in the configuration file.
launch nagbar to indicate errors in the configuration file.
Definition at line 597 of file config_parser.c.
References config, config_error_nagbar_pid, errorfilename, Config::font, context::has_errors, Font::pattern, sasprintf(), and start_nagbar().
Referenced by parse_file(), and translate_keysyms().
|
static |
Definition at line 210 of file config_parser.c.
Referenced by parse_config().
|
static |
Definition at line 626 of file config_parser.c.
References DLOG, FREE, Variable::key, scalloc(), SLIST_FOREACH, SLIST_INSERT_AFTER, SLIST_INSERT_HEAD, sstrdup(), and Variable::value.
Referenced by parse_file().
pid_t config_error_nagbar_pid = -1 |
Definition at line 45 of file config_parser.c.
Referenced by cmd_reload(), i3_exit(), i3_restart(), and start_config_error_nagbar().
xcb_xrm_database_t* database = NULL |
Definition at line 42 of file config_parser.c.
Referenced by get_resource(), and parse_file().