* ]]> * * * * @param string $prompt The prompt message. * @param callable $callback The callback function takes one parameter; the * user input returned. * @throws ReadlineException * */ function readline_callback_handler_install(string $prompt, callable $callback): void { error_clear_last(); $result = \readline_callback_handler_install($prompt, $callback); if ($result === false) { throw ReadlineException::createFromPhpError(); } } /** * This function clears the entire command line history. * * @throws ReadlineException * */ function readline_clear_history(): void { error_clear_last(); $result = \readline_clear_history(); if ($result === false) { throw ReadlineException::createFromPhpError(); } } /** * This function registers a completion function. This is the same kind of * functionality you'd get if you hit your tab key while using Bash. * * @param callable $function You must supply the name of an existing function which accepts a * partial command line and returns an array of possible matches. * @throws ReadlineException * */ function readline_completion_function(callable $function): void { error_clear_last(); $result = \readline_completion_function($function); if ($result === false) { throw ReadlineException::createFromPhpError(); } } /** * This function reads a command history from a file. * * @param string $filename Path to the filename containing the command history. * @throws ReadlineException * */ function readline_read_history(string $filename = null): void { error_clear_last(); if ($filename !== null) { $result = \readline_read_history($filename); } else { $result = \readline_read_history(); } if ($result === false) { throw ReadlineException::createFromPhpError(); } } /** * This function writes the command history to a file. * * @param string $filename Path to the saved file. * @throws ReadlineException * */ function readline_write_history(string $filename = null): void { error_clear_last(); if ($filename !== null) { $result = \readline_write_history($filename); } else { $result = \readline_write_history(); } if ($result === false) { throw ReadlineException::createFromPhpError(); } }