Use FakeName instead of a custom KeywordName.

This commit is contained in:
Dave Halter
2014-09-10 20:07:13 +02:00
parent 1fb9b4bc6b
commit 8f892e3922
+3 -21
View File
@@ -5,7 +5,7 @@ from jedi.parser.representation import NamePart
from jedi._compatibility import is_py3 from jedi._compatibility import is_py3
from jedi import common from jedi import common
from jedi.evaluate import compiled from jedi.evaluate import compiled
from jedi.evaluate.helpers import FakeSubModule from jedi.evaluate.helpers import FakeName
try: try:
from pydoc_data import topics as pydoc_topics from pydoc_data import topics as pydoc_topics
@@ -28,34 +28,16 @@ def keywords(string='', pos=(0, 0), all=False):
def keyword_names(*args, **kwargs): def keyword_names(*args, **kwargs):
kwds = [] return [k.name for k in keywords(*args, **kwargs)]
for k in keywords(*args, **kwargs):
start = k.start_pos
kwds.append(KeywordName(k, k.name, start))
return kwds
def get_operator(string, pos): def get_operator(string, pos):
return Keyword(string, pos) return Keyword(string, pos)
class KeywordName(object):
def __init__(self, parent, name, start_pos):
self.parent = parent
self.names = [NamePart(FakeSubModule, name, self, (0, 0))]
self.start_pos = start_pos
def get_definition(self):
return self.parent
@property
def end_pos(self):
return self.start_pos[0], self.start_pos[1] + len(self.name)
class Keyword(object): class Keyword(object):
def __init__(self, name, pos): def __init__(self, name, pos):
self.name = name self.name = FakeName(name, self, pos)
self.start_pos = pos self.start_pos = pos
self.parent = compiled.builtin self.parent = compiled.builtin