Starts bundled language packs and registers their catalog data through extension-owned sources.
Bundled packs use the same Minga.Language.Registry.register/2 path as third-party language packs. Each %Minga.Language{} carries its own extensions, filenames, shebangs, devicon, grammar, formatter, and LSP defaults, so stopping or reloading a pack removes the whole language record from the registry instead of leaving stale derived data behind.
Summary
Types
A module that implements the language-pack extension callbacks.
Pack validation error when two language definitions claim the same key.
Runtime state for the bundled pack starter.
Functions
Returns a specification to start this module under a supervisor.
Returns bundled language pack modules in startup order.
Registers all languages owned by a pack, replacing stale entries from an earlier load.
Reloads a pack by removing its previous source-owned entries, then registering its current modules.
Returns the contribution source used for a pack.
Starts the bundled language pack loader.
Unregisters all language catalog data owned by a pack.
Types
@type pack_module() :: module()
A module that implements the language-pack extension callbacks.
Pack validation error when two language definitions claim the same key.
Runtime state for the bundled pack starter.
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec packs() :: [pack_module()]
Returns bundled language pack modules in startup order.
@spec register_pack(pack_module()) :: :ok | {:error, term()}
Registers all languages owned by a pack, replacing stale entries from an earlier load.
@spec reload_pack(pack_module()) :: :ok | {:error, term()}
Reloads a pack by removing its previous source-owned entries, then registering its current modules.
@spec source_for(pack_module()) :: {:extension, atom()}
Returns the contribution source used for a pack.
@spec start_link(keyword()) :: Agent.on_start()
Starts the bundled language pack loader.
@spec unregister_pack(pack_module()) :: :ok
Unregisters all language catalog data owned by a pack.