X-Git-Url: http://christophe.rhodes.io/gitweb/?p=swankr.git;a=blobdiff_plain;f=swank-media.R;h=12405265e31de9d8285fa128e98d9a68c21838f1;hp=6e81dbbe82399b7704bcb43a6aaf86c1126d5152;hb=fdb4f4d744580b9dc6db92489610f32e42cec15e;hpb=3cf3720a2c0a72d6f722a9b990891a27301fadcf diff --git a/swank-media.R b/swank-media.R index 6e81dbb..1240526 100644 --- a/swank-media.R +++ b/swank-media.R @@ -15,5 +15,36 @@ makeMediaReplResult.trellis <- function(value) { quote(`:file`), filename)), deparse(value$call, nlines=1)) } +makeMediaReplResult.ggplot <- function(value) { + filename <- tempfile("swank-media-") + png(filename, width=320, height=200) + print(value) + dev.off() + list(quote(`:write-image`), list(list(quote(`:type`), quote(png), + quote(`:file`), filename)), + deparse(value$call, nlines=1)) +} + +makeMediaReplResult.numeric <- function(value) { + string <- paste(deparse(value), sep="", collapse="\n") + list(quote(`:write-string`), string, quote(`:repl-result`)) +} +makeMediaReplResult.complex <- function(value) { + string <- paste(deparse(value), sep="", collapse="\n") + list(quote(`:write-string`), string, quote(`:repl-result`)) +} + +makeMediaReplResult.array <- function(value) { + makeMediaReplResult.default(value) +} +makeMediaReplResult.matrix <- function(value) { + makeMediaReplResult.default(value) +} + +makeMediaReplResult.help_files_with_topic <- function(value) { + string <- helpFilesWithTopicString(value) + list(quote(`:popup-buffer`), sprintf("*slime-help(%s)*", attr(value, "topic")), + string, quote(`ess-help-mode`)) +} makeReplResultFunction <- makeMediaReplResult