pub struct ZigConfig {
pub module_name: Option<String>,
pub features: Option<Vec<String>>,
pub serde_rename_all: Option<String>,
pub rename_fields: HashMap<String, String>,
pub exclude_functions: Vec<String>,
pub exclude_types: Vec<String>,
pub run_wrapper: Option<String>,
pub extra_lint_paths: Vec<String>,
pub languages: Vec<String>,
}Fields§
§module_name: Option<String>§features: Option<Vec<String>>§serde_rename_all: Option<String>Override the serde rename_all strategy for JSON field names (e.g. “camelCase”, “snake_case”). When set, this takes priority over the IR type-level serde_rename_all.
rename_fields: HashMap<String, String>Per-field name remapping for this language. Key is TypeName.field_name, value is the
desired binding field name. Applied after automatic keyword escaping.
exclude_functions: Vec<String>Functions to exclude from Zig binding generation.
exclude_types: Vec<String>Types to exclude from Zig binding generation.
run_wrapper: Option<String>Prefix wrapper for default tool invocations.
extra_lint_paths: Vec<String>Extra paths to append to default lint commands.
languages: Vec<String>List of static-compiled languages supported by the Zig binding.
When set, e2e fixtures whose input.language (or input.config.language)
falls outside this set are omitted from the generated test file entirely.
This bridges the gap between the full language pack and Zig’s
static-compiled grammar set (Zig does not currently dynamically load
grammars at runtime).
Defaults to empty (all languages assumed supported).