file/1 | Extracts comments from an Erlang source code file. |
join_lines/1 | Joins individual comment lines into multi-line comments. |
scan_lines/1 | Extracts individual comment lines from a source code string. |
string/1 | Extracts comments from a string containing Erlang source code. |
file(FileName::file:filename()) -> [Comment]
Extracts comments from an Erlang source code file. Returns a
list of entries representing multi-line comments, listed in
order of increasing line-numbers. For each entry, Text
is a list of strings representing the consecutive comment lines in
top-down order; the strings contain all characters following
(but not including) the first comment-introducing "%
"
character on the line, up to (but not including) the line-terminating
newline.
Furthermore, Line
is the line number and
Column
the left column of the comment (i.e., the column
of the comment-introducing %
character).
Indent
is the indentation (or padding), measured in
character positions between the last non-whitespace character before
the comment (or the left margin), and the left column of the comment.
Line
and Column
are always positive
integers, and Indentation
is a nonnegative integer.
Evaluation exits with reason {read, Reason}
if a read
error occurred, where Reason
is an atom corresponding to
a Posix error code; see the module file
for details.
See also: file.
join_lines(Lines::[CommentLine]) -> [Comment]
Joins individual comment lines into multi-line comments. The
input is a list of entries representing individual comment lines,
in order of decreasing line-numbers; see
scan_lines/1
for details. The result is a list of
entries representing multi-line comments, still listed
in order of decreasing line-numbers, but where for each entry,
Text
is a list of consecutive comment lines in order of
increasing line-numbers (i.e., top-down).
See also: scan_lines/1.
scan_lines(Text::string()) -> [CommentLine]
Extracts individual comment lines from a source code string.
Returns a list of comment lines found in the text, listed in order of
decreasing line-numbers, i.e., the last comment line in the
input is first in the resulting list. Text
is a single
string, containing all characters following (but not including) the
first comment-introducing "%
" character on the line, up
to (but not including) the line-terminating newline. For details on
Line
, Column
and Indent
, see
file/1
.
See also: file/1.
Extracts comments from a string containing Erlang source code.
Except for reading directly from a string, the behaviour is the same
as for file/1
.
See also: file/1.