in reply to Convert a string to an array?

If you want your widget to behave exactly like the command line, you should be aware that your parsing of your last example is incorrect.

one "two three" fo"ur "five si"x seven "eight

will get parsed by the command line as

one, two three, four five, six seven eight

because a quote is not an argument delimiter. Your example is equivalent to the following:

one two\ three four\ five six\ seven\ eight