]> git.wincent.com - docvim.git/blob - README.md
Switch to Stack
[docvim.git] / README.md
1 # docvim: a documentation generator for Vim plug-ins
2
3 docvim is a documentation generator for Vim plug-ins, written in Haskell.
4
5 ## Development
6
7 ### Set-up
8
9 You can set-up a development environment using [Stack] (recommended) or [Cabal]:
10
11 ```bash
12 # Stack:
13 brew install haskell-stack
14 stack build
15
16 # Cabal:
17 brew install cabal-install
18 cabal sandbox init
19 cabal install --only-dependencies --enable-tests
20 cabal build
21 ```
22
23 ### Running
24
25 Run using `stack exec` (or `cabal run`) and passing in docvim-specific `OPTIONS`:
26
27 ```bash
28 # Stack:
29 stack exec docvim [OPTIONS]
30
31 # Cabal:
32 cabal run -- [OPTIONS]
33 ```
34
35 You can also run the modules from inside the REPL:
36
37 ```bash
38 # Stack:
39 stack repl
40 > pp "let l:test=1" -- pretty-prints AST
41
42 # Cabal:
43 cabal repl`
44 > import Docvim.Parse
45 > pp "let l:test=1" -- pretty-prints AST
46 ```
47
48 ### Building and viewing the code-level documentation
49
50 ```bash
51 # Stack:
52 stack haddock
53 open .stack-work/dist/x86_64-osx/Cabal-1.22.5.0/doc/html/docvim/index.html
54
55 # Cabal:
56 cabal haddock --executables
57 open dist/doc/html/docvim/docvim/index.html
58 ```
59
60 ### Testing
61
62 ```bash
63 # Stack:
64 stack test
65
66 # Cabal:
67 cabal test
68 ```
69
70 ### Linting
71
72 ```bash
73 # Stack:
74 stack test              # Runs linter as part of overall suite.
75 stack test docvim:hlint # Runs the linter alone.
76
77 # Cabal:
78 cabal install hlint     # (First-time only).
79 cabal test              # Runs linter as part of overall suite.
80 cabal test hlint        # Runs linter alone.
81
82 hlint src               # If you have HLint installed under $PATH.
83 ```
84
85 [Cabal]: https://www.haskell.org/cabal/
86 [Stack]: http://haskellstack.org/