shawncplus / phpcomplete.vim

Improved PHP omnicompletion
http://www.vim.org/scripts/script.php?script_id=3171
595 stars 110 forks source link

Completion not detecting member variable objects #105

Open mariusroets opened 7 years ago

mariusroets commented 7 years ago

If member variables are objects, completion does not seem to work on them. Simply

$model = new MyModel();
$model->// Completion works here
$this->model = new MyModel();
$this->model->// Completion does not work here
complex857 commented 7 years ago

Hmm, at the moment the plugin doesn't try to figure out object attribute types from direct assignment.

What you might be able to do in your example, is that if the $model variable's type is detectable by the plugin you can set up an type-annotated attribute in that class's definition and then it will be inferred from there.

So something like:

Class MyModel {
   /**
   * model
   *
   * @var MyModel
   */
  public $model;
}

$model = new MyModel();
$model->model-> // should work here.

I guess your situation is more dynamic here so this might not apply. I'll have to look into how this could be implemented.