def METHOD_NAME(tag, keywords):
    c = keywords.get("c")
    p = keywords.get("p")
    if not c or not p:
        return None
    h = p.h
    words = h.split()
    directive = words[0]
    if directive[0] != '@' or directive not in file_directives:
        return None
    #
    # Get filename by removing directive from node's headstring
    filename = h.replace(directive + " ", "", 1)
    #
    # This writes all modified files, not just the one that has been clicked on.
    # This generates a slightly confusing warning if there are no dirty nodes.
    c.fileCommands.writeDirtyAtFileNodes()
    if doFileAction(filename, c):
        # Action was taken - Stop other double-click handlers from running
        return True
    # No action taken - Let other double-click handlers run
    return None