from nltk.corpus import words

valid_one_letter_words = ['a', 'i', 'o']


def get_extended_dictionary():
    modern_technical_terminology = [
        "blog",
        "blogger",
        "website",
        "webpage",
        "homepage",
        "inbox",
        "inboxes",
        "hashtag",
        "email",
        "outsource",
        "timeline",
        "airfare",
        "paycheck",
        "whiteboard",
        "podcast",
        "livestream",
        "smartphone",
        "upload",
        "download",
        "listserv",
        "screensaver",
        "telecommute",
        "multitask",
        "elife",
        "infographic",
        "uppercase",
        "lowercase",
        "trademark",
        "playlist",
        "emoji",
        "earbud",
        "audiobook",
        "skillset",
        "upzip",

        "ipad",
        "iphone",
        "google",
        "ebay",
        "itunes",
        "instagram",
        "facebook",
        "twitter",
        "istock",
        "workweek"
    ]
    modern_social_terminology = [
        "who'd",
        "mom",
        "dad",
        "grandkid",
        "timeout",
        "bandana",
        "transgender",
        "cisgender",
        "heteronormative",
        "transvaginal",
        "descrimination",
        "anxious",
        "handwash",
        "restroom",
        "sanitizer",
        "misappropriate",
        "dystopian",
        "scrunchy",
        "rehab",
        "veggie",
        "prep",
        "indoctrinate"
        "attune",
        "upcycling",
        "sedate",
        "badass",
        "pushback",
        "inundate",
        "overshare",
        "cilantro",
        "reframing",
        "midcentury",
        "flatline",
        "weeknight",
        "prenup",
        "multigenerational",
        "microfiber",
        "agent",
        "caregiver",
        "pushup",
        "moisturizer",
        "bedsheet",
        "spritz",
        "photojournalist",
        "allergy",
        "granola",
        "hotcakes",
        "breadsticks",
        "counterintuitive",
        "meth",
        "foodie",
        "takeout",
        "kombucha",
        "skydive",
        "goop",
        "groundbreaking",
        "spandex",
        "cardio",
        "popsicle",
        "walkup",
        "townhouse",
        "condo",
        "zit",
        "eyeroll",
        "pilates",
        "ultrasound",
        "cesarean",
        "sweatpants",
        "paralegal",
        "gatekeep",
        "meetup",
        "waitstaff",
        "clutter",
        "zipper",
        "deadbolt",
        "hoagie",
        "surefooted",
        "racecar",
        "smurf",
        "humongous",
        "scattershot",
        "debuting",
        "vegan",
        "yearslong",
        'keychain',
        'laundromat',
        'antsy',
        'foodborne',
        'blindside',
        'sheetcake',
        'meh',
        'sleepover'
    ]

    alternate_spellings = [
        'catalog'
    ]

    # TODO -- flesh out loan words more completely
    adopted_words = [
        "reiki",
        'mâché',
        'guac',
        'queso',
        'nacho',
        'quesadilla',
        'mitzvah',
        'naïve',
        'fiancée',
        'à',
        'latte',
        'blasé',
        'purée',
        'tchotchke',
        'décor',
        'bébé',
        'cliché',
        'doppelgänger',
        'kitschy',
        'risqué',
        'schlep',
        'pâtés',
        'piñata',
        'lasagna',
        'quinceañera',
        'ganache',
        'carpaccio',
        'passé',
        'macadamia',
        'rosé',
        'bratwurst'

    ]

    return set(words.words() + modern_technical_terminology + modern_social_terminology + alternate_spellings + adopted_words)
