## Every. single. feature. (that csv++ supports) ## fn foo_fn(a, b, c) a + b * c # a variable bar := 42 depends_on_another := 42 * 100 # a function that takes two args and calls another function fn composite_fn(a, b) foo_fn(a, b, bar) # a trailing comment fn my_function() composite_fn(42, 23) --- border , , ,[[border=top]] border=top , ,[[border=right]] border=right , ,[[border=bottom]] border=bottom , ,[[border=left]] border=left , ,[[border=all]] border=all , , , borderstyle , , ,[[border=all borderstyle=dashed]] border=all borderstyle=dashed , ,[[border=all borderstyle=solid]] border=all borderstyle=solid , , , color , , ,[[color=FF0000]] color=FF0000 , ,[[color=ABC]] color=ABC , , , fill , , ![[fill=3]] , fill=3 , , , fontcolor , , ,[[fontcolor=FF0000]] fontcolor=FF0000 , ,[[fontcolor=ABC]] fontcolor=ABC , , , fontfamily , , ,[[fontfamily='Comic Sans Ms']] fontfamily='Comic Sans MS' , ,[[fontfamily='Helvetica']] fontfamily='Helvetica' , , , fontsize , , ,[[fontsize=20]] fontsize=20 , ,[[fontsize=4]] fontsize=4 , , , halign , , ,[[halign=left]] halign=left , ,[[halign=center]] halign=center , ,[[halign=right]] halign=right , , , note , , ,[[note='this is a note']] note='this is a note' , , , numberformat , , ,[[numberformat=currency]] numberformat=currency ,[[numberformat=currency]]=123456 ,[[numberformat=date]] numberformat=date ,[[numberformat=date]]2020-12-12 ,[[numberformat=datetime]] numberformat=datetime ,[[numberformat=datetime]]2020-12-12 1:00 ,[[numberformat=number]] numberformat=number ,[[numberformat=number]]=123456 ,[[numberformat=percent]] numberformat=percent ,[[numberformat=percent]]=1.23456 ,[[numberformat=text]] numberformat=text ,[[numberformat=text]]=123456 ,[[numberformat=time]] numberformat=time ,[[numberformat=time]]=123456 ,[[numberformat=scientific]] numberformat=scientific ,[[numberformat=scientific]]=123456 , , text , , ,[[text=bold]] text=bold , ,[[text=italic]] text=italic , ,[[text=underline]] text=underline , ,[[text=strikethrough]] text=strikethrough , , , validate , validate=custom(TRUE) ,[[validate=custom(TRUE)]]TRUE validate=date_after(2025-09-08) ,[[validate=date_after(2025-09-08)]] 2026-09-07 validate=date_before(2024-10-10) ,[[validate=date_before(2024-10-10)]] 2021-01-01 validate=date_between(2/4/2025 10/20/2026) ,[[validate=date_between(2/4/2025 10/20/2026)]] =1/1/26 validate=date_equal_to(1/2/23) ,[[validate=date_equal_to(1/2/23)]] =1/2/23 validate=in_list(1 2 3 foo) ,[[validate=in_list(1 2 3 foo)]] =1 validate=in_range(A1) ,[[validate=in_range(A1)]] border validate=date_is_valid ,[[validate=date_is_valid]] 2026-01-01 validate=is_valid_email ,[[validate=is_valid_email]] test@test.com validate=is_valid_url ,[[validate=is_valid_url]] http://test.com validate=date_not_between(4/5/2022 2022-05-04) ,[[validate=date_not_between(4/5/2022 2022-05-04)]] 04/25/2022 validate=date_on_or_after(1/2/23) ,[[validate=date_on_or_after(1/2/23)]] 1/2/2023 validate=date_on_or_before(11/2/24) ,[[validate=date_on_or_before(11/2/24)]] 11/2/2022 validate=number_between(5 10) ,[[validate=number_between(5 10)]] =8 validate=number_equal_to(5) ,[[validate=number_equal_to(5)]] =5 validate=number_greater_than(21) ,[[validate=number_greater_than(21)]] =22 validate=number_greater_than_or_equal_to(23) ,[[validate=number_greater_than_or_equal_to(23)]] =24 validate=number_less_than(23) ,[[validate=number_less_than(23)]] =21 validate=number_less_than_or_equal_to(42) ,[[validate=number_less_than_or_equal_to(42)]] =23 validate=number_not_between(1 20) ,[[validate=number_not_between(1 20)]] =12 validate=number_not_equal_to(42) ,[[validate=number_not_equal_to(42)]] =123 validate=text_contains('foo') ,[[validate=text_contains('foo')]] foo bar baz validate=text_does_not_contain('foo') ,[[validate=text_does_not_contain('foo')]] bar validate=text_equal_to('foo') ,[[validate=text_equal_to('foo')]] foo , , valign , , ,[[valign=top]] valign=top , ,[[valign=center]] valign=center , ,[[valign=bottom]] valign=bottom , , , variables , , ,depends_on_another ,=depends_on_another ,my_function() ,=my_function() ,bar ,=bar , , wrap , , ,[[wrap=wrap]] wrap=wrap , ,[[wrap=overflow]] wrap=overflow , ,[[wrap=clip]] wrap=clip , , ,