def _get_lexer(codesyntax): if codesyntax in ("cpp", "javascript"): return lexers.JavascriptLexer() elif codesyntax == "python": return lexers.PythonLexer() elif codesyntax == "json": return lexers.JsonLexer() elif codesyntax == "xml" or codesyntax == "html": return lexers.HtmlLexer() elif codesyntax == "yml" or codesyntax == "yaml": return lexers.YamlLexer() elif codesyntax == "css": return lexers.CssLexer() elif codesyntax == "sql": return lexers.SqlLexer() elif codesyntax == "bash" or codesyntax == "sh": return lexers.BashLexer() elif codesyntax == "go": return lexers.GoLexer() elif codesyntax == "diff": return lexers.DiffLexer() elif codesyntax == "emacslisp": return lexers.EmacsLispLexer() elif codesyntax == "lisp": return lexers.CommonLispLexer() elif codesyntax == "rust": return lexers.RustLexer() elif codesyntax == "jsx": return BabylonLexer() elif codesyntax: raise NotImplementedError(codesyntax) else: return lexers.TextLexer()
def git_diff(filepath, since): """Get git diff for a given `filepath` `since` a given date.""" html_diff = None commits = git_commits(filepath, since) if commits: cmd = ('git', '--no-pager', 'diff', commits[-1] + '^', '--', filepath) stdout, stderr = execute(cmd) if stdout: diff = unicode(stdout, 'utf-8') html_diff = highlight(diff, lexers.DiffLexer(), HtmlFormatter()) # print(' '.join(cmd)) # print(diff) # print('\n') return html_diff
def colorize_diff(s: str) -> str: lexer = lexers.DiffLexer(encoding="utf-8") formatter = HtmlFormatter(encoding="utf-8", cssclass="source_code") return highlight(s, lexer, formatter)
def format_diff(diff): return highlight(diff, lexers.DiffLexer(), formatters.TerminalFormatter())
def colorize_diff(s): lexer = lexers.DiffLexer(encoding='utf-8') formatter = HtmlFormatter(encoding='utf-8', cssclass='source_code') return highlight(s, lexer, formatter)