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 module
First 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;
name of 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;
true if package.d module exists
@property @safe PkgInfo dup() const;
Duplicate
@safe void append(in PkgInfo[] pkgInfos);
@safe void append(in ref PkgInfo pkgInfo);
@safe void append(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);