tj / commander

The complete solution for Ruby command-line executables
http://visionmedia.github.com/commander
MIT License
1.09k stars 64 forks source link

Option parsing error (incomplete option name) #93

Closed d-ash closed 9 years ago

d-ash commented 9 years ago

Passing only a beginning of a name triggers the option to be set.

For example, if --vagrant option is declared, passing --v or --va... to the script, works as if the full name has been passed.

However, global options work correctly (--v is not equivalent to --vagrant)

d-ash commented 9 years ago

It seems that the problem is in OptionParser, and it's an old issue. Could this be corrected within Commander code?

ggilder commented 9 years ago

Do you have a link to the issue in OptionParser? I would like to understand why it hasn't been fixed there.

d-ash commented 9 years ago

https://www.ruby-forum.com/topic/143551 http://stackoverflow.com/questions/20654065/how-do-i-get-only-long-options-work-in-optionparser-in-ruby I'd agree with the point that this behaviour is potentially dangerous. Options of CLI tools are very important part of UI, and they have to be processed rigorously, without any guessing and auto-completion.

ggilder commented 9 years ago

This issue was moved to commander-rb/commander#6