X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fpsy%2Fpsysh%2Fsrc%2FPsy%2FTabCompletion%2FAutoCompleter.php;fp=vendor%2Fpsy%2Fpsysh%2Fsrc%2FPsy%2FTabCompletion%2FAutoCompleter.php;h=0000000000000000000000000000000000000000;hp=86cd1663db3341f83b2f24d688c901d4f2818327;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/vendor/psy/psysh/src/Psy/TabCompletion/AutoCompleter.php b/vendor/psy/psysh/src/Psy/TabCompletion/AutoCompleter.php deleted file mode 100644 index 86cd1663d..000000000 --- a/vendor/psy/psysh/src/Psy/TabCompletion/AutoCompleter.php +++ /dev/null @@ -1,112 +0,0 @@ - - */ -class AutoCompleter -{ - /** @var Matcher\AbstractMatcher[] */ - protected $matchers; - - /** - * Register a tab completion Matcher. - * - * @param AbstractMatcher $matcher - */ - public function addMatcher(AbstractMatcher $matcher) - { - $this->matchers[] = $matcher; - } - - /** - * Activate readline tab completion. - */ - public function activate() - { - readline_completion_function(array(&$this, 'callback')); - } - - /** - * Handle readline completion. - * - * @param string $input Readline current word - * @param int $index Current word index - * @param array $info readline_info() data - * - * @return array - */ - public function processCallback($input, $index, $info = array()) - { - // Some (Windows?) systems provide incomplete `readline_info`, so let's - // try to work around it. - $line = $info['line_buffer']; - if (isset($info['end'])) { - $line = substr($line, 0, $info['end']); - } - if ($line === '' && $input !== '') { - $line = $input; - } - - $tokens = token_get_all('matchers as $matcher) { - if ($matcher->hasMatched($tokens)) { - $matches = array_merge($matcher->getMatches($tokens), $matches); - } - } - - $matches = array_unique($matches); - - return !empty($matches) ? $matches : array(''); - } - - /** - * The readline_completion_function callback handler. - * - * @see processCallback - * - * @param $input - * @param $index - * - * @return array - */ - public function callback($input, $index) - { - return $this->processCallback($input, $index, readline_info()); - } - - /** - * Remove readline callback handler on destruct. - */ - public function __destruct() - { - // PHP didn't implement the whole readline API when they first switched - // to libedit. And they still haven't. - // - // So this is a thing to make PsySH work on 5.3.x: - if (function_exists('readline_callback_handler_remove')) { - readline_callback_handler_remove(); - } - } -}