# compiler/docgen

Dark Mode

- Index

Search:
Group by:
Source Edit

# Imports

ast, options, msgs, idents, wordrecg, syntaxes, renderer, lexer, trees, types, typesrenderer, astalgo, lineinfos, pathutils, nimpaths, renderverbatim, packages, nodejs

# Types

    PDoc = ref TDocumentor

  Alias to type less. Source Edit

# Procs

    proc commandBuildIndex(conf: ConfigRef; dir: string; outFile = RelativeFile"") {....raises: [
        OSError, IOError, ValueError, Exception, Exception, ValueError, KeyError,
        OSError, IOError, ERecoverableError], tags: [ReadDirEffect, ReadIOEffect,
        RootEffect, ReadEnvEffect, TimeEffect, WriteIOEffect].}

  Source Edit

    proc commandDoc(cache: IdentCache; conf: ConfigRef) {....raises: [OSError,
        Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
        WriteDirEffect, ExecIOEffect, TimeEffect].}

  implementation of deprecated `doc0` command (without semantic checking) Source Edit

    proc commandJson(cache: IdentCache; conf: ConfigRef) {....raises: [Exception,
        ValueError, KeyError, OSError, IOError, ERecoverableError, Exception,
        ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
        WriteDirEffect].}

  implementation of a deprecated jsondoc0 command Source Edit

    proc commandRst2Html(cache: IdentCache; conf: ConfigRef) {....raises: [ValueError,
        OSError, IOError, Exception, KeyError, ERecoverableError], tags: [
        WriteDirEffect, ReadDirEffect, RootEffect, WriteIOEffect, ReadIOEffect,
        ReadEnvEffect, ExecIOEffect, TimeEffect].}

  Source Edit

    proc commandRst2TeX(cache: IdentCache; conf: ConfigRef) {....raises: [ValueError,
        OSError, IOError, Exception, KeyError, ERecoverableError], tags: [
        WriteDirEffect, ReadDirEffect, RootEffect, WriteIOEffect, ReadIOEffect,
        ReadEnvEffect, ExecIOEffect, TimeEffect].}

  Source Edit

    proc commandTags(cache: IdentCache; conf: ConfigRef) {....raises: [Exception,
        ValueError, KeyError, OSError, IOError, ERecoverableError, Exception,
        ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
        WriteDirEffect].}

  Source Edit

    proc documentRaises(cache: IdentCache; n: PNode) {.
        ...raises: [Exception, KeyError, ValueError], tags: [RootEffect].}

  Source Edit

    proc finishGenerateDoc(d: var PDoc) {....raises: [Exception, ValueError],
                                          tags: [RootEffect, ReadEnvEffect].}

  Perform 2nd RST pass for resolution of links/footnotes/headings... Source Edit

    proc generateDoc(d: PDoc; n, orig: PNode; docFlags: DocFlags = kDefault) {....raises: [
        ValueError, KeyError, Exception, OSError, IOError, ERecoverableError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
        WriteDirEffect].}

  Goes through nim nodes recursively and collects doc comments. Main function for `doc` command, which is implemented in `docgen2.nim`. Source Edit

    proc generateIndex(d: PDoc) {....raises: [OSError, IOError, Exception, KeyError,
                                           ValueError, ERecoverableError], tags: [
        WriteDirEffect, ReadDirEffect, RootEffect, WriteIOEffect, ReadIOEffect,
        ReadEnvEffect].}

  Source Edit

    proc generateJson(d: PDoc; n: PNode; includeComments: bool = true) {.
        ...raises: [Exception, KeyError, ValueError], tags: [RootEffect].}

  Source Edit

    proc generateTags(d: PDoc; n: PNode; r: var string) {.
        ...raises: [KeyError, Exception, ValueError], tags: [RootEffect].}

  Source Edit

    proc handleDocOutputOptions(conf: ConfigRef) {....raises: [OSError], tags: [].}

  Source Edit

    proc newDocumentor(filename: AbsoluteFile; cache: IdentCache; conf: ConfigRef;
                       outExt: string = HtmlExt; module: PSym = nil;
                       isPureRst = false): PDoc {....raises: [ValueError, OSError,
        IOError, Exception, KeyError, ERecoverableError], tags: [WriteDirEffect,
        ReadDirEffect, RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}

  Source Edit

    proc presentationPath(conf: ConfigRef; file: AbsoluteFile): RelativeFile {....raises: [
        Exception, KeyError, OSError, ValueError, IOError, ERecoverableError], tags: [
        RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}

  returns a relative file that will be appended to outDir Source Edit

    proc writeOutput(d: PDoc; useWarning = false; groupedToc = false) {....raises: [
        OSError, ValueError, IOError, Exception, KeyError, ERecoverableError,
        Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
        ReadEnvEffect, ReadIOEffect, WriteIOEffect, ReadDirEffect, ExecIOEffect,
        RootEffect, TimeEffect, WriteDirEffect].}

  Source Edit

    proc writeOutputJson(d: PDoc; useWarning = false) {....raises: [OSError,
        ValueError, IOError, Exception, KeyError, ERecoverableError], tags: [
        ReadEnvEffect, ReadIOEffect, WriteIOEffect, ReadDirEffect, ExecIOEffect,
        RootEffect].}

  Source Edit