Sha256: a133030d354323fb4ce949a13eebcb52e37c938bf2d4aab7e9da12fe587fe803

Contents?: true

Size: 994 Bytes

Versions: 14

Compression:

Stored size: 994 Bytes

Contents

# frozen_string_literal: true

module SlimLint
  # Outputs lints in format: {filename}:{line}:{column}: {kind}: {message}.
  class Reporter::EmacsReporter < Reporter
    def display_report(report)
      sorted_lints = report.lints.sort_by { |l| [l.filename, l.line] }

      sorted_lints.each do |lint|
        print_location(lint)
        print_type(lint)
        print_message(lint)
      end
    end

    private

    def print_location(lint)
      log.info lint.filename, false
      log.log ':', false
      log.bold lint.line, false
      log.log ':', false
      # TODO: change 1 to column number when linter will have this info.
      log.bold 1, false
      log.log ':', false
    end

    def print_type(lint)
      if lint.error?
        log.error ' E: ', false
      else
        log.warning ' W: ', false
      end
    end

    def print_message(lint)
      if lint.linter
        log.success("#{lint.linter.name}: ", false)
      end

      log.log lint.message
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
slim_lint-0.31.1 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.31.0 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.30.0 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.29.0 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.28.0 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.27.0 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.26.0 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.25.0 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.24.0 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.23.0 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.22.1 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.22.0 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.21.1 lib/slim_lint/reporter/emacs_reporter.rb
slim_lint-0.21.0 lib/slim_lint/reporter/emacs_reporter.rb