diff --git a/scenes/shape-definitions.fart b/scenes/shape-definitions.fart index 9b1c354..0cd0c1a 100644 --- a/scenes/shape-definitions.fart +++ b/scenes/shape-definitions.fart @@ -24,6 +24,7 @@ scene } } + # define a reusable Die type define shape Die subtract { union @@ -134,6 +135,7 @@ scene } } + # Define an individual stack of dies define shape DieStack union { translate <0, 0, 1.5> { scale 3 { shape Die } } @@ -141,6 +143,7 @@ scene translate <0, 0, 5.5> { rotate 90, <0, 1, 0> { shape Die } } } + # Instantiate various DieStack objects translate <-5, 0, 0> { shape DieStack } translate <5, 0, 0> { rotate 90, <0, 0, 1> { shape DieStack } } translate <0, 5, 0> { rotate 180, <0, 0, 1> { shape DieStack } } diff --git a/vim/syntax/fart.vim b/vim/syntax/fart.vim index a11fdb5..a835a17 100644 --- a/vim/syntax/fart.vim +++ b/vim/syntax/fart.vim @@ -13,9 +13,11 @@ syn case match syn keyword fartKeywords ambient ambient_occlusion color define diffuse exposure height jitter look_at material max_depth multisample ngon offset polygon position radius reflectance rotate scale shininess size specular translate transparency union up vfov width syn keyword fartObjects box camera cyl extrude intersect light options plane scene shape sphere subtract union syn match fartNumber "\(^\|\W\)\@<=[+-]\=\(\d\+\)\=\.\=\d\+\([eE][+-]\=\d\+\)\=" +syn match fartComment "#.*" hi def link fartKeywords Operator hi def link fartObjects Type hi def link fartNumber Number +hi def link fartComment Comment let b:current_syntax = "fart"