gendoc.modmgr
D's Module manager
Provides data structures and helper functions to manage
module paths, package names, and which dub package they belong to.
- struct
ModInfo; - Source file (D's module) information
- string
src; - Source file with relative path from source root path, or absolute path as external files.
- string
dst; - Distination file with relative path from target.
- string
dubPkgName; - Dub package name
- string
pkgName; - (D's) Package name (eg.
hoge/fuga/piyo.d->hoge.fuga) - string
modName; - Module name (
hoge/fuga/piyo.d->piyo) - string
title; - Title of moduleFirst line of documented module comment. Note that it is NOT strictly same from the DDoc's Sammery section.
- @property @safe string
fullModuleName() const; - Concatinated package and module name (eg.
hoge/fuga/piyo.d->hoge.fuga.piyo) - @safe this(string srcFile);
- Constructor
- struct
PkgInfo; - Source file (D's package) information
- string
name; nameof package (eg.hoge/fuga/piyo.d->fuga)- string
dubPkgName; - dub package name
- string
pkgName; - full package name (eg.
hoge/fuga/piyo.d->hoge.fuga) - ModInfo
packageD; - package.d module information if exists.
ModInfo - ModInfo[]
modules; - module informations of package children.
ModInfo - PkgInfo[]
packages; - package informations of package children.
- nothrow @nogc @property @safe bool
hasPackageD() const; trueif package.d module exists- @property @safe PkgInfo
dup() const; - Duplicate
- @safe void
append(in PkgInfo[] pkgInfos);
@safe voidappend(in ref PkgInfo pkgInfo);
@safe voidappend(in ModInfo[] modInfos); - Append other package information to this information
- @safe void
append(in ref ModInfo modInfo);
- struct
PackageAndModuleData; -
- @safe this(ref return scope ModInfo modInfo);
- @safe this(ref return scope PkgInfo d);
- @safe this(ref return scope const ModInfo modInfo) const;
- @safe this(ref return scope const PkgInfo d) const;
- @property @safe string
name() const; - @property @safe bool
isPackage() const; - @property @safe bool
isModule() const; - @property @safe bool
isPackageModule() const; - @property ref @safe inout(PkgInfo)
packageInfo() inout; - @property ref @safe inout(ModInfo)
moduleInfo() inout; - @property @trusted inout(PackageAndModuleData)[]
children() inout;
- struct
PackageAndModuleRange; -
- this(PackageAndModuleData[] pkgs);
- this(PkgInfo[] pkgs);
@safe this(ref return scope const PkgInfo[] pkgs) const; - @property inout(PackageAndModuleData)
front() inout; - void
popFront(); - @property bool
empty() const;
- struct
DubPkgInfo; -
- string
name; - string
packageVersion; - PkgInfo
root; - string
dir; - string[]
options; - @safe this(string dubPkgName, string ver, string rootDir, string[] opts);
- @property @safe DubPkgInfo
dup() const; - Duplicate
- @trusted PackageAndModuleRange
entries();
@trusted const(PackageAndModuleRange)entries() const; - @trusted PackageAndModuleData[]
children(); - @trusted const(PackageAndModuleData)[]
children() const;
- @safe void
moduleSort(ref PackageAndModuleData[] datas); - @trusted void
moduleSort(ref const(PackageAndModuleData)[] datas); - struct
ModuleManager; -
- @safe void
addSources(string dubPkgName, string pkgVer, string root, in string[] files, in string[] options); - @safe bool
hasPackage(string dubPkgName) const; - ref @safe inout(PkgInfo)
getPackageInfo(string dubPkgName) inout; - ref @safe inout(DubPkgInfo)
getDubPackageInfo(string dubPkgName) inout; - @safe void
clearSources(); - @property @safe void
target(string dstDir); - void
exclude(in string[] packages, in string[] packagePatterns, in string[] paths, in string[] patterns);