2015-06-02 2 views
2

У меня есть приложение командной строки, использующее boost :: program_options.с использованием 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?

Заранее спасибо.

ответ

0

Да, вы можете использовать его, но вам придется писать его самостоятельно. Вероятно, легче полагаться на «стандартные» механизмы, обычно используемые в сценариях автоматического завершения.

Я думаю, что bash_completion поставляется с достаточным умением, чтобы DoTheRightThing дал простой список длинных имен опций.

+0

спасибо, это уже был полезный указатель - мне не было знакомо, как автоматическое завершение обычно работает вообще, теперь ваш ответ подталкивает меня к тому, чтобы предоставить список имен опций для завершения bash. – volzo

Смежные вопросы