Currently I have this binding to copy current file name, path, or dir. Copy current buffer path relative to root of VIM session to system clipboardnnoremap <Leader>yp :let @*=expand(%)<cr>:echo Copied file path to clipboard<cr> Copy current filename to system clipboardnnoremap <Leader>yf :let @*=expand(%:t)<cr>:echo Copied file name to clipboard<cr> Copy current buffer path without filename to system clipboardnnoremap <Leader>yd :let @*=expand(%:h)<cr>:echo Copied file directory to clipboard<cr>I want to create binding to copy current php file class name with or without namespace.Suppose I have php file like this:<?phpnamespace CRMFoundation\Infrastructures\Contracts;interface PersistenceStorageRepositoryInterface{   ....}This would should give me PersistenceStorageRepositoryInterface as classname and CRMFoundation\Infrastructures\Contracts\PersistenceStorageRepositoryInterface with namespace.<?phpnamespace CRMFoundation\Infrastructures;use Illuminate\Database\Eloquent\Model;use Illuminate\Database\Eloquent\SoftDeletes;use CRMFoundation\Infrastructures\Traits\SyncHasManyTrait;abstract class EloquentAbstract extends Model{  .....}This would should give me EloquentAbstract as classname and CRMFoundation\Infrastructures\EloquentAbstract with namespace.<?phpnamespace CRMFoundation\Domains\Company;use CRMFoundation\Domains\Company\Contracts\CompanyRepositoryInterface;use CRMFoundation\Infrastructures\Company\Contracts\PersistenceCompanyRepositoryInterface;use CRMFoundation\Domains\Company\Contracts\CompanyInterface;use CRMFoundation\Domains\RepositoryAbstract;class CompanyRepository extends RepositoryAbstract implements CompanyRepositoryInterface{  ....}This would should give me CompanyRepository as classname and CRMFoundation\Domains\Company\CompanyRepository with namespace.Let say I want to bind it to <leader>yc to get current class name and <leader>ycn to get current class name with namespace.How to do that?
Copy current php file classname with namespace?
vimscript;filetype php