Mercurial > python-cmd2
diff cmd2.py @ 145:0e0fc729e1a2
accept special terminators on most anything
author | catherine@dellzilla |
---|---|
date | Wed, 19 Nov 2008 16:36:45 -0500 |
parents | 2d3477aa79d4 |
children | 9ffb01d8876f |
line wrap: on
line diff
--- a/cmd2.py Tue Nov 18 18:06:05 2008 -0500 +++ b/cmd2.py Wed Nov 19 16:36:45 2008 -0500 @@ -221,7 +221,7 @@ + pyparsing.Optional(filenamePattern)('inputFrom') punctuationPattern = pipePattern ^ redirectInPattern ^ redirectOutPattern - def parsed(self, s): + def parsed(self, s, assumeComplete=False): ''' >>> c = Cmd() >>> r = c.parsed('quotes "are > ignored" < inp.txt') @@ -265,10 +265,10 @@ result['parseable'] = result.after else: # does not catch output marks - if command in self.multilineCommands: + if (not assumeComplete) and (command in self.multilineCommands): return result # don't bother with the rest, we're still collecting input + result['statement'] = result['unterminated'] = result.before result += parseSearchResults(self.punctuationPattern, s) - result['statement'] = result['unterminated'] = result.before result += parseSearchResults(self.pipePattern, result.parseable) result += parseSearchResults(self.redirectInPattern, result.parseable) result += parseSearchResults(self.redirectOutPattern, result.parseable)