Sha256: dfb1d2fa2ace08d6a2f36768c7ba51e25ccc55dac8b8c7bde2d846ce35dac29f

Contents?: true

Size: 599 Bytes

Versions: 12

Compression:

Stored size: 599 Bytes

Contents

# frozen_string_literal: true

module Overcommit::Hook::PreCommit
  # Runs `scalariform` against any modified Scala files.
  #
  # @see https://github.com/mdr/scalariform
  class Scalariform < Base
    MESSAGE_REGEX = /^\[(?<type>FAILED|ERROR)\]\s+(?<file>(?:\w:)?.+)/.freeze

    def run
      result = execute(command, args: applicable_files)

      # example message:
      #   [FAILED] path/to/file.scala
      extract_messages(
        result.stdout.split("\n").grep(MESSAGE_REGEX),
        MESSAGE_REGEX,
        lambda { |type| type == 'ERROR' ? :error : :warning }
      )
    end
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
overcommit-0.67.0 lib/overcommit/hook/pre_commit/scalariform.rb
overcommit-0.66.0 lib/overcommit/hook/pre_commit/scalariform.rb
overcommit-0.65.0 lib/overcommit/hook/pre_commit/scalariform.rb
overcommit-0.64.1 lib/overcommit/hook/pre_commit/scalariform.rb
overcommit-0.64.0 lib/overcommit/hook/pre_commit/scalariform.rb
overcommit-0.63.0 lib/overcommit/hook/pre_commit/scalariform.rb
overcommit-0.62.0 lib/overcommit/hook/pre_commit/scalariform.rb
overcommit-0.61.0 lib/overcommit/hook/pre_commit/scalariform.rb
overcommit-0.60.0 lib/overcommit/hook/pre_commit/scalariform.rb
overcommit-0.59.1 lib/overcommit/hook/pre_commit/scalariform.rb
overcommit-0.59.0 lib/overcommit/hook/pre_commit/scalariform.rb
overcommit-jeygeethanmedia-0.58.0 lib/overcommit/hook/pre_commit/scalariform.rb