litespeed-quic/docs/devel.rst

38 lines
1.2 KiB
ReStructuredText

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/