codex: A ctags file generator for cabal project dependencies.

[ apache, development, library, program ] [ Propose Tags ] [ Report a vulnerability ]

This tool download and cache the source code of packages in your local hackage, it can then use this cache to generate tags files aggregating the sources of all the dependencies of your cabal/stack projects.

You basically do `codex update` in your project directory and you'll get a file (codex.tags by default, or TAGS when using emacs format) that you can use in your favorite text editor.

Usage overview can be found in the README.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.1.0, 0.0.1.1, 0.0.1.2, 0.0.1.3, 0.0.1.4, 0.0.1.5, 0.0.1.6, 0.0.1.7, 0.0.2, 0.0.2.1, 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.2.0.0, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.2.1.0, 0.2.1.2, 0.2.1.4, 0.2.1.6, 0.2.1.8, 0.2.1.10, 0.3, 0.3.0.2, 0.3.0.4, 0.3.0.6, 0.3.0.8, 0.3.0.10, 0.4.0.0, 0.4.0.2, 0.4.0.4, 0.4.0.6, 0.4.0.8, 0.4.0.10, 0.5.0.0, 0.5.0.1, 0.5.0.2, 0.5.1.0, 0.5.1.2, 0.5.2.0, 0.6.0.0 (info)
Change log CHANGELOG.md
Dependencies ascii-progress (>=0.3), base (>=4.11 && <5), bytestring (>=0.10.0.2 && <0.11), Cabal (>=3.0 && <3.1), codex, conduit (>=1.3.0), containers (>=0.5.0.0 && <0.7), cryptonite (>=0.21 && <0.27), directory (>=1.2.5.0 && <1.4), filepath (>=1.3.0.1 && <1.5), hackage-db (>=2 && <3), http-client (>=0.4 && <=0.6.5), http-client-tls, memory (>=0.13 && <0.16), network (>=2.6 && <3.2), process (>=1.2.3 && <1.7), tar (>=0.4.0.1 && <0.6), text (>=1.1.1.3 && <1.3), transformers (>=0.3.0.0 && <0.6), yaml (>=0.8.8.3 && <0.12), zlib (>=0.5.4.1 && <0.7) [details]
License Apache-2.0
Author Alois Cochard
Maintainer alois.cochard@gmail.com
Category Development
Home page http://github.com/aloiscochard/codex
Source repo head: git clone https://github.com/aloiscochard/codex.git
Uploaded by parsonsmatt at 2020-03-14T03:58:32Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables codex
Downloads 35214 total (128 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-03-14 [all 1 reports]

Readme for codex-0.6.0.0

[back to package description]

Codex

View on hackage Build Status [![Join the chat at https://gitter.im/aloiscochard/codex](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/aloiscochard/codex?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

This tool download and cache the source code of packages in your local hackage, it can then use this local cache to generate a tags file aggregating the sources of all the dependencies of a given cabal/stack project.

You basically do codex update in your project directory and you'll get a file (codex.tags by default, or TAGS when using emacs format) that you can use in your favorite text editor.

By default the generated tags file will include tags of the current project as well, this functionality can be disabled in your ~/.codex file.

Install

Codex is published on Hackage (and also mirrored on Stackage and NixOS).

cabal install codex

Note: You might have to install binary dependencies manually as cabal does not support them yet!

Usage

By default hasktags will be used, and need to be in the PATH, the tagger command can be fully customized in ~/.codex.

The configuration file is automatically generated with default values when running the tool for the first time.

codex [update] [cache clean] [set tagger [hasktags|ctags]] [set format [vim|emacs|sublime]]
  • update: Synchronize the tags file in the current project directory (use --force to discard tags file hash)
  • cache clean: Remove all tags file from the local hackage cache
  • set tagger [hasktags|ctags]: Update the ~/.codex configuration file for the given tagger
  • set format [vim|emacs|sublime]: Update the ~/.codex configuration file for the given format

Note: codex will browse the parent directory for cabal projects and use them as dependency over hackage when possible.

VIM

Put this in your .vimrc:

set tags=tags;/,codex.tags;/

IMPORTANT: You must use a version >= 7.4 (or you'll get E431: Format error in tags file "codex.tags")

FAQ