+#lang racket
+
+(define tag "tag")
+
+(define start-sequence "#+")
+
+(define tag-match? ( lambda (line)
+ (and (string-prefix? line start-sequence)
+ (string-contains? line tag))))
+
+;; TODO Make recursive
+(define files
+ (filter file-exists? (directory-list)))
+
+(define (find-file files)
+ (when (not (empty? files))
+ (define file (first files))
+ (define (find-line lines)
+ (when (not (empty? lines))
+ (if (tag-match? (first lines))
+ (displayln file)
+ (find-line (rest lines)))
+ ))
+ (find-line (file->lines file))
+ (find-file (rest files))
+ ))
+
+(find-file files)