Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

Project info

dave1707dave1707 Mod
edited April 21 in Code Sharing Posts: 9,109

Here’s something I threw together for fun. It allows you to list your projects and see what tabs are used in it. It shows the number of lines and bytes in each tab and also shows you the total tabs, lines, and bytes in a project. Select a slider to choose Documents, Craft, or Examples.

PS. Slide your finger up/down to scroll.

PSS. Added code to sort the projects and tabs within each project.

viewer.mode=STANDARD function setup() fill(255) textMode(CORNER) parameter.boolean("Examples",false,showE) parameter.boolean("Craft",false,showC) parameter.boolean("Documents",true,showD) end function showD() Examples,Craft=false,false show("Documents") end function showE() Documents,Craft=false,false show("Examples") end function showC() Examples,Documents=false,false show("Craft") end function show(where) pos=0 list={} table.insert(list,where) table.insert(list," ") tab=listProjects(where) table.sort(tab) for a,b in pairs(tab) do table.insert(list,b) tabs=listProjectTabs(where..":"..b) table.sort(tabs) tTabs=#tabs tLines,tBytes=0,0 for c,d in pairs(tabs) do z=readProjectTab(where..":"..b..":"..d) tBytes=tBytes+#z cnt=1 for w=1,#z do if string.sub(z,w,w)=="\n" then cnt=cnt+1 end end tLines=tLines+cnt table.insert(list," |-----"..d.." Lines ("..cnt..") Bytes ("..#z..")") end table.insert(list," Total tabs ("..tTabs..") Total lines ("..tLines..") Total bytes ("..tBytes..")") table.insert(list," ") end end function draw() background(0) for a,b in pairs(list) do text(b,20,HEIGHT-a*20+pos) end end function touched(t) if t.state==CHANGED then if t.deltaY>0 then pos=pos+10 elseif t.deltaY<0 and pos>0 then pos=pos-10 end end end


Sign In or Register to comment.