def style_ansi(raw_code, lang=None): """ actual code hilite """ lexer = 0 if lang: try: lexer = get_lexer_by_name(lang) except ValueError: print col(R, 'Lexer for %s not found' % lang) lexer = None if not lexer: try: if guess_lexer: lexer = pyg_guess_lexer(raw_code) except: pass if not lexer: lexer = get_lexer_by_name(def_lexer) tokens = lex(raw_code, lexer) cod = [] for t, v in tokens: if not v: continue _col = code_hl_tokens.get(t) if _col: cod.append(col(v, _col)) else: cod.append(v) return ''.join(cod)
def style_ansi(raw_code, lang=None): """ actual code hilite """ def lexer_alias(n): # markdown lib now creates "language-python" (pygments still wants "python") if n.startswith('language-'): n = n[9:] # not found: if n == 'markdown': return 'md' return n lexer = 0 if lang: try: lexer = get_lexer_by_name(lexer_alias(lang)) except ValueError: print(col('Lexer for %s not found' % lang, R)) if not lexer: try: if guess_lexer: # takes a long time! lexer = pyg_guess_lexer(raw_code) except: pass if not lexer: for l in def_lexer, 'yaml', 'python', 'c': try: lexer = get_lexer_by_name(lexer_alias(l)) break except: # OUR def_lexer (python) was overridden,but not found. # still we should not fail. lets use yaml. or python: continue tokens = lex(raw_code, lexer) cod = [] for t, v in tokens: if not v: continue _col = code_hl_tokens.get(t) or C # color cod.append(col(v, _col)) return ''.join(cod)
def style_ansi(raw_code, lang=None): """ actual code hilite """ def lexer_alias(n): # not found: if n == "markdown": return "md" return n lexer = 0 if lang: try: lexer = get_lexer_by_name(lexer_alias(lang)) except ValueError: print(col(R, "Lexer for %s not found" % lang)) if not lexer: try: if guess_lexer: # takes a long time! lexer = pyg_guess_lexer(raw_code) except: pass if not lexer: for l in def_lexer, "yaml", "python", "c": try: lexer = get_lexer_by_name(lexer_alias(l)) break except: # OUR def_lexer (python) was overridden,but not found. # still we should not fail. lets use yaml. or python: continue tokens = lex(raw_code, lexer) cod = [] for t, v in tokens: if not v: continue _col = code_hl_tokens.get(t) or C # color cod.append(col(v, _col)) return "".join(cod)
def style_ansi(raw_code, lang=None): """ actual code hilite """ def lexer_alias(n): # not found: if n == 'markdown': return 'md' return n lexer = 0 if lang: try: lexer = get_lexer_by_name(lexer_alias(lang)) except (ValueError, ClassNotFound): print(col('Lexer for {} not found'.format(lang), R)) if not lexer: try: if guess_lexer: # takes a long time! lexer = pyg_guess_lexer(raw_code) except: pass if not lexer: for l in (def_lexer, 'yaml', 'python', 'c'): try: lexer = get_lexer_by_name(lexer_alias(l)) break except: # OUR def_lexer (python) was overridden,but not found. # still we should not fail. lets use yaml. or python: continue tokens = lex(raw_code, lexer) cod = [] for t, v in tokens: if not v: continue _col = code_hl_tokens.get(t) or C # color cod.append(col(v, _col)) return ''.join(cod)