使用boost program_options和自动完成

using boost program_options and auto completion

本文关键字:options boost program 使用      更新时间:2023-10-16

我有一个命令行应用程序使用boost::program_options.

它已经通过program_options的异常处理通知用户诸如模糊参数之类的事情:

Error occured when parsing arguments: option '--foo' is ambiguous and 
matches 'foo_do', and 'foo_bar'

如果参数的子字符串不是二义性的,它也使用它来识别匹配的命令(即,如果我输入"foo_b",它将完成为"foo_bar")。

是否有任何简单的方法来利用这个已经可用的知识,简单的命令行自动完成?

有关于如何传递关于命令行参数的静态信息到bash的自动完成以及program_options的经验吗?

是的,您可以利用它,但是您必须自己编写它。依赖通常在自动完成脚本中使用的"标准"机制可能更容易。

我认为bash_completion有足够的智能,它会DoTheRightThing给出一个普通的长选项名称列表