separgs: Add a NATIVE_COMMAND mode

This commit is contained in:
Christian Pfeiffer
2017-04-26 20:34:06 +02:00
parent 81841426fc
commit 2a207aaca1
6 changed files with 39 additions and 4 deletions
+6 -3
View File
@@ -5,9 +5,9 @@ Parse space-separated arguments into a semicolon-separated list.
::
separate_arguments(<var> <UNIX|WINDOWS>_COMMAND "<args>")
separate_arguments(<var> <NATIVE|UNIX|WINDOWS>_COMMAND "<args>")
Parses a unix- or windows-style command-line string "<args>" and
Parses a UNIX- or Windows-style command-line string "<args>" and
stores a semicolon-separated list of the arguments in ``<var>``. The
entire command line must be given in one "<args>" argument.
@@ -16,12 +16,15 @@ recognizes both single-quote and double-quote pairs. A backslash
escapes the next literal character (``\"`` is ``"``); there are no special
escapes (``\n`` is just ``n``).
The ``WINDOWS_COMMAND`` mode parses a windows command-line using the same
The ``WINDOWS_COMMAND`` mode parses a Windows command-line using the same
syntax the runtime library uses to construct argv at startup. It
separates arguments by whitespace that is not double-quoted.
Backslashes are literal unless they precede double-quotes. See the
MSDN article `Parsing C Command-Line Arguments`_ for details.
The ``NATIVE_COMMAND`` mode parses a Windows command-line if the host
system is Windows, and a UNIX command-line otherwise.
.. _`Parsing C Command-Line Arguments`: https://msdn.microsoft.com/library/a1y7w461.aspx
::