X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=vendor%2Fpsy%2Fpsysh%2Fsrc%2FPsy%2FTabCompletion%2FMatcher%2FAbstractMatcher.php;fp=vendor%2Fpsy%2Fpsysh%2Fsrc%2FPsy%2FTabCompletion%2FMatcher%2FAbstractMatcher.php;h=0000000000000000000000000000000000000000;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hp=016c321908c45523d47c99b45d9d1fc69404fbc4;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0;p=yaffs-website diff --git a/vendor/psy/psysh/src/Psy/TabCompletion/Matcher/AbstractMatcher.php b/vendor/psy/psysh/src/Psy/TabCompletion/Matcher/AbstractMatcher.php deleted file mode 100644 index 016c32190..000000000 --- a/vendor/psy/psysh/src/Psy/TabCompletion/Matcher/AbstractMatcher.php +++ /dev/null @@ -1,186 +0,0 @@ - - */ -abstract class AbstractMatcher -{ - /** Syntax types */ - const CONSTANT_SYNTAX = '^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$'; - const VAR_SYNTAX = '^\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$'; - const MISC_OPERATORS = '+-*/^|&'; - /** Token values */ - const T_OPEN_TAG = 'T_OPEN_TAG'; - const T_VARIABLE = 'T_VARIABLE'; - const T_OBJECT_OPERATOR = 'T_OBJECT_OPERATOR'; - const T_DOUBLE_COLON = 'T_DOUBLE_COLON'; - const T_NEW = 'T_NEW'; - const T_CLONE = 'T_CLONE'; - const T_NS_SEPARATOR = 'T_NS_SEPARATOR'; - const T_STRING = 'T_STRING'; - const T_WHITESPACE = 'T_WHITESPACE'; - const T_AND_EQUAL = 'T_AND_EQUAL'; - const T_BOOLEAN_AND = 'T_BOOLEAN_AND'; - const T_BOOLEAN_OR = 'T_BOOLEAN_OR'; - - const T_ENCAPSED_AND_WHITESPACE = 'T_ENCAPSED_AND_WHITESPACE'; - const T_REQUIRE = 'T_REQUIRE'; - const T_REQUIRE_ONCE = 'T_REQUIRE_ONCE'; - const T_INCLUDE = 'T_INCLUDE'; - const T_INCLUDE_ONCE = 'T_INCLUDE_ONCE'; - - /** - * Check whether this matcher can provide completions for $tokens. - * - * @param array $tokens Tokenized readline input - * - * @return bool - */ - public function hasMatched(array $tokens) - { - return false; - } - - /** - * Get current readline input word. - * - * @param array $tokens Tokenized readline input (see token_get_all) - * - * @return string - */ - protected function getInput(array $tokens) - { - $var = ''; - $firstToken = array_pop($tokens); - if (self::tokenIs($firstToken, self::T_STRING)) { - $var = $firstToken[1]; - } - - return $var; - } - - /** - * Get current namespace and class (if any) from readline input. - * - * @param array $tokens Tokenized readline input (see token_get_all) - * - * @return string - */ - protected function getNamespaceAndClass($tokens) - { - $class = ''; - while (self::hasToken( - array(self::T_NS_SEPARATOR, self::T_STRING), - $token = array_pop($tokens) - )) { - $class = $token[1] . $class; - } - - return $class; - } - - /** - * Provide tab completion matches for readline input. - * - * @param array $tokens information substracted with get_token_all - * @param array $info readline_info object - * - * @return array The matches resulting from the query - */ - abstract public function getMatches(array $tokens, array $info = array()); - - /** - * Check whether $word starts with $prefix. - * - * @param string $prefix - * @param string $word - * - * @return bool - */ - public static function startsWith($prefix, $word) - { - return preg_match(sprintf('#^%s#', $prefix), $word); - } - - /** - * Check whether $token matches a given syntax pattern. - * - * @param mixed $token A PHP token (see token_get_all) - * @param string $syntax A syntax pattern (default: variable pattern) - * - * @return bool - */ - public static function hasSyntax($token, $syntax = self::VAR_SYNTAX) - { - if (!is_array($token)) { - return false; - } - - $regexp = sprintf('#%s#', $syntax); - - return (bool) preg_match($regexp, $token[1]); - } - - /** - * Check whether $token type is $which. - * - * @param string $which A PHP token type - * @param mixed $token A PHP token (see token_get_all) - * - * @return bool - */ - public static function tokenIs($token, $which) - { - if (!is_array($token)) { - return false; - } - - return token_name($token[0]) === $which; - } - - /** - * Check whether $token is an operator. - * - * @param mixed $token A PHP token (see token_get_all) - * - * @return bool - */ - public static function isOperator($token) - { - if (!is_string($token)) { - return false; - } - - return strpos(self::MISC_OPERATORS, $token) !== false; - } - - /** - * Check whether $token type is present in $coll. - * - * @param array $coll A list of token types - * @param mixed $token A PHP token (see token_get_all) - * - * @return bool - */ - public static function hasToken(array $coll, $token) - { - if (!is_array($token)) { - return false; - } - - return in_array(token_name($token[0]), $coll); - } -}