HASKTAGS(1)

πŸ“¦ version 0.73.0, in epel 10, fedora 43, fedora 44

πŸ’– HASKTAGS πŸ’–

okay bestie, so this is the manual page for hasktags version 0.73.0, and honestly? it's giving "small tool, big main character energy". it eats your Haskell files and spits out tag files so your editor can jump around like it's on a scavenger hunt. slay. πŸŽ€


✨ SYNOPSIS ✨

hasktags [(-c|--ctags) | (-e|--etags) | (-b|--both)] [-x|--extendedctag]
         [-a|--append] [-f|-o|--file|--output FILE|-] [--cache]
         [-L|--follow-symlinks] [-S|--suffixes ARG] [-R|--tags-absolute]
         [--options FILE] <files or directories...> [--version]

🌸 DESCRIPTION 🌸

so here's the tea, bestie. when you hand hasktags a directory, it doesn't just peek inside β€” it replaces that directory with:

DIR/**/*.hs DIR/**/*.lhs

which means if you run hasktags . it will tag all the important files in your current directory. iconic behaviour honestly. πŸ’…

if those directories are symlinks, hasktags will not follow them unless you pass -L. no chasing ghosts without permission, periodt.


there's also a special file called "STDIN" (yes, literally that string) β€” and if you use it, hasktags will read the line separated file list to be tagged from STDIN. feeding it through a pipe? obsessed. 🫢


πŸ¦‹ AVAILABLE OPTIONS πŸ¦‹

  • -c, --ctags β€” generate a CTAGS file (ctags). classic.
  • -e, --etags β€” generate an ETAGS file (etags). emacs girlies rise up.
  • -b, --both β€” generate both CTAGS and ETAGS. this is the default, so it's the "why not both" option. πŸ’–
  • -x, --extendedctag β€” generate additional information in the ctag file. extra. in a good way.
  • -a, --append β€” append to existing CTAGS and/or ETAGS file(s). ⚠️ heads up though: afterward this file will no longer be sorted! so if you're a sorted-girlie, maybe don't.
fr fr, the --append sort thing is a real warning, not me being dramatic.
  • -f, -o, --file, --output FILE|- β€” output to a given file instead of using the default names. '-' writes to stdout. the defaults are: ctags goes to tags, etags goes to TAGS.
  • --cache β€” cache file data. speed, bestie. ⚑
  • -L, --follow-symlinks β€” follow symlinks when recursing directories.
  • -S, --suffixes ARG β€” a list of hs suffixes, and yes, including ".". default is [".hs",".lhs",".hsc"].
  • -R, --tags-absolute β€” make tags paths absolute. super useful when you're setting tags files in other directories and need them to actually find their way home. 🏠
  • --options FILE β€” read additional options from a file. that file should contain one option per line. no chaos, just lines.
  • --version β€” show version. humble.
  • -h, --help β€” show this help text. you are here. πŸ“

πŸ‘‘ FINAL VIBES πŸ‘‘

that's the whole page, bestie β€” go tag something. this was hasktags 0.73.0, from January 2026, and honestly? she ate. πŸ’œβœ¨πŸŽ€πŸ¦‹

no cap, every flag and default above is exactly as the original says. tag responsibly. πŸ’…
πŸ“¦ where this page comes from