serveReloadableArtisanalAppOnSocket function

Future<SocketTerminalHostServer> serveReloadableArtisanalAppOnSocket({
  1. required ReloadWidgetBuilder homeBuilder,
  2. required ReloadController controller,
  3. InternetAddress? address,
  4. int port = 2323,
  5. bool v6Only = false,
  6. bool shared = false,
  7. TerminalDimensions initialSize = (width: 80, height: 24),
  8. bool supportsAnsi = true,
  9. ColorProfile colorProfile = ColorProfile.trueColor,
  10. String? title,
  11. Theme? theme,
  12. Theme? darkTheme,
  13. ThemeMode themeMode = ThemeMode.system,
  14. Theme themeBuilder()?,
  15. ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities,
  16. ProgramOptions? options,
})

Serves a reloadable ArtisanalApp on the raw socket host.

All connected sessions share controller, so reload() or restart() broadcasts across every active socket client.

Implementation

Future<hosts.SocketTerminalHostServer> serveReloadableArtisanalAppOnSocket({
  required ReloadWidgetBuilder homeBuilder,
  required ReloadController controller,
  io.InternetAddress? address,
  int port = 2323,
  bool v6Only = false,
  bool shared = false,
  hosts.TerminalDimensions initialSize = const (width: 80, height: 24),
  bool supportsAnsi = true,
  ColorProfile colorProfile = ColorProfile.trueColor,
  String? title,
  Theme? theme,
  Theme? darkTheme,
  ThemeMode themeMode = ThemeMode.system,
  Theme Function()? themeBuilder,
  ImageAutoMode imageAutoMode = ImageAutoMode.sessionCapabilities,
  runtime.ProgramOptions? options,
}) {
  return serveArtisanalAppOnSocket(
    address: address,
    port: port,
    v6Only: v6Only,
    shared: shared,
    initialSize: initialSize,
    supportsAnsi: supportsAnsi,
    colorProfile: colorProfile,
    options: options,
    appBuilder: () => ArtisanalApp(
      title: title,
      theme: theme,
      darkTheme: darkTheme,
      themeMode: themeMode,
      themeBuilder: themeBuilder,
      imageAutoMode: imageAutoMode,
      home: ReloadHost(
        controller: controller,
        builder: homeBuilder,
      ),
    ),
  );
}