Current section

Files

Jump to
credo lib credo check readability trailing_blank_line.ex
Raw

lib/credo/check/readability/trailing_blank_line.ex

defmodule Credo.Check.Readability.TrailingBlankLine do
@moduledoc """
Files should end in a trailing blank line. Many editors ensure this
"final newline" automatically.
"""
@explanation [check: @moduledoc]
use Credo.Check, base_priority: :low
def run(%SourceFile{lines: lines} = source_file, params \\ []) do
issue_meta = IssueMeta.for(source_file, params)
{line_no, last_line} = List.last(lines)
if String.strip(last_line) == "" do
[]
else
[issue_for(line_no, issue_meta)]
end
end
def issue_for(line_no, issue_meta) do
format_issue issue_meta,
message: "There should be a final \\n at the end of each file.",
line_no: line_no
end
end