tags:

views:

180

answers:

2

I'm using Exuberant ctags to index Erlang files.

The "tags" file contains functions, but they do not have module qualifiers; so I can't search for "module:function", only "function", which may give several results.

Do you know a way to get ctags to include module qualifiers in the tags file?

Thanks.

+1  A: 

It sounds like you are not using the Erlang etags module: Generate Emacs TAGS file from Erlang source files.

Christian
A: 

Exuberant ctags already supports tag field "module" for Erlang.

$ /usr/bin/ctags --version
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: Aug 17 2010, 17:33:33
  Addresses: <[email protected]>, http://ctags.sourceforge.net
  Optional compiled features: +wildcards, +regex
$ /usr/bin/ctags xref_parser.erl

A typical tag line with a tag field named "module" looks like:

yeccgoto_const  xref_parser.erl /^yeccgoto_const(24=_S, Cat, Ss, Stack, T, Ts, Tzr) ->$/;"      f       module:xref_parser

Actually, it is VIM which doesn't support this tag field as for now. From VIM doc:

{field} ..  A list of optional fields.  Each field has the form:

            <Tab>{fieldname}:{value}

        The {fieldname} identifies the field, and can only contain
        alphabetical characters [a-zA-Z].
        The {value} is any string, but cannot contain a <Tab>.

        There is one field that doesn't have a ':'.  This is the kind
        of the tag.  It is handled like it was preceded with "kind:".
        See the documentation of ctags for the kinds it produces.

        The only other field currently recognized by Vim is "file:"
        (with an empty value).  It is used for a static tag.

That's it. Only "kind" and "file" are supported tag field names.

lht