-
Notifications
You must be signed in to change notification settings - Fork 18
/
fast-tags.cabal
146 lines (140 loc) · 3.98 KB
/
fast-tags.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
name: fast-tags
version: 2.0.2
cabal-version: >= 1.10
build-type: Simple
synopsis: Fast incremental vi and emacs tags.
description:
Yet another tags program. Like hasktags, it uses its own parser rather
than haskell-src or haskell-src-exts, so it's fast. It understands
hsc and literate haskell.
.
In addition, it will load an existing tags file and merge generated tags.
.
The intent is to bind it to vim's BufWrite autocommand to automatically
keep the tags file up to date. This only works for files changed by the
editor of course, so there are separate git hooks to update on pulls etc.
.
With the --fully_qualified flag and a fancy vim function, it can
disambiguate tags based on their qualification, even if it's locally
renamed. So M.x will find A.B.x if you import A.B as M.
.
To see the configuration examples, you probably have to get the source via
cabal unpack or git clone.
.
Limitations:
.
- Not using a real haskell parser means there is likely to be dark
corners that don't parse right.
.
- Code has to be indented \"properly\", so brace and semicolon style with
strange dedents will probably confuse it.
category: Haskell, Development
license: BSD3
license-file: LICENSE
author: Evan Laforge
maintainer: Evan Laforge <qdunkan@gmail.com>
stability: stable
tested-with:
GHC == 7.10,
GHC == 8.0,
GHC == 8.2,
GHC == 8.4,
GHC == 8.6,
GHC == 8.8,
GHC == 8.10,
GHC == 9.0
extra-source-files:
README.md
changelog.md
src/*.hs
tools/README.md
tools/init-tags
tools/post-checkout
tools/post-merge
tools/qualified_tag.py
tools/vimrc
homepage: https://github.com/elaforge/fast-tags
source-repository head
type: git
location: git://github.com/elaforge/fast-tags.git
flag profile
description: add -auto-all
default: False
manual: True
library
build-depends:
Cabal,
array,
base >= 3 && < 5,
bytestring,
containers,
deepseq,
filepath,
mtl >=2.1,
-- text 0.11.1.12 has a bug.
text (> 0.11.1.12 || < 0.11.1.12),
transformers,
vector,
void
build-tools: alex
exposed-modules:
FastTags.Cabal
FastTags.Emacs
FastTags.LensBlaze
FastTags.Lexer
FastTags.LexerM
FastTags.LexerTypes
FastTags.Tag
FastTags.Token
FastTags.Util
FastTags.Vim
hs-source-dirs: src
ghc-options: -Wall -fno-warn-name-shadowing -O2
if flag(profile)
ghc-prof-options: -Wall -fno-warn-name-shadowing -auto-all
default-language: Haskell2010
executable fast-tags
main-is: src/FastTags/Main.hs
other-modules: Paths_fast_tags
build-depends:
base >= 3 && < 5, filepath, directory >=1.3.0.0,
-- text 0.11.1.12 has a bug.
text (> 0.11.1.12 || < 0.11.1.12),
async >= 2.0.0.0,
deepseq,
fast-tags
-- cabal emits a warning about -main-is, but there doesn't seem to
-- any alternative. Unnaming FastTags.Main means I lose
-- -Wunused-top-binds, changing the name to Main means I lose ghci,
-- and adding a dummy Main means I have to export it from the
-- library.
ghc-options:
-main-is FastTags.Main
-O2
-Wall
-fno-warn-name-shadowing
-threaded
-rtsopts
if flag(profile)
ghc-prof-options:
-auto-all -Wall -fno-warn-name-shadowing -threaded
default-language: Haskell2010
test-suite test-fast-tags
type: exitcode-stdio-1.0
main-is: MainTest.hs
hs-source-dirs: tests
ghc-options:
-Wall
-fno-warn-name-shadowing
-fno-warn-type-defaults
-main-is MainTest
build-depends:
base >= 3 && < 5,
bytestring,
tasty,
tasty-hunit,
-- text 0.11.1.12 has a bug.
text (> 0.11.1.12 || < 0.11.1.12),
void,
fast-tags
default-language: Haskell2010