16 from robotide
import utils
40 if value
in sug.assign:
42 except AttributeError:
49 def __init__(self, controller, namespace, row):
50 LocalMacroNamespace.__init__(self, controller, namespace)
54 suggestions = LocalMacroNamespace.get_suggestions(self, start)
64 matching_assignments = set()
65 for row, step
in enumerate(self.
_controller_controller.steps):
66 if self.
_row_row == row:
68 matching_assignments = matching_assignments.union(
69 val.replace(
'=',
'').strip()
for val
in step.assignments
if
70 val.startswith(start))
71 if matching_assignments:
73 in matching_assignments]
79 return len(start) == 0
or start[0]
in [
'$',
'@',
'&']
82 if self.
_row_row
is not None:
83 for row, step
in enumerate(self.
_controller_controller.steps):
84 if self.
_row_row == row:
86 if step.is_assigning(value):
88 return LocalMacroNamespace.has_name(self, value)
92 return utils.normalize(gvar.name)
not in \
93 [utils.normalize(lvar.name)
for lvar
in local_variables]
94 unique = [gvar
for gvar
in suggestions
if is_unique(gvar)]
95 return unique + local_variables
def get_suggestions(self, start)
def has_name(self, value)
def __init__(self, controller, namespace)
def __init__(self, controller, namespace, row)
def _harvest_local_variables(self, start, suggestions)
def has_name(self, value)
def _remove_duplicates(self, suggestions, local_variables)
def _could_be_variable(self, start)
def get_suggestions(self, start)
def LocalNamespace(controller, namespace, row=None)