Sha256: 83c764790740995ef85d924120f0780c8f69df21d71e9abad2f94fe92d1165b9

Contents?: true

Size: 1.06 KB

Versions: 5

Compression:

Stored size: 1.06 KB

Contents

# encoding: utf-8

module Rubocop
  module Formatter
    # This formatter formats report data in clang style.
    # The precise location of the problem is shown together with the
    # relevant source code.
    class ClangStyleFormatter < SimpleTextFormatter
      def report_file(file, offenses)
        offenses.each do |o|
          output.printf("%s:%d:%d: %s: %s\n",
                        cyan(smart_path(file)), o.line, o.real_column,
                        colored_severity_code(o), message(o))

          source_line = o.location.source_line

          unless source_line.blank?
            output.puts(source_line)
            output.puts(highlight_line(o.location))
          end
        end
      end

      def highlight_line(location)
        column_length = if location.begin.line == location.end.line
                          location.column_range.count
                        else
                          location.source_line.length - location.column
                        end

        ' ' * location.column + '^' * column_length
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rubocop-0.21.0 lib/rubocop/formatter/clang_style_formatter.rb
rubocop-0.20.1 lib/rubocop/formatter/clang_style_formatter.rb
rubocop-0.20.0 lib/rubocop/formatter/clang_style_formatter.rb
rubocop-0.19.1 lib/rubocop/formatter/clang_style_formatter.rb
rubocop-0.19.0 lib/rubocop/formatter/clang_style_formatter.rb