Package-level declarations

Types

Link copied to clipboard
object Icons

One icon per ide-swing (and ide-plp-swing) functionality - menu items, toolbar buttons, and lower tabs - bundled under .img/ide-icons and shipped via buildSrc's wireIdeIconsResource.

Functions

Link copied to clipboard
suspend fun launchSwingIde(factory: SolverFactory, profileId: SolverProfileId = SolverProfileId("prolog"), profileName: String = "Prolog", featureRenderers: SwingFeatureRendererRegistry = SwingFeatureRendererRegistry(), extensions: List<GuiExtension> = emptyList(), registerProfile: Boolean = true, capabilities: Set<String> = setOf(SolverCapabilities.CANCELLATION), solutionFeatures: (Solution) -> Map<FeatureId, Map<String, FeatureValue>> = { emptyMap() }, templates: List<TheoryTemplate> = PrologTheoryTemplates.ALL, persistence: WorkspacePersistence? = WorkspacePersistence("ide-swing"), theoryFiles: List<File> = emptyList(), defaultTimeout: Duration = 5.seconds, dispatcher: CoroutineDispatcher = Dispatchers.Default, lookAndFeel: String? = null)

This is the application's single top-level entry point: every parameter is an independent, named, defaulted configuration knob (solver profile identity, extension wiring, persistence, timeouts, ...), not a symptom of one function doing too much -- bundling them into a config object would just move the same parameter list one level deeper without reducing complexity, and would break the flat, fully-named call style both real entry points (SwingIdeCommand) and tests rely on.

Link copied to clipboard
fun main(args: Array<String>)

CLI entry point: parses arguments and runs SwingIdeCommand.