DESCRIPTIONupdate-otags runs otags on the system-wide installed OCaml files (in ocamlc -where). This makes it possible to use the tag-features of vi/vim and Emacs to jump to the declarations of library functions in the system-wide installed .mli files to read the documentation that is hopefully embedded in those files.
To use the system-wide tags table in Emacs, use M-x visit-tags-table <RET> /var/lib/otags/TAGS. To load it by default, customize tags-table-list to contain /var/lib/otags (by using M-x customize-variable, for instance).
For vim use :set tags=/var/lib/otags/tags or add set tags=/var/lib/otags/tags to your .vimrc.
One would typically update the system-wide tags tables with a cron-job once per week or day.
- System-wide tags table for Emacs and vi/vim.
- Directory for parsing hints. Packages that install files in non-standard syntax can install a parser hints file for otags in this directory, see option -parser-hints in the otags(1) manual.
BUGSCamlp4 (and therefore otags too) cannot parse all legal OCaml sources. Most notably, camlp4 dies on pervasives.mli because it cannot parse block attributes (those starting with [@@). Therefore, none of the core library functions are tagged.
Various files in the system-wide OCaml directory are written in the revised syntax or require other syntax extensions. In principle these files can all be properly tagged, but the dumb update-otags script tries to parse all files with the original syntax.