def annotate_file(config, infile, outfile, outfmt=None): """ Parse the input cmake file, re-format it, and print to the output file. """ infile_content = infile.read() if config.line_ending == 'auto': detected = __main__.detect_line_endings(infile_content) config = config.clone() config.set_line_ending(detected) tokens = lexer.tokenize(infile_content) config.first_token = lexer.get_first_non_whitespace_token(tokens) parse_db = parse_funs.get_parse_db() parse_db.update(parse_funs.get_legacy_parse(config.fn_spec).kwargs) parse_tree = parser.parse(tokens, parse_db) if outfmt == "page": html_content = render.get_html(parse_tree, fullpage=True) outfile.write(html_content) return if outfmt == "stub": html_content = render.get_html(parse_tree, fullpage=False) outfile.write(html_content) return raise ValueError("Invalid output format: {}".format(outfmt))
def process_file(config, infile_content): """ Parse the input cmake file, return the parse tree """ if config.format.line_ending == 'auto': detected = __main__.detect_line_endings(infile_content) config = config.clone() config.set_line_ending(detected) tokens = lexer.tokenize(infile_content) parse_db = parse_funs.get_parse_db() parse_db.update(parse_funs.get_legacy_parse(config.parse.fn_spec).kwargs) ctx = parse.ParseContext(parse_db, config=config) parse_tree = parse.parse(tokens, ctx) parse_tree.build_ancestry() return parse_tree
def process_file(config, local_ctx, infile_content): """ Parse the input cmake file, re-format it, and print to the output file. """ if config.format.line_ending == 'auto': detected = __main__.detect_line_endings(infile_content) config = config.clone() config.set_line_ending(detected) basic_checker.check_basics(config, local_ctx, infile_content) tokens = lexer.tokenize(infile_content) parse_db = parse_funs.get_parse_db() parse_db.update(parse_funs.get_legacy_parse(config.parse.fn_spec).kwargs) ctx = parse.ParseContext(parse_db, local_ctx, config) parse_tree = parse.parse(tokens, ctx) parse_tree.build_ancestry() basic_checker.check_parse_tree(config, local_ctx, parse_tree)
def annotate_file(config, infile, outfile, outfmt=None): """ Parse the input cmake file, re-format it, and print to the output file. """ infile_content = infile.read() if config.format.line_ending == 'auto': detected = __main__.detect_line_endings(infile_content) config = config.clone() config.format.set_line_ending(detected) tokens = lexer.tokenize(infile_content) parse_db = parse_funs.get_parse_db() parse_db.update(parse_funs.get_funtree(config.parse.fn_spec)) ctx = parse.ParseContext(parse_db) parse_tree = parse.parse(tokens, ctx) if outfmt == "page": html_content = render.get_html(parse_tree, fullpage=True) outfile.write(html_content) return if outfmt == "stub": html_content = render.get_html(parse_tree, fullpage=False) outfile.write(html_content) return if outfmt == "iframe": html_content = render.get_html(parse_tree, fullpage=True) wrap_lines = EMBED_TPL.split("\n") for line in wrap_lines[:2]: outfile.write(line) outfile.write("\n") outfile.write(html_content) for line in wrap_lines[3:]: outfile.write(line) outfile.write("\n") return raise ValueError("Invalid output format: {}".format(outfmt))