def spellcheckable_and_shadow_contents(contents, block_out_regexes=None):
    """For contents, split into spellcheckable and shadow parts.

    :contents: is a list of lines in a file.

    The return value is a tuple of (chunks, shadow_contents).
    chunks is a list of _ChunkInfo, each of which contain
    a region of text to be spell-checked. shadow_contents is an array of
    characters and integers. The characters represent nonspellcheckable
    regions and any region which will be subject to spellcheck is denoted
    by a zero in place of that character.
    """
    if not len(contents):
        return ([], [])

    comment_system = _comment_system_for_file(contents[0])

    # Shadow contents excludes anything in quotes
    chunks = _find_spellcheckable_chunks(contents, comment_system)
    shadow_contents = _shadow_contents_from_chunks(contents,
                                                   chunks,
                                                   block_out_regexes)

    return (chunks, shadow_contents)
def spellcheckable_and_shadow_contents ( contents , block_out_regexes = None ) : if not len ( contents ) : return ( [ ] , [ ] ) comment_system = _comment_system_for_file ( contents [ 0 ] ) chunks = _find_spellcheckable_chunks ( contents , comment_system ) shadow_contents = _shadow_contents_from_chunks ( contents , chunks , block_out_regexes ) return ( chunks , shadow_contents )
For contents, split into spellcheckable and shadow parts.

    :contents: is a list of lines in a file.

    The return value is a tuple of (chunks, shadow_contents).
    chunks is a list of _ChunkInfo, each of which contain
    a region of text to be spell-checked. shadow_contents is an array of
    characters and integers. The characters represent nonspellcheckable
    regions and any region which will be subject to spellcheck is denoted
    by a zero in place of that character.