# File lib/yard/i18n/text.rb, line 34
      def extract_messages
        paragraph = ""
        paragraph_start_line = 0
        line_no = 0
        in_header = @options[:have_header]

        @input.each_line do |line|
          line_no += 1
          if in_header
            case line
            when /^#!\S+\s*$/
              in_header = false unless line_no == 1
            when /^\s*#\s*@(\S+)\s*(.+?)\s*$/
              name, value = $1, $2
              yield(:attribute, name, value, line_no)
            else
              in_header = false
              next if line.chomp.empty?
            end
            next if in_header
          end

          case line
          when /^\s*$/
            next if paragraph.empty?
            yield(:paragraph, paragraph.rstrip, paragraph_start_line)
            paragraph = ""
          else
            paragraph_start_line = line_no if paragraph.empty?
            paragraph << line
          end
        end
        unless paragraph.empty?
          yield(:paragraph, paragraph.rstrip, paragraph_start_line)
        end
      end