> This page is for NeMo Relay, version v0.9.4.
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.0) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.10.0: https://docs.nvidia.com/nemo/relay/v0.10.0/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt
> - v0.6.0: https://docs.nvidia.com/nemo/relay/v0.6.0/llms.txt
> - v0.5.0: https://docs.nvidia.com/nemo/relay/v0.5.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Macro editor_config

> Implements `EditorConfig` for a configuration type.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

```rust
macro_rules! editor_config {
    (
        impl $ty:ty {
            $(
                $field:ident => {
                    label: $label:literal,
                    kind: $kind:ident
                    $(, name: $name:literal)?
                    $(, values: [$($value:literal),* $(,)?])?
                    $(, optional: $optional:literal)?
                    $(, nested: $nested:ty)?
                    $(, default: $default:ty)?
                    $(, list: $list:expr)?
                    $(, map: $map:expr)?
                    $(, tagged_union: $tagged_union:expr)?
                    $(,)?
                }
            ),* $(,)?
        }
    ) => { ... };
    (@name $field:ident) => { ... };
    (@name $field:ident $name:literal) => { ... };
    (@kind Boolean) => { ... };
    (@kind String) => { ... };
    (@kind Integer) => { ... };
    (@kind Float) => { ... };
    (@kind Enum) => { ... };
    (@kind IntegerEnum) => { ... };
    (@kind StringMap) => { ... };
    (@kind Json) => { ... };
    (@kind List) => { ... };
    (@kind Map) => { ... };
    (@kind TaggedUnion) => { ... };
    (@kind DiscriminatedSection) => { ... };
    (@kind Section) => { ... };
    (@values) => { ... };
    (@values $($value:literal),*) => { ... };
    (@optional) => { ... };
    (@optional $optional:literal) => { ... };
    (@nested) => { ... };
    (@nested $nested:ty) => { ... };
    (@default) => { ... };
    (@default $default:ty) => { ... };
    (@collection) => { ... };
    (@collection $collection:expr) => { ... };
    (@tagged_union) => { ... };
    (@tagged_union $tagged_union:expr) => { ... };
}
```

Implements [`EditorConfig`](/reference/api/rust-library-reference/nemo-relay/config_editor/trait-editorconfig) for a configuration type.

This macro intentionally keeps editor metadata next to the Rust config type while avoiding proc-macro reflection. Field order is declaration order inside the macro invocation.