Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

erl_comment_scan (3erl)

Name

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

Synopsis

Please see following description for synopsis

Description

erl_comment_scan(3)        Erlang Module Definition        erl_comment_scan(3)



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::inte-
         ger(), Text::[string()]}:


         commentLine()  =  {Line::integer(),  Column::integer(), Indent::inte-
         ger(), 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()]

              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.6            erl_comment_scan(3)