# tags

### MODULE

tags

### MODULE SUMMARY

Generate Emacs TAGS file from Erlang source files

### DESCRIPTION

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.

### EXPORTS

`file(File [, Options])`

Create a `TAGS` file for the file `File`.

`files(FileList [, Options])`

Create a TAGS file for the files in the list `FileList`.

`dir(Dir [, Options])`

Create a TAGS file for all files in directory `Dir`.

`dirs(DirList [, Options])`

Create a TAGS file for all files in any directory in `DirList`.

`subdir(Dir [, Options])`

Descend recursively down the directory `Dir` and create a `TAGS` file based on all files found.

`subdirs(DirList [, Options])`

Descend recursively down all the directories in `DirList` and create a `TAGS` file based on all files found.

`root([Options])`

Create a `TAGS` file covering all files in the Erlang distribution.

### OPTIONS

The functions above have an optional argument, `Options`. It is a list which can contain the following elements:

- `{outfile, NameOfTAGSFile}` Create a `TAGS` file named `NameOfTAGSFile`.
- `{outdir, NameOfDirectory}` Create a file named `TAGS` in the directory `NameOfDirectory`.

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.TAGS` in 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"}]).`
  Here we create file named `TAGS` placed 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.

### AUTHORS

Anders Lindgren - support@erlang.ericsson.se

tools 2.5.2
Copyright © 1991-2006 Ericsson AB