View Source tags (tools v4.0)
Generate Emacs TAGS file from Erlang source files
A TAGS file is used by Emacs to find function and variable definitions in any
source file in large projects. This module can generate a TAGS file from
Erlang source files. It recognises functions, records, and macro definitions.
Options
The functions in this module have an optional argument Options. It
is a list which can contain the following elements:
{outfile, NameOfTAGSFile}Create aTAGSfile namedNameOfTAGSFile.{outdir, NameOfDirectory}Create a file namedTAGSin the directoryNameOfDirectory.
The default behaviour is to create a file named TAGS in the current directory.
Examples
tags:root([{outfile, "root.TAGS"}]).This command will create a file named
root.TAGSin the current directory. The file will contain references to all Erlang source files in the Erlang distribution.tags:files(["foo.erl", "bar.erl", "baz.erl"], [{outdir, "../projectdir"}]).This command will create a file named
TAGSplaced it in the directory../projectdir. The file contains information about the functions, records, and macro definitions of the three files.
See Also
- Richard M. Stallman. GNU Emacs Manual, chapter "Editing Programs", section "Tag Tables". Free Software Foundation, 1995.
- Anders Lindgren. The Erlang editing mode for Emacs. Ericsson, 1998.
Summary
Functions
Equivalent to dir(Dir, []).
Create a TAGS file for all files in directory Dir.
Equivalent to dirs(Dirs, []).
Create a TAGS file for all files in any directory in DirList.
Equivalent to file(Name, []).
Create a TAGS file for the file File.
Equivalent to files(Files, []).
Create a TAGS file for the files in the list FileList.
Create a TAGS file covering all files in the Erlang distribution.
Equivalent to subdir(Dir, []).
Descend recursively into the directory Dir and create a TAGS file based on
all files found.
Equivalent to subdirs(Dirs, []).
Descend recursively into the directories in DirList and create a TAGS
file based on all files found.
Types
-type option() :: {outfile, NameOfTAGSFile :: file:filename()} | {outdir, NameOfDirectory :: file:filename()}.
Functions
-spec dir(Dir) -> ok | error when Dir :: file:filename().
Equivalent to dir(Dir, []).
-spec dir(Dir, Options) -> ok | error when Dir :: file:filename(), Options :: [option()].
Create a TAGS file for all files in directory Dir.
-spec dirs(DirList) -> ok | error when DirList :: [file:filename()].
Equivalent to dirs(Dirs, []).
-spec dirs(DirList, Options) -> ok | error when DirList :: [file:filename()], Options :: [option()].
Create a TAGS file for all files in any directory in DirList.
-spec file(File) -> ok | error when File :: file:filename().
Equivalent to file(Name, []).
-spec file(File, Options) -> ok | error when File :: file:filename(), Options :: [option()].
Create a TAGS file for the file File.
-spec files(FileList) -> ok | error when FileList :: [file:filename()].
Equivalent to files(Files, []).
-spec files(FileList, Options) -> ok | error when FileList :: [file:filename()], Options :: [option()].
Create a TAGS file for the files in the list FileList.
-spec root() -> ok | error.
Equivalent to root([]).
-spec root(Options) -> ok | error when Options :: [option()].
Create a TAGS file covering all files in the Erlang distribution.
-spec subdir(Dir) -> ok | error when Dir :: file:filename().
Equivalent to subdir(Dir, []).
-spec subdir(Dir, Options) -> ok | error when Dir :: file:filename(), Options :: [option()].
Descend recursively into the directory Dir and create a TAGS file based on
all files found.
-spec subdirs(DirList) -> ok | error when DirList :: [file:filename()].
Equivalent to subdirs(Dirs, []).
-spec subdirs(DirList, Options) -> ok | error when DirList :: [file:filename()], Options :: [option()].
Descend recursively into the directories in DirList and create a TAGS
file based on all files found.