def METHOD_NAME(event):
    text = event.widget
    if not getattr(text, "cell_tags_configured", False):
        text.tag_configure("CURRENT_CELL", borderwidth=1, relief="groove", background="LightYellow")
        text.tag_configure("CELL_HEADER", font="BoldEditorFont", foreground="#665843")
        text.tag_lower("CELL_HEADER")
        text.tag_lower("CURRENT_CELL")
        text.cell_tags_configured = True
    text.tag_remove("CURRENT_CELL", "0.1", "end")
    text.tag_remove("CELL_HEADER", "0.1", "end")
    source = text.get("1.0", "end")
    cells = []
    prev_marker = 0
    for match in cell_regex.finditer(source):
        if match.start() == 0:
            this_marker = match.start()
        else:
            this_marker = match.start() + 1
        cell_start_index = text.index("1.0+%dc" % prev_marker)
        header_end_index = text.index("1.0+%dc" % match.end())
        cell_end_index = text.index("1.0+%dc" % this_marker)
        text.tag_add("CELL_HEADER", cell_end_index, header_end_index)
        cells.append((cell_start_index, cell_end_index))
        prev_marker = this_marker
    if prev_marker != 0:
        cells.append((text.index("1.0+%dc" % prev_marker), "end"))
    # if get_workbench().focus_get() == text:
    # It's nice to have cell highlighted even when focus
    # is elsewhere ? This would act as kind of bookmark.
    for start_index, end_index in cells:
        if text.compare(start_index, "<=", "insert") and text.compare(end_index, ">", "insert"):
            text.tag_add("CURRENT_CELL", start_index, end_index)
            break