Mac での Python のプログラミングがしやすいように,mi に新しくPythonモードを追加した.
予約語などのハイライトや,インデントの支援等々.妥協はしたけど,結構便利な設定ができた.
基本的にはこちらのものを利用.
これに,自分で少々手を加えた.
まず,ハイライトの配色に関しては, Pastie の Slate という配色を参考…というよりコピーした.
キーワードは数字のものだけ追加.ただ単に正規表現で “d+” を追加しただけ.
インデントの設定はいろいろ苦労した.
Python はインデントでブロックを表現するので,ブロックの終了判定が難しい.というか無理.
C だとか Java だと “.*}$” みたいな感じで表現できるけど,Python はそういうのがないから.
仕方がないので,コメントで終了判定させることにした.…もっとスマートな方法はないものか…
正規表現 | 現在行 | 次の行 |
---|---|---|
(if).*(:) | 0 | 4 |
(try:) | 0 | 4 |
(else:) | 0 | 4 |
(while).*(:) | 0 | 4 |
(for).*(:) | 0 | 4 |
(class) [a-zA-Z]w*(([ws,]*))?(:)$ | 0 | 4 |
(def) (__)?[a-zA-Z]w*([ws,]*():)$ | 0 | 4 |
(elif).*(:) | 0 | 4 |
(except)(( )((([a-zA-Z, ]+))|([a-zA-Z]+)))?(:) | 0 | 4 |
(finally:) | 0 | 4 |
(# (loop )?end)$ | 0 | -4 |
(break) | 0 | -4 |
(continue) | 0 | -4 |
(pass) | 0 | -4 |
(raise)(( )[a-zA-Z]+([a-zA-Z, ]+)?)? | 0 | -4 |
(return)( )w+ | 0 | -4 |
(###)$ | 0 | -4 |
あと細かいところで言うと,“インデントやタブ入力時にスペース4文字で代用する”設定だとか,ツールに,ファイルの先頭に書く,
#!/usr/bin/env python # -*- coding=utf-8 -*- ''' '''
を入れるものを作ったりだとか.
とりあえずはこんなところかな.あとは使っていきながら使いやすいように変えていくつもり.