Skip to content

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

Open
Rusk85 wants to merge 1 commit into
gsscoder:masterfrom
Rusk85:master
Open

Added Windows Style LongName ("/") to Options along with the required…#224
Rusk85 wants to merge 1 commit into
gsscoder:masterfrom
Rusk85:master

Conversation

@Rusk85

@Rusk85 Rusk85 commented Aug 15, 2015

Copy link
Copy Markdown

… 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

nemec commented Aug 15, 2015

Copy link
Copy Markdown
Collaborator

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
Copy Markdown
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

3 participants