View Source erl_comment_scan (syntax_tools v3.2.1)
Functions for reading comment lines from Erlang source code.
Summary
Functions
Extracts comments from an Erlang source code file.
join_lines(CommentLines) ->
Extracts individual comment lines from a source code string.
Extracts comments from a string containing Erlang source code.
Types
Functions
-spec file(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 (that is, 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
//kernel/file
for details.
-spec join_lines([commentLine()]) -> [comment()].
join_lines(CommentLines) ->
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 (that is, top-down).
See also: scan_lines/1
.
-spec scan_lines(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, that is, 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
.
Extracts comments from a string containing Erlang source code.
Except for reading directly from a string, the behavior is the same
as for file/1
.
See also: file/1
.