sds / overcommit

A fully configurable and extendable Git hook manager
MIT License
3.92k stars 280 forks source link

Can I contribute a cspell hook? #810

Open mattbrictson opened 1 year ago

mattbrictson commented 1 year ago

Hi, I've written a simple overcommit hook for cspell, which is a general purpose spell-check linter for code and documentation.

Would the overcommit maintainers be interested in a PR to add this?

module Overcommit::Hook::PreCommit
  class Cspell < Base
    MESSAGE_REGEX = /^(?<file>.+):(?<line>\d+):\d+ - (?<message>.+)$/

    def run
      result = execute(command, args: applicable_files.map { "file://#{_1}" })
      return :pass if result.success?

      extract_messages(result.stdout.lines, MESSAGE_REGEX)
    end
  end
end