Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Windows Style LongName ("/") to Options along with the required… #224

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Rusk85
Copy link

@Rusk85 Rusk85 commented Aug 15, 2015

… unit tests. I have refrained from altering the core logic. Instead I added two overloaded methods for Parser.ParseArguments(...) with an additional optional parameter "useWinStyleOptions" which is set to true per default. From there on I simply check all arguments for the win style flag ("/") and replace them with the stock double dashes ("--"). The result I pass to the original ParseArguments-Methods.

While as a personal preference I take unix style options over windows style options every day but there is a remote service I am using that is among other things capable of executing applications. I cant easily change the service - its fairly old and written in vb.net - but I checked the implementation. Turns out its capable of interpreting windows style options and passing that to the application it starts. So there you go.

There might be others in a similar situation to whom this could be a possible solution.

Please review the code.

… unit tests. I have refrained from altering the core logic. Instead I added two overloaded methods for Parser.ParseArguments(...) with an additional optional parameter "useWinStyleOptions" which is set to true per default. From there on I simply check all arguments for the win style flag ("/") and replace them with the stock double dashes ("--"). The result I pass to the original ParseArguments-Methods.
@nemec
Copy link
Collaborator

nemec commented Aug 15, 2015

The only problem I can think of here is how to enforce using only long names. Short names will still require a - and I can imagine a developer who doesn't know/forgets and gets confused.

Otherwise, this might be a nice compromise for #108. I think you could even implement this as an extension method under a different namespace (like CommandLine.Windows) to reinforce the fact that the UNIX way is preferred.

@gsscoder
Copy link
Owner

@Rusk85, thanks for PR. This is also discussed in #108, as stated by @nemec.

I'm forced to temporary delays any PR except fixes as explained here in #213 announcement, until project reaches STABLE status.

Anyway I'll accept fixes.

Thank you! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants