3 ms·
Neither of your examples requires anything from the program regardless of what language it's written in, let alone what arg-parsing library it uses. Quotes are
by Arnavion 6y ago
Neither of your examples requires anything from the program regardless of what language it's written in, let alone what arg-parsing library it uses. Quotes are evaluated by the shell; your program gets an argv.
(Yes, Windows is complicated by having two different built-in parsers for argv [CRT and shellapi] because the kernel itself doesn't have a concept of argv. But if we're talking about .Net programs then the runtime makes that choice and gives your entrypoint an argv, so again quote-evaluation is not in the program's purview.)
- SideburnsOfDoom 6y agoMy example may not be the best, but .NET Commandline handling libraries contain significant quote-handline code. I know because I have relied on it. I'm less familiar with the library that OP is using, but it seems to be here: https://github.com/spectresystems/spectre.console/blob/main/src/Spectre.Console/Cli/Internal/Parsing/CommandTreeTokenizer.cs#L92 https://github.com/spectresystems/spectre.console/blob/main/... Going in the other direction, generating command lines: https://github.com/natemcmaster/CommandLineUtils/blob/main/src/CommandLineUtils/Utilities/ArgumentEscaper.cs https://github.com/natemcmaster/CommandLineUtils/blob/main/s... I don't recommend re-inventing this