2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python IDEのSpyderにKv言語のシンタックスハイライトを追加する

Last updated at Posted at 2017-01-07

概要

Python IDEであるSpyderは、現時点ではKv言語のシンタックスハイライトに未対応のようです.
Spyderがシンタックスハイライターとして使用しているPygmentsに新たにlexer(ハイライト規則)を追加した際のメモです.

環境

  • Windows10 64bit
  • Python 3.5.2 | Anaconda custom (64-bit)
  • Spyder 3.0.2
  • Pygments 2.1.3

lexerファイルのダウンロード

lexerファイルとはPygmentsのハイライト規則が示されたPythonスクリプトファイルです.
以下のリンク先よりGitHub上のソースコードを取得します.

kivy/highlight.py at master · kivy/kivy
https://github.com/kivy/kivy/blob/master/kivy/extras/highlight.py

ファイル名の変更と保存

highlight.pykv.pyにファイル名を変更し、\site-packages\pygments\lexersフォルダ下に保存します.

lexerファイルの編集

ダウンロードした状態そのままでは使用できないためkv.pyファイルを編集します.以下の文を1行追加し、上書き保存します.

kv.py
__all__ = ['KivyLexer']

追加した後のkv.pyファイルの例は以下の通りです.

kv.py
...
import sys

__all__ = ['KivyLexer']

class KivyLexer(RegexLexer):
...

lexerマッピングの再構築

kv.pyPygmentsに認識させるため、lexerマッピングの再構築を行います.

cmd.exe
> cd C:\Program Files\Anaconda3\Lib\site-packages\pygments\lexers
> python _mapping.py
...
pygments.lexers.javascript
pygments.lexers.julia
pygments.lexers.jvm
pygments.lexers.kv
pygments.lexers.lisp
pygments.lexers.make
pygments.lexers.markup
...
=== 400 lexers processed.

以上で完了です.
Spyderを起動すると、拡張子が.kvであるファイルがシンタックスハイライトされます.

参考

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?