;;; csirc --- initialization file for chicken scheme interpreter -*- scheme -*- ;; import ease-of-life stuff (set! ##sys#notices-enabled #f) (import (chicken load)) (load-verbose #f) ;;; Libraries for interactive development ;; see also https://www.upyum.com/en/post/7.xhtml (import (live-define) (srfi 18)) ;; chicken-doc (require-library chicken-doc) ;; set up breadline (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/chicken/csi_history" (or (get-environment-variable "XDG_DATA_HOME") (format "~a/~a" (get-environment-variable "HOME") (".local/share"))))) (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)))) (set! ##sys#notices-enabled #t)