# File lib/facet/lisp-format.rb, line 241
      def next_token(previous)
        if have_more_input
          ch = next_char
          if ch == ?~
            return Directives::Factory.build(params, modifiers, directive,
                                            previous, @pos)
          else
            literal = Directives::Literal.new(ch.chr)
            while have_more_input and (ch = peek_char) != ?~
              literal << next_char.chr
            end
            literal << ch.chr if not have_more_input and ch == ?~
            return [literal, 0]
          end
        else
          return nil
        end
      end