Sha256: fefe296d382bf3f9599c691bac44af1cb577bf87ed1bdb8310b7ed7196ac6344
Contents?: true
Size: 684 Bytes
Versions: 31
Compression:
Stored size: 684 Bytes
Contents
# frozen_string_literal: true module Overcommit::Hook::CommitMsg # Ensures commit message subject lines start with a capital letter. class CapitalizedSubject < Base def run return :pass if empty_message? # Git treats the first non-empty line as the subject subject = commit_message_lines.find { |line| !line.strip.empty? }.to_s first_letter = subject.match(/^[[:punct:]]*(.)/)[1] unless special_prefix?(subject) || first_letter =~ /[[:upper:]]/ return :warn, 'Subject should start with a capital letter' end :pass end private def special_prefix?(subject) subject =~ /^(fixup|squash)!/ end end end
Version data entries
31 entries across 31 versions & 2 rubygems