/rpglectags

Create tags files from ILE RPG source files.

Primary LanguagePerl

RPGLECTAGS(1)               General Commands Manual              RPGLECTAGS(1)

NAME
       rpglectags - Create tags files from ILE RPG source files.

SYNOPSIS
       rpglectags [OPTIONS]... FILE...

DESCRIPTION
       rpglectags will create a ctags compatible file called tags.

       The  rpglectags  program  generate  an  index (or tag) file for objects
       found in ILE RPG file(s).  This tag  file  allows  these  items  to  be
       quickly  and  easily  located  by a text editor or other utility. A tag
       signifies a language object for which an index entry is available.

       rpglectags will create indices (or tags) for the following:

       Procedures
              Free format is supported though:
                     dcl-proc procName;

              Fixed format is supported though:
                     p procName        b

              Continues procedures are also supported, i.e.
                     p longProdecureName...
                     p                 b

              Up to 7 leading spaces will be supported.

       Subroutines
              Free format is supported though:
                     begsr subName;

              Fixed format is supported though:
                     c subName           begsr

              Up to 7 leading spaces will be supported.

       Procedure interface
              Free format is supported though:
                     dcl-pi piName;
                       parm1;
                       parm2;
                     end-pi;

              Fixed format is supported though:
                     d piName          pi
                     d parm1
                     d parm2

              Continues procedure interfaces are also supported, i.e.
                     d veryVeryLongPiName...
                     p                 pi
                     p parm1
                     p parm2

              Up to 7 leading spaces will be supported.

       Data structures
              Free format is supported though:
                     dcl-ds dsName;
                       mbr1;
                       mbr2;
                     end-ds;

              Fixed format is supported though:
                     d dsName          ds
                     d mbr1
                     d mbr2

              Continues data structures are also supported, i.e.
                     d veryVeryLongDsName...
                     p                 ds
                     p mbr1
                     p mbr2

              Up to 7 leading spaces will be supported.

       Standalone and constant declaraions
              Free format is supported though:
                     dcl-s varName;
                     dcl-c constName;

              Fixed format is supported though:
                     d varName         s
                     d constName       c

OPTIONS
       -f file | -o file
              write tags til specified file.  Value of - writes tags  to  std-
              out.  Default is tags.

       -a     append the tags to an existing tag file

       -h, --help
              print a summary of options and exit.

       --version
              print  version information on standard output then exit success-
              fully.

EXAMPLES
       To create tags from the file test.rpgle, you'd use:
              rpglectags test.rpgle

       To create tags from all rpgle and sqlrpgle files recursively, you might
       say
              find . -type f \( -name '*.rpgle' -o -name '*.sqlrpgle' \) \
                     -exec rpglectags {} +

       More examples:
              rpglectags -f - test2.rpgle        # Print tags to stdout
              rpglectags  -a  test2.rpgle          # Append tags to the 'tags'
              file

TAG FILE FORMAT
       Each entry in the tag file consists of a separate  line,  each  looking
       like this in the most general case:
              {tagname}<TAB>{tagfile}<TAB>{tagaddress};"<TAB>{tagfields}

       The fields and separators of these lines are specified as follows:

       1.     tag name

       2.     single tab character

       3.     name  of the file in which the object associated with the tag is
              located

       4.     single tab character

       5.     tag address. A non magic pattern enclosed in / or ?  or  a  line
              number.

       6.     a constant ;" for backward compatibility with vi(1)

       7.     extra  fields  narrowing  down  the  type  of  tag  entry,  i.e.
              kind:{fvms}, struct:nameOfStruct

EXIT STATUS
       The following exit values shall be returned:

       0      successful completion.

       1      error parsing command-line argument.

SEE ALSO
       ctags(1)

AUTHOR
       Andreas Louv <andreas@louv.dk>.

LICENSE
       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

                                  2017 Oct 9                     RPGLECTAGS(1)