IdeApp constructor

IdeApp({
  1. required Workspace workspace,
  2. required TerminalDriver terminal,
  3. HighlighterRegistry? registry,
  4. AgentBackend? agentBackend,
  5. AiProvider? aiProvider,
  6. String? aiModel,
  7. CommandShield? shield,
  8. CommandSyntax? commandSyntax,
  9. TokenTheme theme = TokenTheme.dark,
})

Implementation

IdeApp({
  required Workspace workspace,
  required TerminalDriver terminal,
  HighlighterRegistry? registry,
  AgentBackend? agentBackend,
  AiProvider? aiProvider,
  String? aiModel,
  CommandShield? shield,
  CommandSyntax? commandSyntax,
  this.theme = TokenTheme.dark,
}) : _workspace = workspace,
     rootPath = workspace.rootPath,
     _terminal = terminal,
     _registry = registry ?? HighlighterRegistry(),
     _tree = FileTree(
       workspace.rootPath,
       lister: (path) async => [
         for (final e in await workspace.list(path))
           DirEntry(e.name, isDir: e.isDir),
       ],
     ),
     _commandRunner = workspace.commandRunner,
     _agentBackend = agentBackend,
     _aiProvider = aiProvider,
     _aiModel = aiModel,
     _shield = shield ?? CommandShield(),
     _commandSyntax = commandSyntax ?? CommandSyntax.bash;