この記事では作ったものの紹介、及び実装についての工夫について書いてみたいと思います。名前はかなり適当です。紫をベースにしたダークテーマで、半透明でもある程度の可読性を担保するような配色設計を心がけました。合わせてリポジトリに置いています。調整していく予定です。さんの記事を参考にしました。配色設計の手始め、実装についてとても参考になりました。おける配色に関する検討、実装についてです。いうサービスで、幾つか試しにプロトタイプを作ってみました。イメージを固めるために幾つかパターンを作って比較検討したかったため、少し操作に煩わしさを感じました。上でテキストを打ち込んで色の調整をして比較検討を進めて、「これがいいかなぁ」というところまでイメージを固めていきました。ベースとなるカラーパレットを作ります。実際には実装を進めつつ調整をすることに決めていたので、最初はあくまでハイライトの調整をしていく中でブレがないようにするためと割り切って、ざっくりと決め打ちすることにしました。辺りが決まっていれば、そこまでブレが出なかったので、あまり神経質にならず進めて正解でした。吐くことで読み込みが高速化されるような実装となっています。さんの実装をかなり参考にさせていただきました。メンテナンス性を担保しながらも、読み込み時に必要となる計算を最小化することができます。色の調整については具体的に以下のようなコードで、色調整が楽にできるような実装としてみました。定義した色を継承して新しい色を生成するものです。実装を実現しています。それぞれのマクロの実装例です。生成を自動化しています。(termguicolors)、デザインツールなどで比較的容易に得ることができ、何かと親しみのあり、パレットの作成とメンテナンスが楽という考えからです。自動で求めることができるような機構を入れています。マクロをもう一度見てみます。中から近似した色を採用する実装を行っています。いうアルゴリズムを採用しています。求めるアルゴリズムは存在しますが、これが最もしっくりとくるため使用しています。いうパッケージで存在します。既存のパッケージがあったので、一から実装する手間が省けますね。並べてみると、比較的近い色が自動で採用されていることが確認できます。値を意識しなくても良く気軽なリファクタリングが可能になりました。見た目であることは保証できない気はしています。背景色なんかは結構違う。実装してみて、かなり楽しいと感じる一方、気になるところが出てくるとかなりの沼だなと感じました。使いながら、大体のハイライトグループに色があたってきて実用的になってくると最高の気分ですね。使いたい気持ちが満たされたので一石二鳥でした。wadackel.me。