code: def parse_line(self, line):
          
          toks = shlex.split(line)
          # Safe to index the 0-th element because this line would have been
          # parsed by __exec_line__ if toks is an empty list.
          return ( toks[0], [] if len(toks) == 1 else toks[1:] )
docs: Parse a line of input.
  
          The input line is tokenized using the same rules as the way bash shell
          tokenizes inputs. All quoting and escaping rules from the bash shell
          apply here too.
  
          The following cases are handled by __exec_line__():
              1.  Empty line.
              2.  The input line is completely made of whitespace characters.
              3.  The input line is the EOF character.
              4.  The first token, as tokenized by shlex.split(), is '!'.
              5.  Internal commands, i.e., commands registered with internal =
                      True
  
          Arguments:
              The line to parse.
  
          Returns:
              A tuple (cmd, args). The first element cmd must be a python3 string.
              The second element is, by default, a list of strings representing
              the arguments, as tokenized by shlex.split().
  
          How to overload parse_line():
              1.  The signature of the method must be the same.
              2.  The return value must be a tuple (cmd, args), where the cmd is
                  a string representing the first token, and args is a list of
                  strings.