The documentation manager. Interface between the documentation manager and FPDoc engines. TDocPackage describes a package documentation project. The INI file for this package. Configures the engine (Helper) for this project, optionally creates an project file. Init from TFPDocPackage, into which project AFile has been loaded. Write package config. Returns the INI filename for this package. The package name. Writing loads the package INI file. Setting to True registers the package with the Manager, and updates the config file. The XML project file. Writing also sets ProjectDir. Adds an unit to the package, from an --input specifier. Common compiler options, extracted from an .lpk file. The Lazarus package file, from which the package is created. The project directory, required to resolve relative file references. Description directory, where new skeletons are created. The list of all description files. When empty, all files in DescrDir are used. Input file directory (unused?) The units belonging to the package. Packages required by this package (names only). -Fi specifiers. -Fu specifiers. Sets the current directory as appropriate for relative file references. Counterpart for BeginTest. It does not reset the directory! Imports an FPDoc commandline from an script file. Performs FPDoc tests on a package or single unit. Creates skeletons or updates for a package or a single unit. The project root directory, required to resolve relative file references. Type of an message output handler (dupe of PParser handler type). Documentation manager class, holding packages and common settings. FPDoc project object, performs the currently requested task. Checks Modified and eventually notifies the OnChange handler. Creates an Helper, configures its Options. Frees the helper, resets the current directory to the documentation RootDir. Adds a package object to Packages, updates the Config. Output a message using the OnLog handler. The global INI file. Blocks nested application update events. Unlock nested updates, finally invokes the OnChange handler. Try load config and all packages, when INI file found. Flush pending Config changes. Adds a (new) package project and initializes it from the project file, if not already Loaded. Asks the DocPackage to create an projectfile. Return the named package, create a new one if not found. Imports an Lazarus package or program project file. Add a package, just created from cmdline or projectfile. Create a package from a script, containing an FPDoc commandline. Test a package or single unit documentation. Update documentation file(s) of a package or single unit (MakeSkel). Free Pascal documentation directory for RTL and FCL. Lazarus root dir, used to create LCL and add FCL docs. The global documentation directory, containing all INI files and final documents. The registered packages. The currently processed package. Triggers OnChange event on last EndUpdate. Application handler for changes (added packages). Application handler for log messages. The global documentation manager object. File to use for output options (FPDoc). FPC source directory, used to find source files. All documentation options. The current FPDoc profile (settings). All defined FPDoc profiles. Create documentation for AUnit or the entire package. Add Lazarus description directory to the given package (RTL/FCL). The directory is assumed to be $Lazarus/docs/xml/AName. The related source files must be part of the package, or must be added explicitly (see UpdateFCL). Additional descriptor directory, relative Lazarus directory. The XML files in this directory are added to the package in CreateProject. Override this method to also add the related input files to the project (see TFCLDocPackage.CreateProject). Creates the documentation, for AUnit or the entire package. Selects the FPDoc backend profile. Checks for an additional description directory, returns package.AltDir Adds (or removes) the Lazarus FCL descriptions to the FCL package. The remaining work is done in the dedicated FCL package class. Specialized package class for the FCL documentation. Configures the Helper object, including the added Lazarus FCL descriptions and related FCL input files. The FCL source files reside in a number of directories ($fpc/packages/pkg/src), not all of them are part of the official FCL documentation package. This method searches the units for the given description files and adds them to the fpdoc input files. When compiler options must be added, this has to be done explicitly (here). Adjusts directory separators to the current DirectorySeparator. Adds the names of all subdirectories of ARoot to AList. Adds the filenames (without extension) specified by AMask (dir+mask) to AList. Used to collect XML description files. Searches for source files in ADir, which match an unit name in AList, and returns -1 if none matches. Used to find input files for description files. The Result is not very useful, because the matched entry is removed from AList. List of all FCL source directories, with include indicators. The list constains name/value pairs. The name is the directory part of $FPC/packages/NAME/src/, or ../packages/NAME/src/. A nonzero value indicates that the directory is included into the docs.