'Ensure we are not in another trigger zone, we do
this by checking that the preceeding text is not
one of "." or "::"
Also ignore words in block var names:
{do or "{"}, "|", {name, ","}*'

def _is_completable_name(self, pos, accessor, styleClassifier):

    if (pos == 0):
        return True
    (prev_start_pos, prev_end_pos) = self._get_prev_token_skip_ws(pos, accessor, styleClassifier)
    if ((prev_start_pos == 0) or (not styleClassifier.is_ruby_style_at_pos(prev_start_pos))):
        return True
    prev_style = accessor.style_at_pos(prev_start_pos)
    if (not styleClassifier.is_operator_style(prev_style)):
        return True
    op = accessor.text_range(prev_start_pos, prev_end_pos)
    if (op in ('.', '::')):
        return False
    if (op == ','):
        (prev_start_pos, prev_end_pos) = self._get_token_before_namelist(prev_start_pos, accessor, styleClassifier, lim=5)
        if (prev_start_pos <= 0):
            return False
        prev_style = accessor.style_at_pos(prev_start_pos)
        if (not styleClassifier.is_operator_style(prev_style)):
            return True
        op = accessor.text_range(prev_start_pos, prev_end_pos)
    if (op[(-1)] != '|'):
        return True
    elif (op == '{|'):
        return False
    (prev_start_pos, prev_end_pos) = self._get_prev_token_skip_ws(prev_start_pos, accessor, styleClassifier)
    if ((prev_start_pos == 0) or (not styleClassifier.is_ruby_style_at_pos(prev_start_pos))):
        return False
    op = accessor.text_range(prev_start_pos, prev_end_pos)
    return (op not in ('{', 'do'))
