Module
erl_comment_scan
Module Summary
Functions for reading comment lines from Erlang source code.
Description
Functions for reading comment lines from Erlang source code.
Data types
- comment() = {Line::integer(), Column::integer(), Indentation::integer(), Text::[string()]}
- commentLine() = {Line::integer(), Column::integer(), Indent::integer(), Text::string()}
Exports
file(Name:: 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(3)
for details.
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
.
string(Text::string()) -> [ comment() ] |
© 2010–2021 Ericsson AB
Licensed under the Apache License, Version 2.0.