Developing lsquic ================= Generating Tags --------------- Over the years, we have developed a wrapper around `Universal Ctags`_ to generate convenient tags so that, for example, ``ci_packet_in`` will be able to take you to any of its implementations such as ``full_conn_ci_packet_in()``, ``evanescent_conn_ci_packet_in()``, and others. _Exuberant_ Ctags will work, too, but the more recent and maintained fork of it, the _Universal_ Ctags, is preferred. (If you are on Ubuntu, you should clone Universal Ctags from GitHub and compiled it yourself. The version that comes in the Ubuntu package -- at the time of this writing -- is so slow as to be considered broken). The wrapper is ``tools/gen-tags.pl``. Run it in the source directory: .. highlight:: bash :: sh$ cd lsquic sh$ ./tools/gen-tags.pl Maintaining Documentation ------------------------- Documentation -- the ``*.rst`` files under ``docs/`` should be kept up-to-date with changes in the API in ``include/lsquic.h``. For convenience, tags for the documentation files can be generated by passing the ``--docs`` argument to ``tools/gen-tags.pl``. .. _`Universal Ctags`: https://ctags.io/