logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

erl_comment_scan - Functions for reading comment lines from Erlang source code.

Authors

       Richard Carlsson <carlsson.richard@gmail.com>

                                                syntax_tools 2.6                          erl_comment_scan(3erl)

Data Types

comment()={Line::integer(),Column::integer(),Indentation::integer(),Text::[string()]}:commentLine()={Line::integer(),Column::integer(),Indent::integer(),Text::string()}:

Description

       Functions for reading comment lines from Erlang source code.

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(3erl) 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, inorderofdecreasingline-numbers; see  scan_lines/1  for
              details.  The  result is a list of entries representing multi-line comments, stilllistedinorderofdecreasingline-numbers, but where for each entry, Text is a list of consecutive comment  lines
              in order of increasing line-numbers (i.e., top-down).

              Seealso: 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()]

              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.

              Seealso: file/1.

Name

       erl_comment_scan - Functions for reading comment lines from Erlang source code.

See Also