| Age | Commit message (Collapse) | Author |
|
Resolve the remaining todo!()s in SymfonyStyle, OutputStyle,
QuestionHelper and SymfonyQuestionHelper:
* Wire up the virtual dispatch PHP performs for the protected
writePrompt()/writeError() overrides, following the codebase's
established inheritance idiom (Command, ArchiveDownloader): the base
class becomes a trait (QuestionHelperInterface, named after the
QuestionInterface precedent) whose provided methods ask/do_ask/
validate_attempts carry the template logic and late-bind the
write_prompt/write_error hooks through Self, with inner()/inner_mut()
reaching the base-class state. SymfonyQuestionHelper overrides the
hooks as plain trait-impl methods, mirroring PHP's protected-method
overriding, so SymfonyStyle-driven questions now render the Symfony
Style Guide prompt.
* Type definition_list input as an enum (string|array|TableSeparator)
because PhpMixed intentionally cannot carry objects; the
InvalidArgumentException branch (a LogicException) becomes
unrepresentable. horizontal_table now takes typed Cells/Rows.
* Propagate the MissingInputException thrown inside autocomplete()
through a Result instead of aborting.
* Implement as_console_output_interface via Ref::filter_map on
ConsoleOutput, the interface's only implementor.
* Port progressIterate eagerly, following ProgressBar::iterate.
* Map __FILE__ to current_exe(): a native binary never runs from a
phar, so the hiddeninput.exe relocation branch correctly never fires.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
|
Real symfony/console OutputStyle is abstract and never defines these
methods itself (title/section/table/ask/... stay abstract, deferred to
SymfonyStyle). The Rust impl block was a porting artifact never invoked
anywhere: OutputStyle is only used as SymfonyStyle's concrete `inner`
field, and every StyleInterface call site goes through SymfonyStyle's
own full implementation. new_line, which SymfonyStyle::new_line does
delegate to, moves to an inherent method to keep that call working.
|
|
|
|
Matches the SymfonyStyle fix: ConsoleOutput is the sole ConsoleOutputInterface
implementor, so the instanceof check reduces to an AsAny downcast. get_error_output
now resolves correctly for non-console outputs instead of hitting todo!().
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
|
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|