aaa 1.0.0

CLI tool for work with 3a files
/*
    This file is part of aaa.

    aaa is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Foobar is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with aaa.  If not, see <https://www.gnu.org/licenses/>.
*/
pub const COLORTABLE: &str = "	
width 32
height 19
loop false
colors full
title colortable demo
author Moth

in ' ab '                       ffffffffffffffffffffffffffffffff00000000000000000000000000000000
a-foreground, b-background      ffffffffffffffffffffffffffffffff00000000000000000000000000000000
                                ffffffffffffffffffffffffffffffff00000000000000000000000000000000
 00  01  02  03  04  05  06  07 0000000000000000000000000000000000001111222233334444555566667777
 10  11  12  13  14  15  16  17 1111111111111111111111111111111100001111222233334444555566667777
 20  21  22  23  24  25  26  27 2222222222222222222222222222222200001111222233334444555566667777
 30  31  32  33  34  35  36  37 3333333333333333333333333333333300001111222233334444555566667777
 40  41  42  43  44  45  46  47 4444444444444444444444444444444400001111222233334444555566667777
 50  51  52  53  54  55  56  57 5555555555555555555555555555555500001111222233334444555566667777
 60  61  62  63  64  65  66  67 6666666666666666666666666666666600001111222233334444555566667777
 70  71  72  73  74  75  76  77 7777777777777777777777777777777700001111222233334444555566667777
 80  81  82  83  84  85  86  87 8888888888888888888888888888888800001111222233334444555566667777
 90  91  92  93  94  95  96  97 9999999999999999999999999999999900001111222233334444555566667777
 a0  a1  a2  a3  a4  a5  a6  a7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa00001111222233334444555566667777
 b0  b1  b2  b3  b4  b5  b6  b7 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00001111222233334444555566667777
 c0  c1  c2  c3  c4  c5  c6  c7 cccccccccccccccccccccccccccccccc00001111222233334444555566667777
 d0  d1  d2  d3  d4  d5  d6  d7 dddddddddddddddddddddddddddddddd00001111222233334444555566667777
 e0  e1  e2  e3  e4  e5  e6  e7 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00001111222233334444555566667777
 f0  f1  f2  f3  f4  f5  f6  f7 ffffffffffffffffffffffffffffffff00001111222233334444555566667777";
 
pub const DEMO: &str = "	
	Header starts here
	Comments starts with tab char
width 22	Count of symbols in column
height 14	Count of rows in frames
loop true
colors full	Colors are specified for both text and background
delay 300
title 3a demo
author Moth
@ In header comments also may starts with @ char



	There
	is
	one
	ore
	more
	empty
	lines
	between
	header
	and
	body



	Body starts here
	First frame
LU]Pk&3):F*k[]qbd;$0Bs77777777777777777777770000000000000000000000	First row
}YZ7Ik;=a^KF(0CxvF5AU+77777777777777777777770000000000000000000000	Second row
uPJZ]RJ3]^xsyJ~-;2~.dW777777cccccc77777777770000003333330000000000	Third row
pj&<rH.vFN6odJ5c-l~CRx777777cccccc77777777770000003333330000000000
A!ht(UB@(jNDl.67+n)?,N7777777777cc77cccccc770000000000330033333300
v6,gTX64AWFW>%>IdAxSgW7777777777cc77cccccc770000000000330033333300
}[FiPQzkcMdG@K!<@dvC-$777777cccccc77cc77cc770000003333330033003300
C:DT+Odt-P(0pu%r}vlr#H777777cccccc77cc77cc770000003333330033003300
wAD)<iMp>L}yh}Y+}-r$BN7777777777cc77cccccc770000000000330033333300
@,ekE:w[Xt8sCmxxFj9EHN7777777777cc77cccccc770000000000330033333300
rX7=W;uEZii2*xosZuDRBg77cc77cccccc77cc77cc770033003333330033003300
vHtkD411dJ>P~3=kkB4wU^77cc77cccccc77cc77cc770033003333330033003300
,6oFB+gD3f_%gJua{50=HD77777777777777777777770000000000000000000000
rq5?T0lL06Vg-[0G:,sum)77777777777777777777770000000000000000000000

	Second frame
lH<^&?@^Hbt^3v5]7gx9<o	First column in a first row
7777777777777777777777	Second column in a first row
0000000000000000000000	Third column in a first row
hoB<mg>DGKGfM3woWh4%EC77777777777777777777770000000000000000000000
Js%6!JG[m,C8PVsrG7_ESx777777cccccc77777777770000003333330000000000
dCX<E6]xxP~Hk(([D*dGU?777777cccccc77777777770000003333330000000000
~!gdx`w[f0z)xKbnj{rAWS7777777777cc77cccccc770000000000330033333300
5V=hf%`00gl2-YlT;L*&U`7777777777cc77cccccc770000000000330033333300
qk[3_hDMUNNIn}Y`F>lh@o777777cccccc77cc77cc770000003333330033003300
HsHD0=38OO.#iCA&~U[{kT777777cccccc77cc77cc77
0000003333330033003300v#x@h.OzV,zLI6#5&kv4T-777777777	You can add line breaks anywhere in the body.
7cc77cccccc770000000000330033333300			Any way they, like comments, are ignored by the parser.
#t:Gic$*w-i;P<O!fIWdC,7777777777cc77cccccc770000000000330033333300
zs{lk^a3Ty8SbYgLGe7Pdt77cc77cccccc77cc77cc770033003333330033003300
i#%5(w~u9+cdlOdO!&Ms}677cc77cccccc77cc77cc770033003333330033003300
Ou=JC8Zn.T;pq98cx)ov>~77777777777777777777770000000000000000000000
aNvuQi.U6%7-Kf,uk{FG[J77777777777777777777770000000000000000000000

	Third frame
Jk%bTX:]aZ,D?jkB0?*I*O77777777777777777777770000000000000000000000
r~&Em{~S%FVCv._]xdt5.,77777777777777777777770000000000000000000000
OEr=o[s:ocqCa;,h2a-d:q777777cccccc77777777770000003333330000000000
U6]~]fX>~%T%(RAa$p`~n!777777cccccc77777777770000003333330000000000
YRq`hu=gRKg.!k>82v#[^D7777777777cc77cccccc770000000000330033333300
C#F7Nq3U3!yopFgBSRoUPB7777777777cc77cccccc770000000000330033333300
)p_U9Fhxi]W1IE)=s$>dh^777777cccccc77cc77cc770000003333330033003300
8uhRPgAy2}uioTM5Rw@>*5777777cccccc77cc77cc770000003333330033003300
xgq#T=V5d}8WaQU+kez]>X7777777777cc77cccccc770000000000330033333300
ed`pS6%DK9N% iQo7-[gDO7777777777cc77cccccc770000000000330033333300
[Z:jGUY%L&$74[@Q8;Km~E77cc77cccccc77cc77cc770033003333330033003300
gQ{ikr-5fyM<{ny6=]r4U$77cc77cccccc77cc77cc770033003333330033003300
iVG.vOv5uWkulYY#GT[&Tm77777777777777777777770000000000000000000000
U0DC_D-@ml4[7sP7&)C9Q>77777777777777777777770000000000000000000000
";