commit 0b8697cb9f20491f9a227b27e6cab3a6831f1763 Author: nisstyre56 Date: Thu Feb 20 00:09:26 2014 -0500 first commit 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") +