diff --git a/jedi/api.py b/jedi/api.py index bc0c1e23..0babcd4c 100644 --- a/jedi/api.py +++ b/jedi/api.py @@ -411,11 +411,12 @@ class Script(object): """ user_stmt = self._parser.user_stmt definitions, search_name = self._goto(add_import_name=True) - if isinstance(user_stmt, pr.Statement) \ - and self.pos < user_stmt.get_commands()[0].start_pos: - # the search_name might be before `=` - definitions = [v for v in user_stmt.set_vars - if unicode(v.names[-1]) == search_name] + if isinstance(user_stmt, pr.Statement): + c = user_stmt.get_commands()[0] + if not isinstance(c, unicode) and self.pos < c.start_pos: + # the search_name might be before `=` + definitions = [v for v in user_stmt.set_vars + if unicode(v.names[-1]) == search_name] if not isinstance(user_stmt, pr.Import): # import case is looked at with add_import_name option definitions = dynamic.usages_add_import_modules(definitions, diff --git a/test/completion/renaming.py b/test/completion/renaming.py index f6b990fb..55ca5027 100644 --- a/test/completion/renaming.py +++ b/test/completion/renaming.py @@ -203,3 +203,10 @@ class TestProperty: def b(self): #< 13 (-5,8), (0,13) self.rw_prop + +# ----------------- +# *args, **kwargs +# ----------------- +#< 11 (1,11), (0,8) +def f(**kwargs): + return kwargs