我怎样才能让 pest.rs 扁平化语法?

How can I tell pest.rs to flatten grammar?

假设我有这样的规则,

key = { ASCII_ALPHA ~ ( ASCII_ALPHA | "_" )+ }
value = { (!NEWLINE ~ ANY)+ }
keyvalue = { key ~ "=" ~ value?  }
option = { key }

这支持一个

K=V
K=
K

想要 set/unset 一个 key,并指定一个 option,我不喜欢的是 option 的语法,它会产生一个 AST像这样,

rule: option,
span: Span {
    str: "check_local_user",
    start: 302,
    end: 318,
},
inner: [
    Pair {
        rule: key,
        span: Span {
            str: "check_local_user",
            start: 302,
            end: 318,
        },
        inner: [],
    },
],

我不喜欢我的 optionkey 有内在关系。我只是想让 option 具有与 key 相同的语法。 Pest.rs 中是否有任何方法可以编写这样的语法

inner { myStuff }
outer = { inner }

扁平化为

outer = { myStuff }

使用Atomic Parsing Token @,我可以做到这一点。

option = @{ key }

记录为,

Any rules called by atomic rules do not generate token pairs.