Factoring polynomials over the irrationals/reals/complex numbers?



I'd like to be able to coerce the factor command (and even better, the
partfrac command) to be able to deal with factorization over the algebraic
irrationals.  So that, for example

factor(x^2-x-4,real) => (x+sqrt(5)-1)(x-sqrt(5)-1)

and

partfrac(1/(x^2-x-4),real) =>
(sqrt(5)/10)*1/(x-sqrt(5)-1)-(sqrt(5)/10)*1/(x+sqrt(5)-1)

And I'd like to be able to work with complex algebraic irrationals also.

Is there any way I can do this?

Thanks,
Alasdair