hsh :: command :: DoubleQuotedToken :: Class DoubleQuotedToken
[hide private]
[frames] | no frames]

Class DoubleQuotedToken

object --+        
         |        
     Token --+    
             |    
AggregateToken --+
                 |
                DoubleQuotedToken

Text enclosed in double quotes. Special shell syntax like env variables are expanded within double quoted text, so it is an AggregateToken with DoubleQuote tokens at the beginning and end.

Instance Methods [hide private]
 
terminates(self, ch)
Return a pair of strings if the first character of the provided text would terminate this token.
 
terminated(self)
While modifying the token it's possible to have double quotes other than at the end, so search all subtokens for a terminating quote.
 
create_token(self, txt, loc)

Inherited from AggregateToken: __init__, __len__, __str__, completions, dump, expand, modify

Inherited from Token: commences, expand_directives

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __subclasshook__

Class Variables [hide private]
  commencer_ch = '"'

Inherited from Token: dquotable

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

terminates(self, ch)

 

Return a pair of strings if the first character of the provided text would terminate this token. The first string are the characters to be included in the token, the second are the characters which spill over to the next token. Return None if the text would not terminate the token.

The token mustn't end in an escape character (\) because that would make the test incorrect.

The default implementation matches txt against the regexp self.terminator. On a match it returns match groups 1 and 2, otherwise it returns None. The default value of self.terminator is ()(\s) to terminate on whitespace, but not accept it.

Overrides: Token.terminates
(inherited documentation)

terminated(self)

 

While modifying the token it's possible to have double quotes other than at the end, so search all subtokens for a terminating quote.

Overrides: Token.terminated

create_token(self, txt, loc)

 
Overrides: AggregateToken.create_token