def _get_autoimport_proposals(out, ctx, source, offset, dot=False): if not ctx.options.get('autoimport') or dot: return out if '.' in codeassist.starting_expression(source, offset): return out current_offset = offset - 1 while current_offset > 0 and ( source[current_offset].isalnum() or source[current_offset] == '_'): current_offset -= 1 starting = source[current_offset:offset] starting = starting.strip() if not starting: return out for assist in ctx.importer.import_assist(starting): out.append(dict( abbr=' : '.join(assist), word=assist[0], kind='autoimport:', )) return out
def _get_autoimport_proposals(out, ctx, source, offset, dot=False): if not ctx.options.get('autoimport') or dot: return out if '.' in codeassist.starting_expression(source, offset): return out current_offset = offset - 1 while current_offset > 0 and (source[current_offset].isalnum() or source[current_offset] == '_'): current_offset -= 1 starting = source[current_offset:offset] starting = starting.strip() if not starting: return out for assist in ctx.importer.import_assist(starting): out.append( dict( abbr=' : '.join(assist), word=assist[0], kind='autoimport:', )) return out
def expression(self): return codeassist.starting_expression(self.source, self.offset)
def test_starting_expression(self): code = 'l = list()\nl.app' self.assertEquals('l.app', starting_expression(code, len(code)))
def expression(self): if self._expression is None: self._expression = codeassist.starting_expression(self.source, self.offset) return self._expression