mirror of
https://github.com/sharkdp/bat
synced 2024-11-06 21:20:25 +00:00
Add sample Crystal file
This commit is contained in:
parent
e6c3f96931
commit
b30f9a1677
117
tests/syntax-tests/highlighted/Crystal/test.cr
Normal file
117
tests/syntax-tests/highlighted/Crystal/test.cr
Normal file
@ -0,0 +1,117 @@
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m An example file to test Crystal syntax highlighting in bat[0m
|
||||
[38;2;248;248;242mmy_var [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mNil[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255mnil[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_var_also [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m42[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_other_var [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4.0[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242manother_float [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4.0_f32[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242manother_float_2 [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m4e10[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242manother_float_3 [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;190;132;255m0.5[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mbig_one [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1_000_000.111_111e-4[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mternary [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m [0m[38;2;249;38;114m>[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255m3[0m[38;2;248;248;242m [0m[38;2;249;38;114m?[0m[38;2;248;248;242m [0m[38;2;190;132;255m4[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_symbol [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m:[0m[38;2;190;132;255mThisOne?[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_other_symbol [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m:[0m[38;2;190;132;255mNo_That_One![0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mplus [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m:[0m[38;2;190;132;255m+[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mminus [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m:[0m[38;2;190;132;255m-[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_string [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mthis string right here, with an interpolated value of [0m[38;2;230;219;116m#{[0m[38;2;230;219;116mmy_var_also[0m[38;2;230;219;116m}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_array [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mArray[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;190;132;255m1[0m[38;2;248;248;242m,[0m[38;2;190;132;255m2[0m[38;2;248;248;242m,[0m[38;2;190;132;255m3[0m[38;2;248;248;242m,[0m[38;2;190;132;255m4[0m[38;2;248;248;242m][0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_tuple [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mTuple[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m[38;2;190;132;255m1[0m[38;2;248;248;242m,[0m[38;2;190;132;255m2[0m[38;2;248;248;242m,[0m[38;2;190;132;255m3[0m[38;2;248;248;242m,[0m[38;2;190;132;255m4[0m[38;2;248;248;242m}[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_named_tuple [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mNamedTuple[0m[38;2;248;248;242m([0m[38;2;190;132;255mone[0m[38;2;190;132;255m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255mtwo[0m[38;2;190;132;255m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m[38;2;230;219;116m"[0m[38;2;230;219;116mone[0m[38;2;230;219;116m"[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mtwo[0m[38;2;230;219;116m"[0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m}[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_hash [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mHash[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m[38;2;230;219;116m"[0m[38;2;230;219;116mone[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m=>[0m[38;2;248;248;242m [0m[38;2;190;132;255m1[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mtwo[0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m=>[0m[38;2;248;248;242m [0m[38;2;190;132;255m2[0m[38;2;248;248;242m}[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_proc [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mProc[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;249;38;114m>[0m[38;2;248;248;242m([0m[38;2;248;248;242mx [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mInt32[0m[38;2;248;248;242m)[0m[38;2;248;248;242m{[0m[38;2;248;248;242m [0m[38;2;248;248;242mx [0m[38;2;249;38;114m*[0m[38;2;248;248;242m x[0m[38;2;248;248;242m}[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_other_proc [0m[38;2;248;248;242m:[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mProc[0m[38;2;248;248;242m([0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m)[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;249;38;114m>[0m[38;2;248;248;242m{[0m[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mWow, neat![0m[38;2;230;219;116m"[0m[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mputs my_string[0m
|
||||
[38;2;248;248;242mputs[0m[38;2;248;248;242m([0m[38;2;248;248;242mmy_string[0m[38;2;248;248;242m)[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;249;38;114menum[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mRed[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mGreen[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mBlue[0m[38;2;248;248;242m[0m
|
||||
[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;249;38;114mclass[0m[38;2;248;248;242m [0m[38;2;166;226;46mGreeter[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m@[0m[38;2;255;255;255minstance_field[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mRed[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m@@[0m[38;2;255;255;255mclass_field[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mGreen[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46minitialize[0m[38;2;248;248;242m([0m[3;38;2;255;255;255m@[0m[3;38;2;255;255;255mname[0m[3;38;2;253;151;31m [0m[3;38;2;249;38;114m=[0m[3;38;2;253;151;31m [0m[3;38;2;230;219;116m"[0m[3;38;2;230;219;116mworld[0m[3;38;2;230;219;116m"[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mgreet[0m[38;2;248;248;242m [0m
|
||||
[38;2;248;248;242m puts [0m[38;2;230;219;116m"[0m[38;2;230;219;116mHello, [0m[38;2;230;219;116m#{[0m[38;2;255;255;255m@[0m[38;2;255;255;255mname[0m[38;2;230;219;116m}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mrender_greeting[0m[38;2;248;248;242m [0m[3;38;2;253;151;31m:[0m[3;38;2;253;151;31m [0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mHello, [0m[38;2;230;219;116m#{[0m[38;2;255;255;255m@[0m[38;2;255;255;255mname[0m[38;2;230;219;116m}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mwith_greeting[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114myield[0m[38;2;248;248;242m render_greeting[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mis_color_default?[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;255;255;255m@[0m[38;2;255;255;255minstance_field[0m[38;2;248;248;242m [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;255;255;255m@@[0m[38;2;255;255;255mclass_field[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mself.greet_static[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mname [0m[3;38;2;253;151;31m:[0m[3;38;2;253;151;31m [0m[3;38;2;166;226;46mString[0m[38;2;248;248;242m) :[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mUnit[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m puts [0m[38;2;230;219;116m"[0m[38;2;230;219;116mHello, [0m[38;2;230;219;116m#{[0m[38;2;230;219;116mname[0m[38;2;230;219;116m}[0m[38;2;230;219;116m"[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mgreeter [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mGreeter[0m[38;2;248;248;242m.[0m[38;2;249;38;114mnew[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mbat[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mgreeter[0m[38;2;248;248;242m.[0m[38;2;248;248;242mwith_greeting [0m[38;2;249;38;114mdo [0m[38;2;248;248;242m|[0m[38;2;255;255;255mgreeting[0m[38;2;248;248;242m|[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m puts greeting[0m
|
||||
[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mputs [0m[38;2;230;219;116m<<-EOF[0m[38;2;230;219;116m[0m
|
||||
[38;2;230;219;116m this is a heredoc and it has a value in it of [0m[38;2;230;219;116m#{[0m[38;2;230;219;116mgreeter[0m[38;2;230;219;116m.[0m[38;2;230;219;116mrender_greeting[0m[38;2;230;219;116m}[0m[38;2;230;219;116m![0m
|
||||
[38;2;230;219;116mEOF[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;117;113;94m#[0m[38;2;117;113;94m This is a command:[0m
|
||||
[38;2;230;219;116m`[0m[38;2;230;219;116mecho yay![0m[38;2;230;219;116m`[0m[38;2;248;248;242m[0m
|
||||
[38;2;255;255;255m$[0m[38;2;255;255;255m?[0m[38;2;248;248;242m.[0m[38;2;248;248;242msuccess?[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mmy_color [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mRed[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mputs [0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mcase[0m[38;2;248;248;242m my_color[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mRed[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242m.[0m[38;2;248;248;242mred?[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mRed[0m[38;2;230;219;116m"[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mGreen[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242m.[0m[38;2;248;248;242mgreen?[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mGreen[0m[38;2;230;219;116m"[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mwhen[0m[38;2;248;248;242m [0m[3;38;2;166;226;46mColors[0m[38;2;248;248;242m:[0m[38;2;248;248;242m:[0m[3;38;2;166;226;46mBlue[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;248;248;242m.[0m[38;2;248;248;242mblue?[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mBlue[0m[38;2;230;219;116m"[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;230;219;116m"[0m[38;2;230;219;116mI dunno, man. Chartreuse? Maroon?[0m[38;2;230;219;116m"[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;249;38;114mclass[0m[38;2;248;248;242m [0m[38;2;166;226;46mMyGenericClass[0m[38;2;166;226;46m([0m[3;38;2;166;226;46mT[0m[38;2;166;226;46m)[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46minitialize[0m[38;2;248;248;242m([0m[3;38;2;255;255;255m@[0m[3;38;2;255;255;255mwrapped_value[0m[3;38;2;253;151;31m [0m[3;38;2;253;151;31m:[0m[3;38;2;253;151;31m [0m[3;38;2;166;226;46mT[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mget[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;255;255;255m@[0m[38;2;255;255;255mwrapped_value[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;249;38;114mdef[0m[38;2;248;248;242m [0m[38;2;166;226;46mdo_stuff_with_range[0m[38;2;248;248;242m([0m[3;38;2;253;151;31mr [0m[3;38;2;253;151;31m:[0m[3;38;2;253;151;31m [0m[3;38;2;166;226;46mRange[0m[3;38;2;253;151;31m([0m[3;38;2;166;226;46mInt[0m[3;38;2;249;38;114m|[0m[3;38;2;166;226;46mString[0m[3;38;2;253;151;31m)[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m r[0m[38;2;248;248;242m.[0m[38;2;248;248;242mempty?[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mreturn[0m[38;2;248;248;242m [0m[38;2;249;38;114munless[0m[38;2;248;248;242m [0m[38;2;249;38;114m![0m[38;2;248;248;242m([0m[38;2;248;248;242mr[0m[38;2;248;248;242m.[0m[38;2;248;248;242mempty?[0m[38;2;248;248;242m)[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m r[0m[38;2;248;248;242m.[0m[38;2;248;248;242meach [0m[38;2;249;38;114mdo [0m[38;2;248;248;242m|[0m[38;2;255;255;255mitem[0m[38;2;248;248;242m|[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;246;170;17m/[0m[38;2;246;170;17me[0m[38;2;246;170;17m/[0m[38;2;248;248;242m.[0m[38;2;248;248;242mmatch[0m[38;2;248;248;242m([0m[38;2;248;248;242mitem[0m[38;2;248;248;242m.[0m[38;2;248;248;242mto_s[0m[38;2;248;248;242m)[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m puts [0m[38;2;230;219;116m"[0m[38;2;230;219;116m#{[0m[38;2;230;219;116mitem[0m[38;2;230;219;116m}[0m[38;2;230;219;116m contains the letter e![0m[38;2;230;219;116m"[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melsif[0m[38;2;248;248;242m item[0m[38;2;248;248;242m.[0m[38;2;248;248;242mto_s[0m[38;2;248;248;242m.[0m[38;2;248;248;242mempty?[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mbreak[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mnext[0m[38;2;248;248;242m [0m[38;2;117;113;94m#[0m[38;2;117;113;94m this is unnecessary, but whatever[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;249;38;114mmacro[0m[38;2;248;248;242m print_range[0m[38;2;248;248;242m([0m[38;2;248;248;242mrange[0m[38;2;248;248;242m)[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m{%[0m[38;2;248;248;242m [0m[38;2;249;38;114mfor[0m[38;2;248;248;242m i [0m[38;2;249;38;114min[0m[38;2;248;248;242m range [0m[38;2;249;38;114m%}[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m puts [0m[38;2;249;38;114m{{[0m[38;2;248;248;242mi[0m[38;2;248;248;242m.[0m[38;2;248;248;242mid[0m[38;2;249;38;114m}}[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m{%[0m[38;2;248;248;242m [0m[38;2;249;38;114mend[0m[38;2;248;248;242m [0m[38;2;249;38;114m%}[0m[38;2;248;248;242m[0m
|
||||
[38;2;249;38;114mend[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mprint_range[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m.[0m[38;2;248;248;242m.[0m[38;2;190;132;255m3[0m[38;2;248;248;242m)[0m[38;2;248;248;242m[0m
|
||||
[38;2;248;248;242mprint_range[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m.[0m[38;2;248;248;242m.[0m[38;2;248;248;242m.[0m[38;2;190;132;255m3[0m[38;2;248;248;242m)[0m[38;2;248;248;242m[0m
|
117
tests/syntax-tests/source/Crystal/test.cr
Normal file
117
tests/syntax-tests/source/Crystal/test.cr
Normal file
@ -0,0 +1,117 @@
|
||||
# An example file to test Crystal syntax highlighting in bat
|
||||
my_var : Nil = nil
|
||||
my_var_also : Int32 = 42
|
||||
my_other_var = 4.0
|
||||
another_float = 4.0_f32
|
||||
another_float_2 = 4e10
|
||||
another_float_3 = -0.5
|
||||
big_one = 1_000_000.111_111e-4
|
||||
ternary = 1 > 2 : 3 ? 4
|
||||
my_symbol = :ThisOne?
|
||||
my_other_symbol = :No_That_One!
|
||||
plus = :+
|
||||
minus = :-
|
||||
my_string : String = "this string right here, with an interpolated value of #{my_var_also}"
|
||||
my_array : Array(Int32) = [1,2,3,4]
|
||||
my_tuple : Tuple(Int32, Int32, Int32, Int32) = {1,2,3,4}
|
||||
my_named_tuple : NamedTuple(one: Int32, two: Int32) = {"one": 1, "two": 2}
|
||||
my_hash : Hash(String, Int32) = {"one" => 1, "two" => 2}
|
||||
my_proc : Proc(Int32, Int32) = ->(x : Int32){ x * x}
|
||||
my_other_proc : Proc(String) = ->{ "Wow, neat!" }
|
||||
puts my_string
|
||||
puts(my_string)
|
||||
|
||||
enum Colors
|
||||
Red
|
||||
Green
|
||||
Blue
|
||||
end
|
||||
|
||||
class Greeter
|
||||
@instance_field = Colors::Red
|
||||
@@class_field = Colors::Green
|
||||
|
||||
def initialize(@name = "world")
|
||||
end
|
||||
|
||||
def greet
|
||||
puts "Hello, #{@name}"
|
||||
end
|
||||
|
||||
def render_greeting : String
|
||||
"Hello, #{@name}"
|
||||
end
|
||||
|
||||
def with_greeting
|
||||
yield render_greeting
|
||||
end
|
||||
|
||||
def is_color_default?
|
||||
@instance_field == @@class_field
|
||||
end
|
||||
|
||||
def self.greet_static(name : String) : Unit
|
||||
puts "Hello, #{name}"
|
||||
end
|
||||
end
|
||||
|
||||
greeter = Greeter.new("bat")
|
||||
greeter.with_greeting do |greeting|
|
||||
puts greeting
|
||||
end
|
||||
|
||||
puts <<-EOF
|
||||
this is a heredoc and it has a value in it of #{greeter.render_greeting}!
|
||||
EOF
|
||||
|
||||
# This is a command:
|
||||
`echo yay!`
|
||||
$?.success?
|
||||
|
||||
my_color = Colors::Red
|
||||
|
||||
puts
|
||||
case my_color
|
||||
when Colors::Red, .red?
|
||||
"Red"
|
||||
when Colors::Green, .green?
|
||||
"Green"
|
||||
when Colors::Blue, .blue?
|
||||
"Blue"
|
||||
else
|
||||
"I dunno, man. Chartreuse? Maroon?"
|
||||
end
|
||||
|
||||
class MyGenericClass(T)
|
||||
def initialize(@wrapped_value : T)
|
||||
end
|
||||
|
||||
def get
|
||||
return @wrapped_value
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def do_stuff_with_range(r : Range(Int|String))
|
||||
return if r.empty?
|
||||
return unless !(r.empty?)
|
||||
r.each do |item|
|
||||
if /e/.match(item.to_s)
|
||||
puts "#{item} contains the letter e!"
|
||||
elsif item.to_s.empty?
|
||||
break
|
||||
else
|
||||
next # this is unnecessary, but whatever
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
macro print_range(range)
|
||||
{% for i in range %}
|
||||
puts {{i.id}}
|
||||
{% end %}
|
||||
end
|
||||
|
||||
print_range(1..3)
|
||||
print_range(1...3)
|
Loading…
Reference in New Issue
Block a user