     (if (not (empty? listset))
       (let [thisls (first listset)
             [filepath & tuples] thisls]
-        ;(.write wrtr tuples)
-        (.write wrtr (str "*" filepath "\n"
-                          (format-keyword-content tuples keyword)))
+        (.write wrtr (str "* " filepath "\n"))
+        (doseq [line (check-keyword-content tuples keyword)]
+          (.write wrtr (str "** " keyword " " (format-content line))))
         (recur (rest listset)))))))
 
 
-(defn write-to-file [path]
-  (with-open [wrtr (io/writer path)]
-    (.write wrtr "test")
-    (.write wrtr "test1")))
+(defn format-content [line]
+  "line struct is '(1 [keyword content])"
+  (format "%s (in line %d)" (second (second line)) (first line))
+  )
+

      (printline filepath filter-content)
      )))

(defn format-keyword-content [tuples keyword]
  "cut content those including keyword:
return ((linenum [keyword content])..)
"
  (let [filter-content (filter #(-> (str "(?<=" keyword ":" ").*$")
                                    (re-pattern)

                               tuples)]
    ;;(print filter-content)
    (if (not (empty? filter-content))
      (map #(list (first %) (str/split (second %) #": ")) filter-content)
      )))


(defn list2tree [ls keyword]
  "make list to tree"
