-(define entry-type car)
-
-(define entry-name cadr)
-
-(define (has-selector? entry) (>= (length entry) 3))
-
-(define (entry-selector entry) (list-ref entry 2))
-
-(define (has-host? entry) (>= (length entry) 4))
-
-(define (entry-host entry) (list-ref entry 3))
-
-(define (has-port? entry) (>= (length entry) 5))
-
-(define (entry-port entry) (list-ref entry 4))
-
-(define (render-entry entry default-selector default-host default-port selector-prefix)
- (let ((name-string (entry-name entry)))
- (for-each
- (lambda (name-string-line)
- (print* (entry-type entry) name-string-line)
- (print* "\t" (if (has-selector? entry)
- (if (has-host? entry)
- (entry-selector entry)
- (conc (entry-type entry)
- (make-pathname selector-prefix (entry-selector entry))))
- default-selector))
- (print* "\t" (if (has-host? entry)
- (entry-host entry)
- default-host))
- (print* "\t" (if (has-port? entry)
- (entry-port entry)
- default-port))
- (print* "\r\n"))
- (string-split name-string "\n" #t))))
-
-(define (render-index index selector-prefix this-host this-port)
- (for-each
- (lambda (entry)
- (if (eq? (entry-type entry) 'i)
- (render-entry entry "fake.selector" "fake.host" 1 selector-prefix)
- (render-entry entry "" this-host this-port selector-prefix)))
- index)
- (print "."))
-