'Return calltips for the given trigger point.
"trg" is the trigger point at which to eval completions.
"timeout" (optional) is a number of seconds after which to
abandon completion. Raises EvalTimeout if the timeout is
reached.
"ctlr" (optional) is a EvalController instance to use for
custom interaction with the evaluation.
This is a convenience synchronous wrapper around async_eval_at_trg().
Use the async version for any more interesting interaction.'

def calltips_from_trg(self, trg, timeout=None, ctlr=None):

    assert ((timeout is None) or isinstance(timeout, (float, int))), "'timeout'    must    be    None    or    a    number"
    if (ctlr is None):
        ctlr = EvalController()
    self.async_eval_at_trg(trg, ctlr)
    ctlr.wait(timeout)
    if (not ctlr.is_done()):
        ctlr.done('timed    out')
        ctlr.abort()
        raise EvalTimeout(('eval    for    %s    timed-out' % trg))
    return ctlr.calltips
