From 0b8697cb9f20491f9a227b27e6cab3a6831f1763 Mon Sep 17 00:00:00 2001 From: nisstyre56 Date: Thu, 20 Feb 2014 00:09:26 -0500 Subject: [PATCH] first commit --- repl.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 repl.scm diff --git a/repl.scm b/repl.scm new file mode 100644 index 0000000..d90b7d9 --- /dev/null +++ b/repl.scm @@ -0,0 +1,41 @@ +(weechat:register "GuileREPL" "wes" "0.1" "None" "Guile REPL" "" "") + +(define (displayln str) + (weechat:print buffer str)) + +(define (exec code) + (let ((mod (resolve-module '(srfi srfi-1)))) + (module-use! mod + (interaction-environment)) + (catch #t + (lambda () + (weechat:print buffer + (format "~a" + (eval-string code mod)))) + (lambda (key . parameters) + (weechat:print buffer (format "~a:~{~a ~}" key parameters)))))) + +(define (repl-input data buffer input-data) + (exec input-data) + weechat:WEECHAT_RC_OK) + +(define (repl-close data buffer) + weechat:WEECHAT_RC_OK) + +(define buffer + (weechat:buffer_new + "Guile REPL" + "repl-input" + "" + "repl-close" + "")) + +(weechat:buffer_set + buffer + "title" + "Guile REPL") + +(weechat:buffer_set + buffer + "localvar_set_no_log" "1") +