'point is cursor
Return tuple of two elements
Region
which will be replaced with chosen date, it may be parentheses belong to tag, or end of tag, or point
Unicode
tag under cursor (i.e. point)'

def extract_tag(self, point):

    start = end = point
    tag_pattern = '(?<=\\s)(\\@[^\\(\\)    ,\\.]+)([\\w\\d\\.\\(\\)\\-!?    :\\+]*)'
    line = self.view.line(point)
    matches = re.finditer(tag_pattern, self.view.substr(line))
    for match in matches:
        m_start = (line.a + match.start(1))
        m_end = (line.a + match.end(2))
        if (m_start <= point <= m_end):
            start = (line.a + match.start(2))
            end = m_end
            break
    else:
        match = None
    tag = (match.group(0) if match else '')
    return (sublime.Region(start, end), tag)
