;;; ~/.csirc -*- scheme -*-

(set! ##sys#notices-enabled #f)
(import (chicken load))
(load-verbose #f)
(require-library chicken-doc)

(let ()
  (import (chicken format))
  (import (chicken process-context))
  (import (chicken process signal))
  (unless (get-environment-variable "INSIDE_EMACS")
    (import breadline)
    (import breadline-scheme-completion)
    (history-file (format "~a/.csi_history" (get-environment-variable "HOME")))
    (stifle-history! 10000)
    (completer-word-break-characters-set! "\"\'`;|()[] ")
    (completer-set! scheme-completer)
    (basic-quote-characters-set! "\"|")
    (variable-bind! "blink-matching-paren" "on")
    (paren-blink-timeout-set! 200000)
    (let ((handler (signal-handler signal/int)))
      (set-signal-handler! signal/int
                           (lambda (s)
                             (cleanup-after-signal!)
                             (reset-after-signal!)
                             (handler s))))
    (on-exit reset-terminal!)
    (current-input-port (make-readline-port))))

;; (import (beaker system))
;; (import (beaker egg info))

(set! ##sys#notices-enabled #t)