docs: def purge_docs(cls, app, env, docname):  # pragma: no cover
          """Handler for Sphinx's env-purge-doc event.
  
          This event is emitted when all traces of a source file should be cleaned
          from the environment (that is, if the source file is removed, or before
          it is freshly read). This is for extensions that keep their own caches
          in attributes of the environment.
  
          For example, there is a cache of all modules on the environment. When a
          source file has been changed, the cache's entries for the file are
          cleared, since the module declarations could have been removed from the
          file.
          """
          state = getattr(env, cls.directive_name, None)
          if state and docname in state.doc_names:
              state.doc_names.remove(docname)