查看源代码 erl_comment_scan (语法工具 v3.2.1)
用于从 Erlang 源代码中读取注释行的函数。
摘要
类型
函数
-spec file(file:filename()) -> [comment()].
从 Erlang 源代码文件中提取注释。
返回一个列表,其中包含表示多行注释的条目,按照行号递增的顺序排列。对于每个条目,Text
是一个字符串列表,表示从上到下顺序排列的连续注释行;这些字符串包含行中第一个注释引入字符 %
之后(但不包括该字符)的所有字符,直到(但不包括)行终止换行符。
此外,Line
是行号,Column
是注释的左侧列(即注释引入字符 %
的列)。Indent
是缩进(或填充),以注释之前的最后一个非空白字符(或左边距)与注释的左侧列之间的字符位置来衡量。Line
和 Column
始终是正整数,而 Indentation
是一个非负整数。
如果发生读取错误,则评估将以 {read, Reason}
的原因退出,其中 Reason
是与 Posix 错误代码对应的原子;有关详细信息,请参阅模块 //kernel/file
。
-spec join_lines([commentLine()]) -> [comment()].
join_lines(CommentLines) ->
将单独的注释行连接成多行注释。
输入是一个列表,其中包含表示单独注释行的条目,按行号递减的顺序排列;有关详细信息,请参阅 scan_lines/1
。结果是一个列表,其中包含表示多行注释的条目,仍然按行号递减的顺序排列,但对于每个条目,Text
是一个连续注释行的列表,按行号递增的顺序排列(即从上到下)。
另请参阅: scan_lines/1
。
-spec scan_lines(string()) -> [commentLine()].
从源代码字符串中提取单独的注释行。
返回在文本中找到的注释行列表,按递减的行号顺序排列,也就是说,输入中的最后一条注释行在结果列表中排在第一位。Text
是一个字符串,包含行中第一个注释引入字符 %
之后(但不包括该字符)的所有字符,直到(但不包括)行终止换行符。有关 Line
、Column
和 Indent
的详细信息,请参阅 file/1
。
从包含 Erlang 源代码的字符串中提取注释。
除了直接从字符串读取之外,其行为与 file/1
相同。
另请参阅: file/1
。