我正在编写一个简单的Commander CLI,作为我正在从事的项目的一部分。
Commander有其自己的错误处理方法。例如,如果用户输入了无效命令,则Commander将打印一条用户友好的消息:
$ my-commander-program some-invalid-command
invalid command. Use --help for more information.
我想用我自己的消息替换此消息,以便输出与我的程序的其余部分更加一致。例如:
$ my-commander-program some-invalid-command
[ERR ] 'some-invalid-command' is not a known command.
Use --help to see a list of valid commands.
我看过Commander的README.md,其中包含许多有关如何使用Commander的示例,但是我从那里找不到如何执行此操作。
我的程序是使用Commander的“经典”风格编写的,其中一个导入了commander/import
,并从顶层使用了program
和command
之类的方法,而不是创建一个包含以下内容的类: Commander::Methods
。例如:
require 'commander/import'
program :name, 'my-commander-program'
program :version, '1.0.0'
program :description, 'Example'
command :example do |c|
c.action do |args, options|
puts "Invoked!"
end
end
如何才能替换此错误消息?我正在使用Commander 4.4.5。