aboutsummaryrefslogtreecommitdiff
path: root/lib/stitched_article.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/stitched_article.ml')
-rw-r--r--lib/stitched_article.ml17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/stitched_article.ml b/lib/stitched_article.ml
index 86a22e9..d333747 100644
--- a/lib/stitched_article.ml
+++ b/lib/stitched_article.ml
@@ -22,6 +22,20 @@ let title ~tag =
| a -> I.strf ~attr:A.(st bold) "%s > %s" "Notes" a |> I.pad ~l:0 ~t:0
+let refresh tag =
+ let content = Grep.get_file_names tag |> Array.of_list in
+ let oc = open_out "/tmp/stitch-output" in
+ Printf.fprintf oc "%s\n" (String.concat "\n" (content |> Array.to_list));
+ close_out oc;
+ let content =
+ Array.map (fun file_name -> Grep.get_full_file_content_content file_name) content
+ |> Array.to_list
+ in
+ let content = Grep.parse_full_content content in
+ let content_pretty = Grep.pretty_print_parsed_content content |> Array.of_list in
+ content |> Array.of_list, content_pretty
+
+
let content_start = 1
(* TODO: Use grep -l to filter notes by regexp and rerender those files*)
@@ -235,7 +249,8 @@ let rec render
match Unix.wait () with
| _, _ ->
Common.Term.cursor t None;
- render t state
+ let content, content_pretty = refresh tag in
+ render t { state with content; content_pretty }
(* Capture resizing events *)
| exception Unix.Unix_error (Unix.EINTR, _, _) -> run_editor ()
| exception Unix.Unix_error (_, str_err, str_err_2) ->