Read a line from the terminal.

        A backslash followed by a <newline> is interpreted as a line
        continuation. The backslash and <newline>s are removed before return.

        For example::

            $ uname \
            > -m
            x86_64

        :param continuation:
            True if the line is a continuation. Defaults to False.

def readline(self, continuation=False):
        """Read a line from the terminal.

        A backslash followed by a <newline> is interpreted as a line
        continuation. The backslash and <newline>s are removed before return.

        For example::

            $ uname \
            > -m
            x86_64

        :param continuation:
            True if the line is a continuation. Defaults to False.
        """
        prompt = (self.secondary_prompt_string if continuation else
                  self.primary_prompt_string)
        try:
            line = raw_input(prompt)
            while line.endswith("\\"):
                line = line[:-1] + raw_input(self.secondary_prompt_string)
        except EOFError:
            raise SystemExit()
        else:
            return line