Yay, it all works, thanks again. BTW, it's for this hacky script that I use 
when editing text files — it pads out the second part of each line starting at 
a particular character so that all the lines are vertically aligned on that 
character (probably much easier in other editors...).

 function readwrite()
     userinput = readall(`osascript -e "display dialog \"Align on\" default 
answer \"#\""`)
     chr = chomp(last(split(userinput, ':')))
     widest = 1
     # read all input into array
     buffer = []
     while !eof(STDIN)
         line = chomp(readline(STDIN))
         chrpos = contains(line, chr)
         if chrpos
             if searchindex(line, chr) > widest
                 widest = searchindex(line, chr)
             end
         end
         push!(buffer, line)
     end
    
     for line in buffer
         chrpos = contains(line, chr)
         if chrpos && (line != "")
             # chop line in two
             chrpos = searchindex(line, chr)
             firsthalf = line[1:chrpos-1]
             secondhalf = line[chrpos:end]
             newline = rpad(firsthalf, widest, " ") * secondhalf
             println(newline)
         else
             # don't bother
             println(line)
         end
     end
 end

Reply via email to