Naming
如果需要修改选项的长名称,可以使用 OptionNameModifier 接口,该接口是一个简单的 Function<String, String>。在这个界面中,输入原始选项名称,然后输出修改后的名称。
可以在 CommandRegistration 中为每个 OptionSpec 定义修饰符,默认情况下可以作为 bean 或通过配置属性进行全局定义。在 OptionSpec 中手动定义的修饰符优先于全局定义的修饰符。默认情况下没有定义全局修饰符。
您可以在 CommandRegistration 中使用一个选项来定义一个修饰符。
Unresolved include directive in modules/ROOT/pages/options/naming.adoc - include::../../../../src/test/java/org/springframework/shell/docs/OptionSnippets.java[]
将一个 singleton bean 添加为类型 OptionNameModifier,即成为全局默认值。
Unresolved include directive in modules/ROOT/pages/options/naming.adoc - include::../../../../src/test/java/org/springframework/shell/docs/OptionSnippets.java[]
还可以使用 spring.shell.option.naming.case-type 仅添加配置属性,它会根据已定义的类型自动配置一个。
noop 不执行任何操作,camel、snake、kebab、pascal 分别激活 camelCase、snake_case、kebab-case 或 PascalCase 的内置修饰符。
|
如果直接创建 |
spring:
shell:
option:
naming:
case-type: noop
# case-type: camel
# case-type: snake
# case-type: kebab
# case-type: pascal
例如,在这种注释方法中定义的选项。
Unresolved include directive in modules/ROOT/pages/options/naming.adoc - include::../../../../src/test/java/org/springframework/shell/docs/OptionSnippets.java[]
对于该命令,默认的 help 将显示直接来自 @ShellOption 的名称。
OPTIONS
--from_snake String
[Mandatory]
--fromCamel String
[Mandatory]
--from-kebab String
[Mandatory]
--FromPascal String
[Mandatory]
定义 spring.shell.option.naming.case-type=kebab,然后添加默认修改符,选项名称随后看起来像这样。
OPTIONS
--from-snake String
[Mandatory]
--from-camel String
[Mandatory]
--from-kebab String
[Mandatory]
--from-pascal String
[Mandatory]