table of contents
other versions
- jessie 1:17.3-dfsg-4+deb8u2
- jessie-backports 1:19.2.1+dfsg-2+deb9u1~bpo8+1
- stretch 1:19.2.1+dfsg-2+deb9u2
- testing 1:21.2.5+dfsg-1
- unstable 1:21.2.6+dfsg-1
- experimental 1:22.0~rc1+dfsg-1
erl_comment_scan(3erl) | Erlang Module Definition | erl_comment_scan(3erl) |
NAME¶
erl_comment_scan - 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()]}:
EXPORTS¶
file(FileName::file:filename()) -> [Comment]
Types:
Comment = {Line, Column, Indentation, Text}
Line = integer()
Column = integer()
Indentation = integer()
Text = [string()]
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(3erl) for details.
join_lines(Lines::[CommentLine]) -> [Comment]
Types:
CommentLine = {Line, Column, Indent, string()}
Line = integer()
Column = integer()
Indent = integer()
Comment = {Line, Column, Indent, Text}
Text = [string()]
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]
Types:
CommentLine = {Line, Column, Indent, Text}
Line = integer()
Column = integer()
Indent = integer()
Text = string()
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]
Types:
Comment = {Line, Column, Indentation, Text}
Line = integer()
Column = integer()
Indentation = integer()
Text = [string()]
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.
AUTHORS¶
Richard Carlsson <carlsson.richard@gmail.com>syntax_tools 2.1.1 |