1Developing lsquic 2================= 3 4Generating Tags 5--------------- 6 7Over the years, we have developed a wrapper around `Universal Ctags`_ 8to generate convenient tags so that, for example, ``ci_packet_in`` will 9be able to take you to any of its implementations such as 10``full_conn_ci_packet_in()``, ``evanescent_conn_ci_packet_in()``, and 11others. 12 13_Exuberant_ Ctags will work, too, but the more recent and maintained fork 14of it, the _Universal_ Ctags, is preferred. (If you are on Ubuntu, you 15should clone Universal Ctags from GitHub and compiled it yourself. The 16version that comes in the Ubuntu package -- at the time of this writing 17-- is so slow as to be considered broken). 18 19The wrapper is ``tools/gen-tags.pl``. Run it in the source directory: 20 21.. highlight:: bash 22 23:: 24 25 sh$ cd lsquic 26 sh$ ./tools/gen-tags.pl 27 28Maintaining Documentation 29------------------------- 30 31Documentation -- the ``*.rst`` files under ``docs/`` should be kept up-to-date 32with changes in the API in ``include/lsquic.h``. 33 34For convenience, tags for the documentation files can be generated by passing 35the ``--docs`` argument to ``tools/gen-tags.pl``. 36 37.. _`Universal Ctags`: https://ctags.io/ 38