Table of Contents

Namespace Dassie.Extensions

Classes

ActionContext

The context in which an action is executed.

CommandHelpDetails

Represents the information displayed on a command's help page.

Compare

Provides implementations of the three-way comparison operator, <=>.

CompilerCommand

Provides an abstract base class for commands implementing ICompilerCommand.

DirectiveContext

Represents the metadata attached to the callsite of a compiler directive.

Extension

Provides an abstract implementation of the IPackage interface.

GlobalConfigProperty

Represents a global configuration property defined by an extension.

MacroInvocationInfo

Specifies the location of a macro invocation.

MacroParameter

Represents a parameter of a macro.

PackageMetadata

Defines version information for a Dassie compiler extension.

ProjectFile

Represents a project file (dsconfig.xml) that is part of a project template.

ProjectTemplateAuxiliaryFile

Represents a raw file that is part of a project template.

ProjectTemplateDirectory

Represents a directory that is part of a project template.

ProjectTemplateEntry

Represents a file system entry inside of a project template.

ProjectTemplateSourceFile

Represents a source file that is part of a project template.

Interfaces

IBuildAction

Represents an action that can be performed as part of a build event.

IBuildLogDevice

Defines a mechanism for redirecting Dassie compiler logs to different outputs.

IBuildLogWriter

Defines a mechanism to write build logs using TextWriter.

ICompilerCommand

Defines a command used to add additional features to the Dassie compiler.

ICompilerDirective

Represents a custom compiler directive enabled by the ${...} syntax.

IConfigurationProvider

Defines a mechanism to pass configuration data to the compiler without using project files (dsconfig.xml).

IDeploymentTarget

Defines a target used by the 'dc deploy' command.

IDocumentSource

Represents a document source that can inject Dassie source code into compilations.

IEnvironmentInfo

Represents the environment in which a compiler extension is loaded.

IMacro

Defines a mechanism for extensions to provide build system macros.

IPackage

Defines a Dassie compiler extension.

IProjectTemplate

Represents a project template to be used with the 'dc new' command.

IResourceProvider<TRes>

Defines a mechanism to define and override compiler resources, such as localization strings.

ISubsystem

Represents the application type and subsystem of a Dassie project.

Enums

ActionModes

Specifies the modes in which an action can be executed.

BuildLogSeverity

The error severities at which a IBuildLogWriter or IBuildLogDevice is active.

CommandOptions

Specifies options for compiler commands.

CommandRole

Specifies the role of a command in the runtime system.

ExtensionModes

Represents the modes that extensions can be loaded in.

MacroOptions

Represents options that modify the behavior of the macro.