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.ml19
1 files changed, 10 insertions, 9 deletions
diff --git a/lib/stitched_article.ml b/lib/stitched_article.ml
index 86a22e9..d053fe1 100644
--- a/lib/stitched_article.ml
+++ b/lib/stitched_article.ml
@@ -13,13 +13,15 @@ type state =
; goto_todos_view : (unit -> unit) -> unit
; goto_done_view : (unit -> unit) -> unit
; output : string option
- ; tag : string
+ ; tag : string list
}
let title ~tag =
match tag with
- | "" -> I.strf ~attr:A.(st bold) "%s" "Notes" |> I.pad ~l:0 ~t:0
- | a -> I.strf ~attr:A.(st bold) "%s > %s" "Notes" a |> I.pad ~l:0 ~t:0
+ | [] -> I.strf ~attr:A.(st bold) "%s" "Notes" |> I.pad ~l:0 ~t:0
+ | _ ->
+ let tags_str = String.concat " > " tag in
+ I.strf ~attr:A.(st bold) "%s > %s" "Notes" tags_str |> I.pad ~l:0 ~t:0
let content_start = 1
@@ -50,8 +52,7 @@ let rec render
and elements =
Array.mapi
(fun i (_, el) -> Compontent.current_line size_x y scroll el (i + content_start))
- (* TODO: Fix this ugly slow conversion *)
- (Array.to_seq content_pretty |> Seq.drop scroll |> Array.of_seq)
+ (content_pretty |> Basic.array_drop scroll)
in
let open I in
output_info </> Array.fold_left (fun sum el -> el </> sum) (title ~tag) elements
@@ -97,7 +98,7 @@ let rec render
in
let result = Export.to_path path ~content:export in
render t { state with output = Some result })
- else render t { state with output = Some "Export Blank; skipping" })
+ else render t { state with output = Some "Export blank; skipping" })
; on_cancel =
(fun _ ->
Common.Term.cursor t None;
@@ -163,10 +164,10 @@ let rec render
; user_input = ""
; prompt = "REGEXP"
; on_enter =
- (fun tag ->
+ (fun new_tag ->
try
- let content = Grep.get_file_names tag |> Array.of_list in
let oc = open_out "/tmp/stitch-output" in
+ let content = Grep.get_file_names (new_tag :: tag) |> Array.of_list in
Printf.fprintf oc "%s\n" (String.concat "\n" (content |> Array.to_list));
close_out oc;
let content =
@@ -187,7 +188,7 @@ let rec render
; content_pretty
; pos = 0, content_start
; scroll = 0
- ; tag
+ ; tag = new_tag :: tag
}
with
| _ ->