diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/audit.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb index 4290bec4c..be6be5c39 100644 --- a/Library/Homebrew/cmd/audit.rb +++ b/Library/Homebrew/cmd/audit.rb @@ -70,6 +70,14 @@ class FormulaText /\Z\n/ =~ @text end + def has_non_ascii_character? + /[^\x00-\x7F]/ =~ @text + end + + def has_encoding_comment? + /^# (en)?coding: utf-8$/i =~ @text + end + def =~ regex regex =~ @text end @@ -118,6 +126,14 @@ class FormulaAuditor problem "'__END__' was found, but 'DATA' is not used" end + if text.has_non_ascii_character? and not text.has_encoding_comment? + problem "Found non-ASCII character: add `# encoding: UTF-8` in the first line" + end + + if text.has_encoding_comment? and not text.has_non_ascii_character? + problem "Remove the redundant `# encoding: UTF-8`" + end + unless text.has_trailing_newline? problem "File should end with a newline" end |
