1structure Flash :> Flash = 2struct 3 4 5val prelimstr = ref "" 6 7fun init (s,t) = let 8 val count = ref 0 9 fun one () = (count := !count + 1; 10 print ("\r"^s); 11 print (StringCvt.padLeft #" " 4 12 (Int.toString (!count * 100 div t))); 13 print "%") 14in 15 (one, (fn () => print "\n")) 16end 17 18fun donowt() = () 19 20fun initialise p = let 21 val null = (donowt, donowt) 22in 23 case OS.Process.getEnv "TERM" of 24 SOME "emacs" => null 25 | SOME "dumb" => null 26 | SOME s => init p 27 | NONE => null 28end 29 30 31end; (* struct *) 32