Esempio n. 1
0
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
Esempio n. 3
0
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)
Esempio n. 4
0
def format_diff(diff):
    return highlight(diff, lexers.DiffLexer(), formatters.TerminalFormatter())
Esempio n. 5
0
def colorize_diff(s):
    lexer = lexers.DiffLexer(encoding='utf-8')
    formatter = HtmlFormatter(encoding='utf-8', cssclass='source_code')

    return highlight(s, lexer, formatter)