查看源代码 erl_comment_scan (语法工具 v3.2.1)

用于从 Erlang 源代码中读取注释行的函数。

摘要

函数

从 Erlang 源代码文件中提取注释。

join_lines(CommentLines) ->

从源代码字符串中提取单独的注释行。

从包含 Erlang 源代码的字符串中提取注释。

类型

-type comment() ::
          {Line :: integer(), Column :: integer(), Indentation :: integer(), Text :: [string()]}.
链接到此类型

commentLine()

查看源代码 (未导出)
-type commentLine() :: {Line :: integer(), Column :: integer(), Indent :: integer(), Text :: string()}.

函数

-spec file(file:filename()) -> [comment()].

从 Erlang 源代码文件中提取注释。

返回一个列表,其中包含表示多行注释的条目,按照行号递增的顺序排列。对于每个条目,Text 是一个字符串列表,表示从上到下顺序排列的连续注释行;这些字符串包含行中第一个注释引入字符 % 之后(但不包括该字符)的所有字符,直到(但不包括)行终止换行符。

此外,Line 是行号,Column 是注释的左侧列(即注释引入字符 % 的列)。Indent 是缩进(或填充),以注释之前的最后一个非空白字符(或左边距)与注释的左侧列之间的字符位置来衡量。LineColumn 始终是正整数,而 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 是一个字符串,包含行中第一个注释引入字符 % 之后(但不包括该字符)的所有字符,直到(但不包括)行终止换行符。有关 LineColumnIndent 的详细信息,请参阅 file/1

-spec string(string()) -> [comment()].

从包含 Erlang 源代码的字符串中提取注释。

除了直接从字符串读取之外,其行为与 file/1 相同。

另请参阅: file/1