satysfi-base icon indicating copy to clipboard operation
satysfi-base copied to clipboard

add palette.satyg

Open puripuri2100 opened this issue 5 years ago • 3 comments

color.satyhよりも提供する色を増やし、Gray, RGB, CMYKでそれぞれ提供するようにしました。 ファイル名については要議論かもしれません。

追加した色はLaTeXのxcolorパッケージで標準で提供されるものです

puripuri2100 avatar Jan 02 '20 12:01 puripuri2100

プルリクを出すときは自分でレビュワーに適当な人をassignしてもらえるとたすかります!

nyuichi avatar Jan 03 '20 09:01 nyuichi

言い忘れていたのですがpalette.satygの中身はcolor-ext.satyhの中に全部入れてしまってもいいかなと思っています.

nyuichi avatar Jan 03 '20 12:01 nyuichi

実装を大きめに変えてしまう提案なので議論をややこしくしてしまったら申し訳ないのですが、open Grayをつけて回る問題については、抽象的な色を扱うモジュールAbstractColor

module AbstractColor : sig
  type t

  val red : t
  val green : t
  val blue : t
  ...
end = struct
...

と、AbstractColor.tcolorとの対応付けを行うモジュールColorSpace

module ColorSpace : sig
  type t
  val into : t -> AbstractColor.t -> color

  val gray : t
  val rgb : t
  val cymk : t

end = struct
...

の二つを用意してやればいい気がします。下のコードのようにColorSpace.tの値を外から与えるようにすれば色空間を切り替えやりやすくなります。コードが長くなってしまうのが難点ですが…

let-inline ctx \todo color-space inner =
  let ctx-todo = ctx |> set-text-color (AbstractColor.red |> ColorSpace.into color-space) in
  read-inline ctx-todo {[TODO: #inner;]}

zeptometer avatar Jan 05 '20 23:01 zeptometer