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, )
Filter for symbol kinds in search results.
pub type SymbolKind {
All
Module
Fn
Const
Type
Variant
Alias
}
Constructors
-
AllMatch all symbol kinds.
-
ModuleMatch modules only.
-
FnMatch functions only.
-
ConstMatch constants only.
-
TypeMatch types only.
-
VariantMatch variants only.
-
AliasMatch type aliases only.
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: SymbolKind,
target target: Target,
) -> List(Entry)
Searches packages with optional entry-kind and runtime-target filters.
Target filters only match functions and constants because other entries do not
have runtime-target metadata. Use All for kind and AllTargets for target
to match all entries.