技術ブログを開設する
ログイン
プログラマのための技術ブログプラットフォーム
この投稿は別サイトからのクロス投稿です(クロス元:https://woodyzootopia.github.io/...

TL;DR

Atom用のカラースキームflatwhiteVim版に移植したものがあったが、言語対応が貧弱だったのでフォークしていじった。\
現状、Markdown, C, C++, Python, HTML, CSSに対応。\
NeoVimでしか試してないですが、多分Vimでも動きます。

まだまだ未完成なので、プルリク歓迎です。(特にLaTeXを完成させたいがちょっと厄介そう)

↓リポジトリはこちら↓\
https://github.com/woodyZootopia/flatwhite-vim

まあスクリーンショット見ろよ



すごくいい!

どうやって使うか

前に書いた記事のようにしてdeinを入れていることを前提にするが、\

  1. init.vim

    call dein#add('woodyZootopia/flatwhite-vim')
    

    と書くか\
    dein.toml

    [[plugins]]  
    repo = 'woodyZootopia/flatwhite-vim'
    

    と書く

  2. init.vim

    colorscheme flatwhite
    

    と書く

これでOK。

動機

へいほーさんのツイート

を見てこのflatwhiteというカラースキームに一目惚れした。シンタックスに応じて背景が変わるので範囲が見やすい上、文字自体の色は変わらない^genmitsuので可読性も高い。ライトテーマであることも高得点^whylight。\
だが、自分は生粋のVimmerなので、Vim以外のテキストエディタを使うと死んでしまう。まだ死にたくないので、Vim版を作ることにした。

何をしたか

と言っても、書いたコードを全部説明していくとキリがないので詰まったところだけさらっと説明する。開発を手伝ってくれるという気概のある人は参考にしてほしい。

  • 言語ごとのシンタックスには残念ながらドキュメントがないようだ。neovim/neovim/tree/master/runtime/syntax(標準の言語シンタックス) を見て、正規表現からどのシンタックスが自分の塗りたい場所を担当しているのか頑張って調べよう。正規表現はVimの/コマンドに直接入力できるので、サンプルコード内をそれで検索すると見つけやすいかも。
  • s:base1が標準の黒色、数字が増えるたびに薄くなっていきs:base7が背景色。
  • 新たにシンタックスを加える場合、言語間で競合してしまう可能性があることと、既定のシンタックスによる上書きを防ぐため^uwagakiautocmdにより後出し読込みしている。

どう変わったか

一番良くなったのはMarkdownでしょう。

before after
  • Headingの#も色が塗られるようになっている
  • Blockquoteが全部緑に塗られるようになっている
  • プログラムコードがオレンジに塗られるようになっている
  • リンクが青で塗られるようになっている

などなど、より本家っぽくなってます

何がまだできてないか

目下主に2つあります。

  • Cの構造体名に対応していない。例えば、

    struct Data {...}
    

    とあったらDataをオレンジ色に塗りたい。

  • LaTeXその他の言語に対応していない。とくにLaTeXは本家に合わせるのが面倒そう。

これからも自分の必要に応じて開発していきますが、我こそは、というかたはPRお願いしますm( )m

関連記事

この記事へのコメント

まだコメントはありません
1
@rrCjSRoAHxibYEKEの技術ブログ
1
このエントリーをはてなブックマークに追加