pad_leading_whitespace(string : str, current_level : int,
                               zero_level : int) -> str

    >>> pad_leading_whitespace("(print 'Yello)")
    "         (print 'Yello)"

    Takes a string and indents it using the current indentation level
    and the zero level.

def pad_leading_whitespace(string, zero_level, blist, options=None):
    """ pad_leading_whitespace(string : str, current_level : int,
                               zero_level : int) -> str

    >>> pad_leading_whitespace("(print 'Yello)")
    "         (print 'Yello)"

    Takes a string and indents it using the current indentation level
    and the zero level.
    """
    opts = parse_options(options)
    if opts.compact:
        # if compact mode is on, split the string into two, trim the first
        # position and merge the two portions.
        trim_limit = find_trim_limit(string, opts)
        comment_line = re.search('^[ \t]*;', string, re.M)
        if comment_line and opts.indent_comments:
            trim_limit = comment_line.end()
        substr1 = string[0:trim_limit]
        substr2 = string[trim_limit:]
        substr1 = trim(substr1)
        string = substr1 + substr2
    else:
        # If in nocompact mode, remove leading spaces only
        string = re.sub('^[ \t]+', '', string, count=0)

    indent_level = zero_level
    if blist:
        indent_level = blist[-1]['indent_level']

    padding = ' ' * indent_level
    padding = tabify(padding, opts)
    return padding + string, indent_level