Trait rustdoc::formats::renderer::FormatRenderer[−][src]

pub(crate) trait FormatRenderer<'tcx>: Sized {
    const RUN_ON_MODULE: bool;

    fn descr() -> &'static str;
fn init(
        krate: Crate,
        options: RenderOptions,
        cache: Cache,
        tcx: TyCtxt<'tcx>
    ) -> Result<(Self, Crate), Error>;
fn make_child_renderer(&self) -> Self;
fn item(&mut self, item: Item) -> Result<(), Error>;
fn mod_item_in(&mut self, item: &Item) -> Result<(), Error>;
fn after_krate(&mut self) -> Result<(), Error>;
fn cache(&self) -> &Cache; fn mod_item_out(&mut self) -> Result<(), Error> { ... } }
Expand description

Allows for different backends to rustdoc to be used with the run_format() function. Each backend renderer has hooks for initialization, documenting an item, entering and exiting a module, and cleanup/finalizing output.

Associated Constants

Whether to call item recursivly for modules

This is true for html, and false for json. See #80664

Required methods

Gives a description of the renderer. Used for performance profiling.

Sets up any state required for the renderer. When this is called the cache has already been populated.

Make a new renderer to render a child of the item currently being rendered.

Renders a single non-module item. This means no recursive sub-item rendering is required.

Renders a module (should not handle recursing into children).

Post processing hook for cleanup and dumping output to files.

Provided methods

Runs after recursively rendering all sub-items of a module.

Implementors

Generates the documentation for crate into the directory dst

Inserts an item into the index. This should be used rather than directly calling insert on the hashmap because certain items (traits and types) need to have their mappings for trait implementations filled out before they’re inserted.