gleamdoc/interface
Lookup, search, and rendering for compiler-generated package interfaces.
Types
A public module, value, type, variant, or alias found in a package interface.
pub type Entry {
ModuleEntry(
package: package_interface.Package,
name: String,
module: package_interface.Module,
)
FunctionEntry(
package: package_interface.Package,
module: String,
name: String,
value: package_interface.Function,
)
ConstantEntry(
package: package_interface.Package,
module: String,
name: String,
value: package_interface.Constant,
)
TypeEntry(
package: package_interface.Package,
module: String,
name: String,
value: package_interface.TypeDefinition,
)
VariantEntry(
package: package_interface.Package,
module: String,
type_name: String,
type_parameters: Int,
name: String,
value: package_interface.TypeConstructor,
)
AliasEntry(
package: package_interface.Package,
module: String,
name: String,
value: package_interface.TypeAlias,
)
}
Constructors
-
ModuleEntry( package: package_interface.Package, name: String, module: package_interface.Module, ) -
FunctionEntry( package: package_interface.Package, module: String, name: String, value: package_interface.Function, ) -
ConstantEntry( package: package_interface.Package, module: String, name: String, value: package_interface.Constant, ) -
TypeEntry( package: package_interface.Package, module: String, name: String, value: package_interface.TypeDefinition, ) -
VariantEntry( package: package_interface.Package, module: String, type_name: String, type_parameters: Int, name: String, value: package_interface.TypeConstructor, ) -
AliasEntry( package: package_interface.Package, module: String, name: String, value: package_interface.TypeAlias, )
Values
pub fn entries_json(entries: List(Entry)) -> json.Json
Encodes entries in Gleamdoc’s versioned JSON response envelope.
pub fn format_type(type_: package_interface.Type) -> String
Formats a package-interface type as Gleam source syntax.
pub fn lookup(
package: package_interface.Package,
query: String,
) -> List(Entry)
Looks up an exact module or qualified symbol in one package.
pub fn lookup_packages(
packages: List(package_interface.Package),
query: String,
) -> List(Entry)
Looks up an exact, optionally package-qualified symbol across packages.
pub fn packages_json(
packages: List(package_interface.Package),
) -> json.Json
Encodes package summaries in Gleamdoc’s versioned JSON response envelope.
pub fn render_all(entries: List(Entry)) -> String
Renders complete documentation for all entries.
pub fn render_packages(
packages: List(package_interface.Package),
) -> String
Renders package names, versions, and module counts.
pub fn render_search_results(entries: List(Entry)) -> String
Renders compact, one-line search results.
pub fn search(
package: package_interface.Package,
query: String,
) -> List(Entry)
Searches one package by symbol name, module, package name, signature, and documentation.
pub fn search_packages(
packages: List(package_interface.Package),
query: String,
limit: Int,
) -> List(Entry)
Searches packages and returns at most the requested number of ranked entries.
pub fn search_packages_filtered(
packages: List(package_interface.Package),
query: String,
limit: Int,
kind kind: String,
target target: String,
) -> List(Entry)
Searches packages with optional entry-kind and runtime-target filters.
An empty filter matches all entries. Target filters only match functions and constants because other entries do not have runtime-target metadata.