'Cases where we\'re interested in continuing a trigger:
Examples:
GIVEN                                   TRG AT
ident1.<$>iden<|>t2 ...                     .
allow and ignore spaces after \'.\'
ident1::<$>iden<|>t2 ...                    ::
allow and ignore spaces after \'::\'
class ident1 <<$> ide<|>nt2                 \' \' after "<"
allow and ignore spaces after \'<\'
require \'<$>no-slash-path<|>                \'
require \'path/<$>rest<|>                    /
<$>iden<|>                                  start of word
pos is marked by "<$>"
curr_pos indicated by "<|>"'

def preceding_trg_from_pos(self, buf, pos, curr_pos, DEBUG=False):

    styleClassifierClass = ((isinstance(buf, UDLBuffer) and _UDLStyleClassifier) or _RubyStyleClassifier)
    preceding_trg_terminators = None
    if (styleClassifierClass == _UDLStyleClassifier):
        preceding_trg_terminators = {'%': SCE_UDL_TPL_OPERATOR}
    trg = ProgLangTriggerIntelMixin.preceding_trg_from_pos(self, buf, pos, curr_pos, preceding_trg_terminators=preceding_trg_terminators, DEBUG=DEBUG)
    if (trg is not None):
        return trg
    if DEBUG:
        print ('preceding_trg_from_pos:    pos=%d,    curr_pos=%d' % (pos, curr_pos))
    styleClassifier = styleClassifierClass(buf)
    accessor = buf.accessor
    curr_style = accessor.style_at_pos((curr_pos - 1))
    if styleClassifier.is_identifier_or_word_style(curr_style):
        idx = (curr_pos - 2)
        for char_and_style in accessor.gen_char_and_style_back(idx, 0):
            if (char_and_style[1] != curr_style):
                break
            idx -= 1
        if (idx <= 0):
            if DEBUG:
                print 'Moved    to    beginning    of    buffer'
            return None
        trg = self.trg_from_pos(buf, curr_pos, implicit=False, DEBUG=DEBUG)
        return trg
    elif DEBUG:
        print ('Ignore    current    style    %d' % curr_style)
