keywordcaseフィルタの例
初回公開:2018/10/14
最終更新:未
サンプルコード
from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import HtmlFormatter code=u""" def add_func(a,b): return a+b print add_func(2,3) """ formatter = HtmlFormatter() lexer = get_lexer_by_name("python") lexer.add_filter('keywordcase',case='lower') with open("filter_keywordcase_lower.html", 'w') as outfile: highlight(code, lexer, formatter,outfile) lexer = get_lexer_by_name("python") lexer.add_filter('keywordcase',case='upper') with open("filter_keywordcase_upper.html", 'w') as outfile: highlight(code, lexer, formatter,outfile) lexer = get_lexer_by_name("python") lexer.add_filter('keywordcase',case='capitalize') with open("filter_keywordcase_capitalize.html", 'w') as outfile: highlight(code, lexer, formatter,outfile)
実行結果
htmlコード
filter_keywordcase_lower.html
<div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">add_func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">):</span> <span class="k">return</span> <span class="n">a</span><span class="o">+</span><span class="n">b</span> <span class="k">print</span> <span class="n">add_func</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> </pre></div>
filter_keywordcase_upper.html
<div class="highlight"><pre><span></span><span class="k">DEF</span> <span class="nf">add_func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">):</span> <span class="k">RETURN</span> <span class="n">a</span><span class="o">+</span><span class="n">b</span> <span class="k">PRINT</span> <span class="n">add_func</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> </pre></div>
filter_keywordcase_capitalize.html
<div class="highlight"><pre><span></span><span class="k">Def</span> <span class="nf">add_func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">):</span> <span class="k">Return</span> <span class="n">a</span><span class="o">+</span><span class="n">b</span> <span class="k">Print</span> <span class="n">add_func</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span> </pre></div>
html表示イメージ
python言語のキーワードが小文字,大文字,先頭の文字を大文字に、変換されているのが確認できる。
filter_keywordcase_lower.html
def add_func(a,b):
return a+b
print add_func(2,3)
filter_keywordcase_upper.html
DEF add_func(a,b):
RETURN a+b
PRINT add_func(2,3)
filter_keywordcase_capitalize.html
Def add_func(a,b):
Return a+b
Print add_func(2,3)