Skip to main content

Generate ctags from eggs for development.

Project description

z3c.recipe.tag

buildstatus

Introduction

This recipe generates a TAGS database file that can be used with a number of different editors to quickly look up class and function definitions in your package’s source files and egg dependencies.

Dependencies

Before running a tags enabled buildout, you must install the appropriate command line tag generation tools: exuberant-ctags and id-utils. In Ubuntu, you can install these with apt-get:

$ sudo apt-get install exuberant-ctags id-utils

On a Mac, download and install port from http://www.macports.org/ and then install ctags and idutils in this way:

$ sudo port install ctags idutils

How to use this recipe

With Buildout

Suppose you have an egg called MyApplication. To use this recipe with buildout, you would add the following to the buildout.cfg file:

[tags]
recipe = z3c.recipe.tag
eggs = MyApplication

This produces a script file in the bin/ directory which you can then run like this:

$ ./bin/tags

By default, this script produces three files in the directory from which you ran the script:

  • a ctags file called TAGS for use by emacs,

  • a ctags file called tags for use by vi, and

  • an idutils file called ID for use by id-utils (gid, lid).

You can then use these files in your editor of choice.

Optionally, you can select which files to build. The following is the output of ./bin/tags --help:

usage: build_tags [options]

options:
  -h, --help            show this help message and exit
  -l LANGUAGES, --languages=LANGUAGES
                        ctags comma-separated list of languages. defaults to
                        ``-JavaScript``
  -e, --ctags-emacs     flag to build emacs ctags ``TAGS`` file
  -v, --ctags-vi        flag to build vi ctags ``tags`` file
  -b, --ctags-bbedit    flag to build bbedit ctags ``tags`` file
  -i, --idutils         flag to build idutils ``ID`` file

If you’d like to set command line options by default (e.g. to limit building to ctags-vi by default) you can pass the default option in your buildout.cfg:

[tags]
recipe = z3c.recipe.tag
eggs = MyApplication
default = ['-v']

With virtualenv

You can use this with virtualenv too:

my_venv/bin/pip install z3c.recipe.tag
my_venv/bin/build_tags

this will build a tags file for all the packages installed in that virtualenv.

With Paver

If you are using Paver and already have z3c.recipe.tag installed, then all you have to do is add this line to your pavement.py file:

import z3c.recipe.tag

And then run the z3c.recipe.tag.tags task from the command line:

$ paver z3c.recipe.tag.tags

Additional Resources

For additional information on using tags tables with different editors see the following websites:

For more information on ctags, visit http://ctags.sourceforge.net/

(BBEdit is a Macintosh text editor.)

For more information about GNU id-utils (basically a local text indexing/search engine; think of it as a very fast version of grep -w), see the id-utils manual.

CHANGES

1.0 (2023-02-09)

  • Drop support for Python < 3.7.

  • Add support for Python 3.7 up to 3.11.

  • Require zc.buildout >= 3.

0.8 (2014-10-20)

  • Add –tag-relative option to support relative tag generation.

0.7 (2013-03-22)

  • Support and require zc.buildout 2.0.

  • Add supported Python version (3.6, 2.7, 3.2, 3.3) classifiers to setup.py

0.6 (2012-09-07)

  • Update manifest to allow package generation fron non-VCS export. Counters the 0.5 “brown bag” release.

0.5 (2012-09-06)

  • Exclude Python import statements by default from showing up as tags.

  • Add ‘defaults’ option to allow adding default command line options (e.g. to set ‘-v’ by default)

0.4.1 (2012-01-11)

  • Skip nonexistent sys.path directories to avoid ctags warnings.

0.4.0 (2010-08-29)

  • Support new script features from zc.buildout 1.5 and higher. This version requires zc.buildout 1.5 or higher.

  • Also index Mako and HTML files with id-utils.

0.3.0 (2009-08-16)

  • Add support for using this recipe as a paver task.

  • Also index Javascript, CSS and ReStructuredText files with id-utils.

  • Define a default entry point for zc.buildout, so you can simply say:

    [ctags]
    recipe = z3c.recipe.tag

0.2.0 (2008-08-28)

  • Allow command-line choices for what files to build, and what languages ctags should parse. (Note that the default behavior of running ./bin/tags is the same as previous releases.)

  • Support the Mac OS X packaging system “macports” (exuberant ctags is ctags-exuberant in Ubuntu and ctags in macports).

  • Support creating BBEdit-style ctags files.

  • Small changes for development (use bootstrap external, set svn:ignore)

0.1.0 (2008-03-16)

  • Initial release.

    • buildout recipe for generating ctags of eggs used.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

z3c.recipe.tag-1.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

z3c.recipe.tag-1.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file z3c.recipe.tag-1.0.tar.gz.

File metadata

  • Download URL: z3c.recipe.tag-1.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.7

File hashes

Hashes for z3c.recipe.tag-1.0.tar.gz
Algorithm Hash digest
SHA256 4c13a214c147e55dab46fb80a96cd45b65ac7ee958ac121b68c3b561e3a66f92
MD5 75a5f3554d2954ef27e2fa0f6129da85
BLAKE2b-256 3c6bfb0f59e877048d3d6b7bb8da8aeed9a43917db52140f455949d5fc4e6160

See more details on using hashes here.

File details

Details for the file z3c.recipe.tag-1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for z3c.recipe.tag-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e26ef9de1c1a2b847b924e5ea49992c0fc78351cb3e37331006da5cd10f320d
MD5 e72a9d841359d1d7bc2a704fc86f4f46
BLAKE2b-256 189b64d5fb3aa751948812ca810a94ef26fc8cfacd17d180396ad8e4577485e1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page