You can already just write arbitrary data to "less" if you want. For example:
function less(f::Function)
io, P = writesto(`less`, STDOUT)
try
f(io)
close(io)
wait(P)
finally
kill(P)
end
end
function less(A::Union(AbstractMatrix,AbstractVector))
less() do io
Base.print_matrix(io, A, typemax(Int), typemax(Int))
end
end
less(rand(200))
less() do io
for i = 1:200
println(io, i)
end
end
