• This repository has been archived on 26/Mar/2023
  • Stars
    star
    170
  • Rank 223,357 (Top 5 %)
  • Language
    Haskell
  • License
    Apache License 2.0
  • Created over 10 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A ctags file generator for cabal/stack project dependencies.

Codex

View on hackage Build Status Join the chat at https://gitter.im/aloiscochard/codex

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

More Repositories

1

scato

An exploration of purely functional library design in Scala.
Scala
103
star
2

sindi

Sindi - An IoC Container for Scala
Scala
67
star
3

enum-paradise

Scala enumeration implementation using type macros
Scala
57
star
4

sarsi

A universal quickfix toolkit
Haskell
46
star
5

codec-jvm

A JVM bytecode assembler written in Haskell.
Haskell
36
star
6

sherpa

Sherpa - A serialization toolkit for Scala with macro-oriented case classes mapping
Scala
34
star
7

grpc-haskell

Haskell implementation of gRPC layered on shared C library.
Haskell
23
star
8

elasticsearch-osem

ElasticSearch OSEM
Java
22
star
9

drscala

DrScala - A doctor for your code
Scala
17
star
10

spring-security-ntlm

Spring Security - NTLM Support
Java
11
star
11

machines-tutorial

Haskell
10
star
12

matterhorn

Scala
9
star
13

git-sanity

A sanity checker for your git history.
Haskell
9
star
14

machines-io

IO utilities for the machines library
Haskell
9
star
15

shona

Scala
8
star
16

siona

Siona - A layered application framework for Scala
Scala
7
star
17

sandra

Sandra - An Apache Cassandra Toolkit for Scala
Scala
7
star
18

grpc-scala

Scala
7
star
19

kuna

Haskell
7
star
20

machines-directory

System Directory utilities for the machines library
Haskell
6
star
21

spring-security-ntlm-samples

Spring Security - NTLM Support (Samples)
4
star
22

spring-batch-integration-gridgain

Spring Batch Integration Module for GridGain
Java
3
star
23

machines-process

System Process utilities for the machines library
Haskell
3
star
24

machines-binary

Binary utilities for the machines library
Haskell
3
star
25

velox

A continuous development automaton
Rust
2
star
26

sample-cqrs-cargo

Scala
2
star
27

redigo

A HTTP Routing Engine (FastCGI/Redis)
Haskell
2
star
28

thinkgear

Haskell implementation of the ThinkGear Protocol.
Haskell
2
star
29

OmegaDomino

OmegaDomino is a computer program developed by artificial intelligence researcher Aloïs Cochard to master the game of domino. This algorithm uses an approach similar to AlphaZero and DeepStack.
Rust
2
star
30

scalax-parstream

Scala eXperimental - Parallel Stream
Scala
2
star
31

workbench

A collection of simple utilities
Haskell
1
star
32

sc2

A collection of strategies for StarCraft2 Multiplayer CoOp
1
star
33

ignis

Haskell
1
star
34

influo

A HTTP Stress Tool
Haskell
1
star
35

dvorhack

Dvorhack - The hacker's dvorak keyboard layout
Shell
1
star