199a1ad0fSDmitri TikhonovDeveloping lsquic 299a1ad0fSDmitri Tikhonov================= 399a1ad0fSDmitri Tikhonov 499a1ad0fSDmitri TikhonovGenerating Tags 599a1ad0fSDmitri Tikhonov--------------- 699a1ad0fSDmitri Tikhonov 799a1ad0fSDmitri TikhonovOver the years, we have developed a wrapper around `Universal Ctags`_ 899a1ad0fSDmitri Tikhonovto generate convenient tags so that, for example, ``ci_packet_in`` will 999a1ad0fSDmitri Tikhonovbe able to take you to any of its implementations such as 1099a1ad0fSDmitri Tikhonov``full_conn_ci_packet_in()``, ``evanescent_conn_ci_packet_in()``, and 1199a1ad0fSDmitri Tikhonovothers. 1299a1ad0fSDmitri Tikhonov 1399a1ad0fSDmitri Tikhonov_Exuberant_ Ctags will work, too, but the more recent and maintained fork 1499a1ad0fSDmitri Tikhonovof it, the _Universal_ Ctags, is preferred. (If you are on Ubuntu, you 1599a1ad0fSDmitri Tikhonovshould clone Universal Ctags from GitHub and compiled it yourself. The 1699a1ad0fSDmitri Tikhonovversion that comes in the Ubuntu package -- at the time of this writing 1799a1ad0fSDmitri Tikhonov-- is so slow as to be considered broken). 1899a1ad0fSDmitri Tikhonov 1999a1ad0fSDmitri TikhonovThe wrapper is ``tools/gen-tags.pl``. Run it in the source directory: 2099a1ad0fSDmitri Tikhonov 2199a1ad0fSDmitri Tikhonov.. highlight:: bash 2299a1ad0fSDmitri Tikhonov 2399a1ad0fSDmitri Tikhonov:: 2499a1ad0fSDmitri Tikhonov 2599a1ad0fSDmitri Tikhonov sh$ cd lsquic 2699a1ad0fSDmitri Tikhonov sh$ ./tools/gen-tags.pl 2799a1ad0fSDmitri Tikhonov 2899a1ad0fSDmitri TikhonovMaintaining Documentation 2999a1ad0fSDmitri Tikhonov------------------------- 3099a1ad0fSDmitri Tikhonov 3199a1ad0fSDmitri TikhonovDocumentation -- the ``*.rst`` files under ``docs/`` should be kept up-to-date 3299a1ad0fSDmitri Tikhonovwith changes in the API in ``include/lsquic.h``. 3399a1ad0fSDmitri Tikhonov 3499a1ad0fSDmitri TikhonovFor convenience, tags for the documentation files can be generated by passing 3599a1ad0fSDmitri Tikhonovthe ``--docs`` argument to ``tools/gen-tags.pl``. 3699a1ad0fSDmitri Tikhonov 3799a1ad0fSDmitri Tikhonov.. _`Universal Ctags`: https://ctags.io/ 38