LoginSignup
0
2

More than 3 years have passed since last update.

Pythonista 3のテーマをMonokai風にする(テーマの自作方法)

Last updated at Posted at 2019-12-14

Pythonista 3でMonokaiを使おうとしたけど見つからなかったので自分で作ってみました。

テーマの設定の場所

  1. 左サイドバーの右下の歯車を押すとSettingsが開きます。
  2. 一番上のGENERALのThemeからThemesが開きます。
  3. 右上の+を押すことでEdit Themeが開き、現在の配色をベースに自由に変更できます。

Edit Theme(編集画面)

  • 色はカラーパレットから選択できるほか、左上の色見本を押すとカラーコードを直接記入できます。
  • シンタックスハイライトでは太字、斜体、下線を選択できます。
  • 右上のDoneの左のアイコンからURL Schemeを生成できます。

作ってみた

ここをからインストールできます。

URL Schemeそのものはここから確認できます。
pythonista3://?action=add-theme&theme-data=eNqdVktz4jAMvvMrmOyVzCSBktBbd4Fb97Cz94yTiOCNYzGOMy3b6X9fvyiY8mg2OmHps6RPksXbaDwOJLzKvAMGpaTIc0m5DMaP42BtvmBibEiRF6RsaoE9r4w6WWmx6oqIJm9gXyARRitFDx9ASSUDg_lhPothlEPO-7YAYXTZahFlTteVuINOH7-pn9oBlp0UlNfHM3VaIkMLXs2X39NZYBTvE4spGem6K_bfNps0i1MfoCJqPHvNTFhBiYJoagxSpQ9Cx37mDCvwsEe2whO3WaRlFgWTY0yCgwgFqWhvok28exWpL2g5vZDGepHM08SPZCfwjyqlh9ggl2En964MBbLKB21B-ed1GA-DGYor2FwJ72m-SlyLDOWTSsJoeSsaZ-GhNihaIuX1PnEFyCIfpzML77s8NfuE_z_CpwMJ30LZFPjqp3dyqAfvIiKskMNN2EeZDpaf7pKkvjsfHM9LeZzxSy2yymL1yPhV7Hl5uO9S09t36SyyrrmQ4bHuC_Nl0e1m1G9MA9hL_3ZnheJ2n18scDKswIfc7w6V3389Zarr7xA3ny8XqzPiWqx6BgOYLrFtgcsriPQhjR9OJv4LMzv8XVdPbcGwbNTFRMhhk654JT2TX0l45FDqKRfny2-60GKXlc2R_jUpxpFdex9LdLlI4_WJ4Ya0lO2N7hk4w_AX1D0jwi1SG16um9MRoCVwcfgLOE2yJLGqupcSVJRqVbh1On3S4tYp7Ijp39w8tA6s5LCJC0HE_laOcquGmBPKTl3M4tlslvkBnIW41GItOGmt62fk2BA6_o0tCoEv45-03kprpGgD0ak_DJQwW8aETKPpPBi9_wPDjTRK

UIの配色は標準のTomorrow Nightを用いていますが、Monokaiに合わせてTint Color#f99157から#fd971fに変更しました。(ほとんど変わってない)

シンタックスハイライトの区分がそこまで多くないので忠実には再現できていません。たとえば、

  • #f92672を指定したのはKeywordだけですが、import def for in printなどが一括で変更されています。
  • 演算子はハイライトできません。

他の自作テーマ

自分で調べた範囲では3つしかなかったので全て紹介します。他にあればぜひ教えて下さい。

テーマ 説明
WWDC '16 Pythonistaの開発元のomz:softwareが作成
Dracula 本家Dracula作者のZeno Rocha氏が作成
Atom-inspired 投稿の一番下のTheme.がリンク

おまけ

URLスキームの貼り付け方

普通にリンクを貼るとQiita側で削除されるのでTinyURLで圧縮したものを貼り付けています。

Pythonistaのアイコンの色を変更する

Themes(テーマ選択画面)の右下のApp Icon...からアイコンの色を変更できます。

サンプルコード

設定画面で画面で表示されるコードを写経してみました。他のエディタにコピペすればテーマを自作する助けになるかもしれません。

colortest.py
# Themes(テーマ選択画面)のもの

from random import sample

def main():
  # Request a name and suffle the letters:
  name = input('Enter your name: ')
  for i in range(100):
    print(''.join(sample(name), len(name)))

if __name__ == '__main__':
  main()

# Edit Theme(配色設定画面)のもの

#coding: utf-8
from random import shuffle

def main():
  '''Shuffle the entered name 10 times'''
  name = input('Name: ')
  chars = list(name)
  for i in range(10):
    shuffle(chars)
    print(''.join(chars))

# クラスとデコレータがなかったので追加

@hogehoge
class Foo():
  def __init__(self, bar):
    self.bar = bar
0
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
0
2