Namespace

Foundry – 1

A GNOME library providing IDE capabilities

Version1.1.alpha
AuthorsChristian Hergert
LicenseLGPL-2.1-or-later
Websitehttps://gitlab.gnome.org/GNOME/foundry/
Sourcehttps://gitlab.gnome.org/GNOME/foundry/

Build

C headersfoundry.h
pkg-config fileslibfoundry-1

Dependencies

GLib—2.0 The base type system library
Browse documentation
GObject—2.0 The base type system library
Browse documentation

Additional documentation

Classes

ActionMuxer

Custom GActionGroup integration.

AuthProvider

Abstract class for requesting credentials from a user.

BuildAddin

Customize build pipelines from plugins.

BuildFlags

Represents build flags to a compiler or other command.

BuildManager

Manages build operations and build system integration.

BuildPipeline

Manages build pipeline execution and coordination.

BuildProgress

Manages build progress tracking and stage execution.

BuildStage

A single state in a build pipeline.

BuildTarget

Abstract base class representing a singular build target.

CliCommandTree

Manages a hierarchical tree of CLI commands.

CodeAction

CodeTemplate

A template for generating new code in a project.

Command

A command that may be run in a shell environment.

CommandLine

Abstract base class for command line interface implementations.

CommandManager

Service managing command providers and their commands.

CommandProvider

Abstract base class allowing plugins to provide commands.

CommandStage

An FoundryBuildStage that runs a command in the build pipeline.

CompileCommands

CompletionProposal

An abstract base class for completion providers.

CompletionProvider

Abstract base class for providing code completion suggestions.

CompletionRequest

Represents a single completion request.

Config

An abstract base class for build configurations.

ConfigManager

Manage configuration providers and their configs.

ConfigProvider

Abstract base class for plugins to implement access to custom configs.

Context

The central object representing an open project.

Contextual

Abstract base class for objects that are associated with a Foundry context.

DapDebugger

Debug Adapter Protocol (DAP) implementation of the debugger interface.

DBusService

Manages D-Bus service for remote command execution.

Debugger

Abstract base class for debugger implementations.

DebuggerActions

Simplified interface for performing debugger actions.

DebuggerBreakpoint

Abstract base class for debuggers to represent breakpoints.

DebuggerCountpoint

Abstract base class for debuggers to implement countpoints.

DebuggerEvent

DebuggerInstruction

Represents a single assembly instruction.

DebuggerLogMessage

Abstract base class for representing log messages in the debugger.

DebuggerManager

Manages debugger providers and coordinates debugging operations.

DebuggerMappedRegion

Abstract base class for representing mapped memory regions in the debugger.

DebuggerModule

Abstract base class for representing modules in the debugger.

DebuggerProvider

Abstract base class for providing debugger functionality.

DebuggerSource

Represents a source code location.

DebuggerStackFrame

Abstract base class for representing stack frames in the debugger.

DebuggerStopEvent

Represents why a debugger has stopped.

DebuggerTarget

Abstract base class for representing the types of targets a debugger can connect to.

DebuggerTargetCommand

Command-based implementation of debugger target.

DebuggerTargetProcess

Represents a request to connect to an existing process.

DebuggerTargetRemote

Repreesnts connecting to a remote debugger instance.

DebuggerThread

Abstract base class for representing threads in the debugger.

DebuggerThreadGroup

Represents a group of threads.

DebuggerTrap

Abstract base class for different types of ways a debugger may stop.

DebuggerTrapParams

Represents parameters for debugger traps and breakpoints.

DebuggerVariable

Abstract base class for representing variables in the debugger.

DebuggerWatchpoint

Abstract base class for debuggers to imlement traps upon memory changing.

Dependency

Abstract base class to represent a dependency implemented by plugins.

DependencyManager

Manages plugins implementing FoundryDependencyProvider.

DependencyProvider

Abstract base class for plugins to provide known dependencies.

DeployStrategy

Represents how a plugin can deploy a build to a specific device for running.

Device

Represents a local or remote device that can be deployed to.

DeviceInfo

Minimal descriptive information about a device.

DeviceManager

Manage plugins providing device integration and their devices.

DeviceProvider

Abstract base class for plugins which want to provide specific device integration.

Diagnostic

Represents a single diagnostic.

DiagnosticFix

Represents a fix that may be applied to resolve a diagnostic.

DiagnosticManager

Manages diagnostic information and error reporting.

DiagnosticProvider

Abstract base class for plugins to provide diagnostics.

DiagnosticRange

Represents a range within a file that a diagnostic applies to.

DiagnosticTool

Simplified base class for working with diagnostic tooling which provide a structured format.

DirectoryItem

Represents a single item found with in a directory listing.

DirectoryListing

Manages directory contents and file listings.

DirectoryReaper

Simplified interface for deleting files or directories recursively.

Documentation

Abstract base class for plugins to provide a documentation endpoint.

DocumentationBundle

Abstract base class for plugins to provide installable documentation.

DocumentationIntent

Represents an intent to display documentation.

unstable since: 1.1

DocumentationManager

Service that manages documentation plugins.

DocumentationMatches

Represents a set of matches from a documentation query.

DocumentationProvider

Abstract base class for plugins to provide documentation.

DocumentationQuery

Represents a query into the documentation engine.

DocumentationRoot

An area where documentation may be ingested from.

Extension

Represents a single plugin extension with FoundryContext support.

ExtensionSet

Manages a collection of extensions and provides unified access to their functionality.

FileManager

Manages file operations and provides file system abstraction.

FileMonitor

A file monitor which integrates well with DexFuture.

FileMonitorEvent

Represents an event that has occurred from a file monitor.

FileSearchMatch

A file search match result.

unstable since: 1.1

FileSearchOptions

Configuration options for file search operations.

unstable since: 1.1

FileSearchProvider

A pluggable file search provider.

unstable since: 1.1

FileSearchReplacement

Perform text replacements across search matches.

unstable since: 1.1

FlatpakArchOptions

FlatpakExtension

FlatpakExtensions

FlatpakList

FlatpakManifest

FlatpakManifestLoader

FlatpakModule

FlatpakModules

FlatpakOptions

FlatpakSerializable

FlatpakSource

FlatpakSourceArchive

FlatpakSourceBzr

FlatpakSourceDir

FlatpakSourceExtraData

FlatpakSourceFile

FlatpakSourceGit

FlatpakSourceInline

FlatpakSourcePatch

FlatpakSources

FlatpakSourceScript

FlatpakSourceShell

FlatpakSourceSvn

Forge

Abstract base class for forge service implementations.

unstable since: 1.1

ForgeIssue

Abstract base class for representing issues from forge services.

ForgeListing

Abstract base class for managing paginated listings from forge services.

unstable since: 1.1

ForgeManager

Manages plugins providing FoundryForge implementations.

unstable since: 1.1

ForgeMergeRequest

Abstract base class for representing merge requests from forge services.

ForgeProject

Represents a project on a forge.

unstable since: 1.1

ForgeQuery

ForgeUser

Represents a user on a forge.

Gir

Represents a GObject Introspection Repository (GIR) file.

GirNode

Represents a node in a GObject Introspection Repository (GIR) file.

GitBlame

Git implementation of blame information for version control files.

GitBranch

GitCloner

GitCommit

GitDelta

GitDiff

GitFile

GitReference

GitRemote

GitSignature

GitStats

GitStatusEntry

GitStatusList

GitTag

GitTree

GitVcs

Git implementation of the version control system interface.

HoverProvider

Abstract base class for plugins to provide hover tooltip features.

Inhibitor

Inhibit shutdown of FoundryContext during important operations.

Input

Base class for various types of user input.

InputChoice

InputCombo

InputFile

InputFont

InputGroup

InputPassword

InputSpin

InputSwitch

InputText

InputValidator

InputValidatorDelegate

InputValidatorRegex

Intent

Abstract base class for representing intents.

IntentHandler

Abstract base class for handling intents.

IntentManager

The intent manager provides a generic mechanism to handle intents within an application.

unstable since: 1.1

Language

Represents a programming language or syntax.

LanguageGuesser

Abstract base class that plugins can implement to guess languages based on file content.

License

Represents a source code license.

LinkedPipelineStage

A pipeline stage that will execute another pipline before continuing the current pipeline.

LlmCompletion

LlmCompletionChunk

LlmConversation

Abstract base class for managing conversations with large language models.

LlmManager

LlmMessage

LlmModel

LlmProvider

LlmTool

LlmToolCall

LocalDevice

LogManager

LogMessage

LspClient

LspCompletionProposal

LspCompletionProvider

LspManager

LspProvider

LspServer

Markup

ModelManager

Integrate with platform high-level models such as flatten or map.

NoVcs

A No-op VCS used to represent no VCS is active.

OnTypeDiagnostics

Represents diagnostics that are continually updated as the contents of a document are changed.

OnTypeFormatter

Abstract base class for plugins to implement formatting as you type.

OpenFileIntent

Represents an intent to open a file.

Operation

Represents a long-running operation in the development environment with progress tracking.

OperationManager

Manage operations that should be observed by the user as tasks.

PathCache

Thread-safe cache for path lookups.

PluginBuildAddin

The FoundryPluginBuildAddin class is a convenience object that may be used by plug-ins implementing a build system.

PluginLspProvider

PluginManager

ProcessLauncher

Manages process execution and subprocess launching.

ProjectTemplate

A template for creating a new project.

PtyDiagnostics

Custom PTY intermediate that can extract diagnostics.

RenameProvider

RunManager

Manages application execution and runtime operations.

RunTool

Represents a specific tool that can be used to run the application.

Sdk

Represents a software development kit (SDK).

SdkManager

Manages plugins providing SDK providers and their SDKs.

SdkProvider

Abstract base class implemented by plugins to provide access to SDKs of a specific type.

SearchManager

Service that manages plugins providing search capabilities.

SearchProvider

Abstract base class allowing plugins to provide search capabilities.

SearchRequest

Abstract base class used by plugins to represent a singlular search result.

SearchResult

Abstract base class for search results.

SecretService

Manages secure storage and retrieval of API keys and sensitive data.

Service

Abstract base class for services in the development environment.

Settings

Abstraction for user, project, and application settings.

SimpleLlmMessage

SimpleTextBuffer

Simple implementation of a text buffer.

Symbol

Abstract base class for representing symbols.

SymbolProvider

Abstract base class allowing plugins to introspect symbols within a specific file or file content.

Template

TemplateManager

TemplateOutput

TemplateProvider

TerminalIntent

TerminalLauncher

Simplified interface representing how a terminal should be spawned.

TerminalService

Service providing convenient access to terminal operations.

Test

Abstract base class representing a single test.

TestManager

Manages plugins providing test providers and their tests.

TestProvider

Abstract base class to be implemented by plugins that want to integrate with the unit testing system.

TestSuite

A grouping of FoundryTest.

unstable since: 1.1

TextBufferProvider

Interface to be implemented by platform libraries to integrate with their text buffer implementation of choice such as GtkSourceView.

TextDocument

Represents a text document in the development environment with editing capabilities.

TextDocumentAddin

Abstract base class for plugins to alter how documents work.

TextEdit

Represents a single text edit to a document.

TextFormatter

Abstract base class for plugins to implement custom text formatting.

TextManager

Manages text documents and provides text editing services.

TextSettings

Manages text editor settings and configuration.

TextSettingsProvider

Abstract base class for providing text editor settings.

TtyAuthProvider

Auth provider which requests credentials from a TTY.

Tweak

Represents a tweak that may be altered by a user.

TweakManager

Manages tweaks and configuration adjustments.

TweakProvider

Abstract base class for plugins to provide tweaks.

UnixFDMap

Vcs

Abstract base class for plugins to implement support for a VCS.

VcsBlame

VcsBranch

VcsCommit

VcsDelta

VcsDiff

VcsFile

VcsLineChanges

VcsManager

Manages VCS implementations provided by plugins.

VcsProvider

Abstract base class for plugins to implement a version control system such as Git, Mercurial, Subversion, or CVS.

VcsReference

VcsRemote

Abstract base class for version control system remote repository implementations.

VcsSignature

VcsStats

VcsTag

VcsTree

Interfaces

Enumerations

CommandLineError

FOUNDRY_COMMAND_LINE_ERROR_RUN_LOCAL: indicate that the command should be run on the client side rather than in the parent process.

CommandLocality

FOUNDRY_COMMAND_LOCALITY_SUBPROCESS: run as a subprocess of builder FOUNDRY_COMMAND_LOCALITY_HOST: run on the host system, possibly bypassing container FOUNDRY_COMMAND_LOCALITY_BUILD_PIPELINE: run from build pipeline FOUNDRY_COMMAND_LOCALITY_APPLICATION: run like a target application.

CompletionActivation

ContextError

ContextualError

DebuggerMovement

DebuggerStopReason

DebuggerTrapDisposition

DebuggerTrapKind

DeviceChassis

DiagnosticSeverity

DiagnosticToolError

ForgeError

GirError

GirNodeType

Locality

MarkupKind

ObjectSerializerFormat

ProcessLauncherShell

Describes the type of shell to be used within the context.

SdkConfigOption

ServiceError

SettingsLayer

TextSetting

TextWrap

Error Domains

Functions

build_error_quark

dap_protocol_extract_error

dap_protocol_has_error

dap_protocol_unwrap_error

dup_projects_directory

dup_projects_directory_file

file_canonicalize

file_find_in_ancestors

Locates name within any of the ancestors of file up to the root of the filesystem.

file_find_regex_with_depth

Locates files starting from file matching regex.

file_find_with_depth

Locates files starting from file matching pattern.

file_is_in

file_list_children_typed

file_query_exists_nofollow

Resolves to true if file exists.

file_test

Similar to g_file_test() but performed on the thread pool and yields a future.

flatten_list_model_new

get_default_arch

get_os_info

get_version_string

git_clone_error_quark

git_initialize

Initializes a new git repository.

host_file_get_contents_bytes

init

Initializes libfoundry which is completed once the resulting DexFuture completes.

json_node_from_bytes

Bytes to be deocded into a json node.

json_node_get_string_at

json_node_new_strv

json_node_to_bytes

node must not be modified after calling this function until the future as resolved or rejected.

json_node_to_bytes_full

Converts node to a GBytes asynchronously.

unstable since: 1.1

json_parser_load_from_file

Loads file into parser and returns a future that resolves when that has completed.

json_parser_load_from_stream

Like json_parser_load_from_stream() but asynchronous and returns a DexFuture which can be awaited upon.

key_file_new_from_file

Similar to calling g_key_file_new() followed by a load function. This handles both construction and loading as well as doing parsing off of the main thread.

key_file_new_merged

list_model_await

Returns a future that resolves when the list has completed being populated or rejects with error.

list_model_set_future

Sets the future that can be awaited for completion of populating the list model.

map_list_model_new

mkdir_with_parents

Similar to g_mkdir_with_parents() but runs on a dedicated thread.

deprecated: 1.1 

path_collapse

This function will collapse a path that starts with the users home directory into a shorthand notation using ~/ for the home directory.

path_expand

This function will expand various “shell-like” features of the provided path using the POSIX wordexp(3) function. Command substitution will not be enabled, but path features such as ~user will be expanded.

pipe

pty_create_producer

search_path_append

search_path_prepend

shell_get_default

Gets the user preferred shell on the host.

shell_get_default_path

Gets the default $PATH on the system for the user on the host.

shell_supports_dash_c

shell_supports_dash_login

Checks if the shell is known to support login semantics. Originally, this meant --login, but now is meant to mean -l as more shells support -l than --login (notably dash).

subprocess_communicate

Like g_subprocess_communicate() but only supports stdout and is returned as a future to GBytes.

subprocess_communicate_utf8

Like g_subprocess_communicate_utf8() but only supports stdout and is returned as a future to a string.

subprocess_wait_check

If cancellable is cancelled, then subprocess will be force exited.