Mercurial > agora-palash
view apps/snippet/highlight.py @ 113:892c7fbd3b35
Add diffs to snippet lexeres
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Thu, 13 Sep 2012 13:55:25 -0400 |
parents | 898881bbfdea |
children |
line wrap: on
line source
from pygments.lexers import get_all_lexers, get_lexer_by_name, guess_lexer from pygments.styles import get_all_styles from pygments.formatters import HtmlFormatter from pygments.util import ClassNotFound from pygments import highlight LEXER_LIST_ALL = sorted([(i[1][0], i[0]) for i in get_all_lexers()]) LEXER_LIST = ( ('bash', 'bash'), ('c', 'C'), ('c++', 'C++'), ('diff', 'patch or diff'), ('java', 'Java'), ('matlab', 'MATLAB'), ('octave', 'Octave'), ('perl', 'Perl'), ('php', 'PHP'), ('python', 'Python'), ('text', 'Text only'), ) LEXER_DEFAULT = 'octave' class NakedHtmlFormatter(HtmlFormatter): def wrap(self, source, outfile): return self._wrap_code(source) def _wrap_code(self, source): for i, t in source: yield i, t def pygmentize(code_string, lexer_name='text'): return highlight(code_string, get_lexer_by_name(lexer_name), NakedHtmlFormatter()) def guess_code_lexer(code_string, default_lexer='unknown'): try: return guess_lexer(code_string).name except ClassNotFound: return default_lexer