File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/psy/psysh/src/Completion/Source
Upload
[..]
CatalogSource.php (1.97 KB)
Edit
Rename
Del
CommandArgumentSource.php (1.56 KB)
Edit
Rename
Del
CommandSource.php (1.51 KB)
Edit
Rename
Del
HistorySource.php (1.14 KB)
Edit
Rename
Del
KeywordSource.php (1.32 KB)
Edit
Rename
Del
MagicPropertySource.php (1.53 KB)
Edit
Rename
Del
MatcherAdapterSource.php (5.48 KB)
Edit
Rename
Del
MethodSource.php (1.48 KB)
Edit
Rename
Del
NamespaceSource.php (1.41 KB)
Edit
Rename
Del
ObjectPropertySource.php (1.59 KB)
Edit
Rename
Del
PropertySource.php (1.5 KB)
Edit
Rename
Del
SourceInterface.php (1.74 KB)
Edit
Rename
Del
StaticPropertySource.php (1.81 KB)
Edit
Rename
Del
VariableSource.php (1.08 KB)
Edit
Rename
Del
Edit: NamespaceSource.php
<?php /* * This file is part of Psy Shell. * * (c) 2012-2026 Justin Hileman * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Psy\Completion\Source; use Psy\Completion\AnalysisResult; use Psy\Completion\CompletionKind; use Psy\Completion\SymbolCatalog; /** * Namespace completion source. * * Provides completions for namespaces extracted from declared classes. */ class NamespaceSource implements SourceInterface { private SymbolCatalog $catalog; public function __construct(?SymbolCatalog $catalog = null) { $this->catalog = $catalog ?? new SymbolCatalog(); } /** * {@inheritdoc} */ public function appliesToKind(int $kinds): bool { return ($kinds & CompletionKind::NAMESPACE) !== 0; } /** * {@inheritdoc} */ public function getCompletions(AnalysisResult $analysis): array { $prefix = $analysis->prefix; $namespaces = $this->catalog->getNamespaces(); // Filter by prefix (case-insensitive) $matches = []; $lowerPrefix = \strtolower($prefix); foreach ($namespaces as $namespace) { if ($lowerPrefix === '' || \strpos(\strtolower($namespace), $lowerPrefix) === 0) { $matches[] = $namespace; } } \sort($matches); return $matches; } }
Simpan