from typing import List
import re


def lexLine(line : str) -> List[str]:
    """Tokenizes a code line

    Args:
        line (str): A line of VLang code

    Returns:
        List(str): A list of tokenized strings
    """
    if line == "\n":
        return ["\n"]
    elif line.startswith('#'):
        return ["#"]
    
    splittedList = re.split('\s|(\")', line) # Splits the line based on quotes or whitespaces(spaces)
    filteredList = filter(None, splittedList) # Filters None's out of the list. These ocur due to the regex expression above
    return list( filteredList )