blob: 0d222356623f58f740fa4defa8bff0a70b25507d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
;;; 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)
|