;dev: Add a ghc-tags.yaml file

Provide a ghc-tags.yaml file to make use of ghc-tags with Hledger easy.

ghc-tags is a standalone tool to replace the formerly-built-in
":ctags" feature (and I presume ":etags") in GHCi. These walked over
the source and produced a TAGS file (in vim-compatible ctags or
Emacs-compatible etags format) that allows the relevant editors to
quickly navigate around function definitions.

ghc-tags trips over some of the CPP used in Hledger. The solution
is to provide ghc-tags with explicit CPP defines via a YAML file.
However, if a YAML file is provided, one also must specify the source
paths, as the tool XORs config file | paths-on-command-line.

See <https://github.com/arybczak/ghc-tags/issues/6> for more
information.

Signed-off-by: Jonathan Dowland <jon@dow.land>
This commit is contained in:
Jonathan Dowland 2023-08-31 14:27:00 +01:00 committed by Simon Michael
parent ff730f775b
commit 1ebd244abb

8
ghc-tags.yaml Normal file
View File

@ -0,0 +1,8 @@
source_paths:
- hledger
- hledger-lib
- hledger-ui
- hledger-web
cpp_options:
- -DMIN_VERSION_megaparsec(x,y,z)=1
- -DMIN_VERSION_aeson(x,y,z)=1