end method

  1. @override
Future end()
override

End multiline input and execute. Maps to: .end

Returns the result of executing the accumulated code.

Implementation

@override
Future<dynamic> end() async {
  final context = _state.contextStack.current;
  final code = context.getMultilineCode();
  final mode = context.multilineMode;

  // Clear multiline state
  context.clearMultilineBuffer();

  // Execute based on mode
  switch (mode) {
    case MultilineMode.none:
      throw CliException('.end called without active multiline mode');
    case MultilineMode.define:
      return _d4rt.eval(code);
    case MultilineMode.script:
      return _executeScript(code);
    case MultilineMode.file:
      return executeContinued(code);
    case MultilineMode.executeNew:
      return execute(code);
  }
}