Initial revision
original commit: f0b8790150453be64f56efe6cd085245fab41877
This commit is contained in:
parent
73f48dddb1
commit
a2747d5866
35
collects/mred/prefs.ss
Normal file
35
collects/mred/prefs.ss
Normal file
|
@ -0,0 +1,35 @@
|
|||
(define mred:preferences@
|
||||
(unit/s mred:preferences^
|
||||
(import [mred:debug mred:debug^]
|
||||
[mred:exn mred:exn^])
|
||||
|
||||
(define preferences-filename
|
||||
(case wx:platform
|
||||
[(unix) (build-path (expand-path "~") ".mred.prefs")]
|
||||
[(macintosh) "Mred Preferences"]
|
||||
[else "mred.pre"])) ;; windows
|
||||
|
||||
(define preferences (make-hash-table))
|
||||
|
||||
(define get-preference
|
||||
(lambda (p)
|
||||
(hash-table-get preferences p
|
||||
(lambda ()
|
||||
(raise (mred:exn:make-exn:unknown-preference
|
||||
(format "unknown preference: ~a" p)))))))
|
||||
|
||||
(define set-preference
|
||||
(lambda (p value) (hash-table-put! preferences p value)))
|
||||
|
||||
(define defaults '((highlight-parens #t)))
|
||||
|
||||
(define restore-defaults
|
||||
(lambda ()
|
||||
(for-each (lambda (x) (apply set-preference x))
|
||||
defaults)))
|
||||
|
||||
(define save-user-preferences (lambda () (mred:debug:printf "saving prefs~n")))
|
||||
(define read-user-preferences (lambda () (mred:debug:printf "reading prefs~n")))
|
||||
|
||||
(restore-defaults)
|
||||
(read-user-preferences)))
|
Loading…
Reference in New Issue
Block a user