# comment before a ... ### ... block comment. ### # comment func: -> # comment false false # comment false # comment true switch 'string' # comment when false then something() # comment when null somethingElse() -> code() # comment ok func() func func # Line3 obj: { # comment # comment # comment one: 1 # comment two: 2 # comment } result: if true # comment false ok not result result: if false false else # comment 45 ok result is 45 test: 'test ' + 'test ' + # comment 'test' ok test is 'test test test' ### This is a here-comment. Kind of like a heredoc. ### func: -> ### Another block comment. ### code func: -> one: -> two: -> three: -> ### block. ### four: -> fn1: -> oneLevel: null ### This isn't fine. ### ok ok obj: { a: 'b' ### comment ### c: 'd' } arr: [ 1, 2, 3, ### four ### 5, 6, 7 ] # Spaced comments in if / elses. result: if false 1 # comment else if false 2 # comment else 3 ok result is 3 result: switch 'z' when 'z' then 7 # comment ok result is 7 # Trailing-line comment before an outdent. func: -> if true true # comment 7 ok func() is 7 # Trailing herecomment in a function. fn: -> code ### debug code commented ### fn2: ->