Created
January 28, 2014 16:42
-
-
Save heyimalex/8671357 to your computer and use it in GitHub Desktop.
hacky pygments filter to change "def" keyword token type
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from markdown2 import Markdown | |
patched = Markdown._get_pygments_lexer | |
def patch_get_pygments_lexer(self, lexer_name): | |
if lexer_name != "python": | |
return patched(self, lexer_name) | |
from pygments.lexers import PythonLexer | |
from pygments.token import Name, Keyword | |
from pygments.filter import Filter | |
lexer = PythonLexer() | |
class DefColorFilter(Filter): | |
def __init__(self, **options): | |
Filter.__init__(self, **options) | |
def filter(self, lexer, stream): | |
for ttype, value in stream: | |
if ttype is Keyword and value == 'def': | |
ttype = Name.Other # Whatever token type you want | |
yield ttype, value | |
lexer.add_filter(DefColorFilter()) | |
return lexer | |
Markdown._get_pygments_lexer = patch_get_pygments_lexer |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment