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]