Hi all! For years Nyx (aka arm) has done a neat trick where we describe what torrc options do and how they’re used. To do this Nyx had its own cobbled together parser for tor’s man page. Clearly a hack, but it worked.
That was all well and good, but we could clearly do better and now we have!
Stem manual information module
Besides filling Nyx’s needs the shiny new
-
Tor test coverage. This adds several integration tests to confirm tor can properly build a valid man page.
-
Provides all Stem users with three methods for getting tor manual information…
-
from_cache() – Retrieves information bundled with Stem. This is only as up to date as Stem itself, but the fastest and most reliable method.
-
from_man() – Parses information from the local system by running ‘man tor’. Still fast, but obviously requires tor’s man page to be present.
-
from_remote() – Retrieves the latest manual information from tor’s git repository. This is slow and shouldn’t be used without a fallback, but provides the most up-to-date manual information.
-
-
Along with tor’s manual information we provide brief, more user-friendly descriptions of all tor’s configuration options.
-
Parser is much improved over Nyx’s. In particular the
stem.manual module has vastly improved performance, test coverage, and updated summary information.