Configuration

You can create an ezffi.toml sitting next to your crate's Cargo.toml (workspace configuration not supported) to control the names the macro emits — prefixes, suffixes and case styles for types, methods, free functions and standalone functions. The defaults give you <CrateName><Type> for types and <crate_name>_<fn> for free functions, which is collision-safe by default.

Here's an example file with all the fields declared, set to their default values for a crate named counter:

# `case_style` valid values: "SnakeCase", "CamelCase", "PascalCase",
# "ScreamingSnakeCase", "Raw"

[types]
prefix: "Counter", # CounterTypeName
suffix: null, # String
case_style: CamelCase,

[methods] # Outputs: typename_methodname
prefix: null, # String
suffix: null, # String
case_style: SnakeCase,

[fns] # Outputs: counter_fnname
prefix: "counter_", # String
suffix: null, # String
case_style: SnakeCase,

[free_fns] # Outputs: typename_free
prefix: null, # String
suffix: "_free", # String
case_style: SnakeCase,