Browse Source

first commit

master
nisstyre56 10 years ago
commit
0b8697cb9f
  1. 41
      repl.scm

41
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")