基本的に、私は次のコーヒースクリプトコードを思い通りにシンタックスハイライトしようとしています。Coffeescript関数の構文の説明はここにあります。
nameHere = (tstamp, moo, boo) ->
...
tstamp、moo、およびbooの名前は、ラムダ関数のパラメーターであるため、ピンク色にする必要があります(コンマや角かっこではなく、他には何もありません)。
highOrderFun ((x) -> x * x) someList
ここで、パラメータである最初のxです。パラメータにはデフォルトの引数を設定できます。
class Foo
meth: (msg = "Hello", bar = "foo") ->
....
デフォルトの引数は、それ自体が変数にすることができます。
defColor = "red"
print = (msg, color = defColor) ->
...
したがってmsg
、color
上記は強調表示する必要がありますが、強調表示しないでdefColor
ください。さらにトリッキーなケースは、それ自体が関数であるデフォルトの引数を持つ関数です。emacsのフォントロックを正しく強調表示するのは難しいと思いますが、とにかくそれを含めています:
funTakingFuns = (f1 = ((a, b) -> a*b), f2 = ((c, d) -> c/d)) ->
...
ハイライトをコンテキストに依存させたいので、これをemacsで実現するのはかなり複雑に見えます。フォントロックに関するドキュメントを読みましたが、理解できませんでした。
font-lock-defaults
誰かが私が望むように構文を強調するために何を設定するかを教えてくれたらありがたいです。
より多くのcoffeescript構文例を表示する更新。