Decompresses a 20 liner and adds tabbing to it.
I'm still here* helped me.
Change the path$ to where the 20 liner is saved.
Compressed (ish) -
path$="C:Program FilesDark Basic SoftwareDark Basic ProfessionalProjects20 lines20 lines.dba"
sync on : dim info(500) as string : open to read 1,path$ : cw=1 : tab=0
for i=1 to 20 : print i : sync : sync : cl=1
read string 1,full$ : if full$<>"" : repeat : cw$="" : inq=-1
for letter=cl to len(full$) : a$=mid$(full$,letter) : if a$=chr$(34) : inq=inq*-1 : endif
if a$=":" and inq=-1 : else : cw$=cw$+a$ : endif : if a$=":" and inq=-1 or letter=len(full$)
cl=letter+(a$=":") : while mid$(cw$,1)=" " : cw$=right$(cw$,len(cw$)-1) : endwhile : if lower$(left$(cw$,4))="next" or lower$(left$(cw$,5))="endif" or lower$(left$(cw$,7))="endcase" or lower$(left$(cw$,9))="endselect" or lower$(left$(cw$,8))="endwhile" or lower$(left$(cw$,4))="loop" or lower$(left$(cw$,4))="else" : dec tab : endif
info(cw)=space$(tab*3)+cw$ : if lower$(left$(cw$,3))="for" or lower$(left$(cw$,2))="if" or lower$(left$(cw$,4))="case" or lower$(left$(cw$,6))="select" or lower$(left$(cw$,5))="while" or lower$(left$(cw$,2))="do" or lower$(left$(cw$,4))="else" : inc tab : endif : inc cw
exit : endif : next letter : until cl=len(full$) : endif
next i : close file 1 : delete file path$ : open to write 1,path$ : for i=1 to cw
write string 1,info(i) : next i : close file 1 : print "Done" : sync
sync : wait key : end
Uncompressed -
I really don't think you read what this does.
*That is his name
P.S. It only checks the first 20 lines, so if the 20 liner is not on the first 20 lines (because of remarks or empty lines) you need to delete those lines yourself.