def _query_completions(self, prefix, locations):
        # Short circuit for prefix that is known to return empty list
        # TODO(aemoncannon): Clear ignore prefix if the user
        # moves point to new context.
        if (self.env.completion_ignore_prefix and
                prefix.startswith(self.env.completion_ignore_prefix)):
            return self._completion_response(CompletionInfoList.create(prefix, []))
        else:
            self.env.completion_ignore_prefix = None

        if self.v.is_dirty():
            source_file_info = SourceFileInfo(self.v.file_name(), self.v.substr(Region(0, self.v.size())))
        else:
            source_file_info = SourceFileInfo(self.v.file_name())

        completions = self.rpc.completions(source_file_info, locations[0], 100, False, False)
        if not completions:
            self.env.completion_ignore_prefix = prefix
            return self._completion_response(CompletionInfoList.create(prefix, []))
        else:
            return self._completion_response(completions)
Serve static files below a given point in the directory structure or
dataset/ETHPy150Open ensime/ensime-sublime/ensime.py/Completer._query_completions--crossover with--dataset/ETHPy150Open jezdez-archive/django-staticfiles/staticfiles/views.py/serve