terminal user interface to jujutsu. Focused on speed and clarity
9
fork

Configure Feed

Select the types of activity you want to include in your feed.

add option to set outline style in the focus list

Eli Dowling 16f9a71c d76b683a

+9 -3
+3 -1
forks/nottui/lib/nottui/widgets/overlays.ml
··· 43 43 [Focus.release_reversable focus] 44 44 and set [show_prompt] to [None] 45 45 on_exit *) 46 - let prompt_internal ?pad_w ?pad_h ~focus ~show_prompt ui = 46 + let prompt_internal ?pad_w ?pad_h ~focus ~show_prompt ui = 47 47 (*Build the ui so that it is either the prompt or nothing depending on whether show prompt is enabled*) 48 48 let prompt_ui = 49 49 let$* show_prompt_val = show_prompt in ··· 182 182 let selection_list_prompt_filterable 183 183 ?pad_w 184 184 ?pad_h 185 + ?list_outline_focus_attr 185 186 ?(modify_body = fun x -> x) 186 187 ?(focus = Focus.make ()) 187 188 ~show_prompt_var ··· 200 201 (*prefill the prompt if we want to *) 201 202 let prompt_field = 202 203 Selection_list.filterable_selection_list 204 + ?list_outline_focus_attr 203 205 ~filter_predicate 204 206 ~focus 205 207 ~on_confirm:(fun item -> `Finished item |> on_exit)
+1
forks/nottui/lib/nottui/widgets/overlays.mli
··· 67 67 val selection_list_prompt_filterable 68 68 : ?pad_w:int 69 69 -> ?pad_h:int 70 + -> ?list_outline_focus_attr:Notty.A.t 70 71 -> ?modify_body:(Nottui_main.ui Lwd.t -> Nottui_main.ui Lwd.t) 71 72 -> ?focus:Nottui_main.Focus.handle 72 73 -> show_prompt_var:'a filterable_selection_list_prompt_data option Lwd.var
+3 -2
forks/nottui/lib/nottui/widgets/selection_list.ml
··· 455 455 let filterable_selection_list 456 456 ?(pad_w = 1) 457 457 ?(pad_h = 0) 458 + ?list_outline_focus_attr 458 459 ?(focus = Focus.make ()) 459 460 ~filter_predicate 460 461 ?(on_esc = fun _ -> ()) ··· 488 489 in 489 490 let max_width = Lwd.var 5 in 490 491 vbox 491 - [ filter_text_ui |> Border_box.box ~pad_w ~pad_h 492 - ; ( list_ui |> Border_box.box ~pad_w ~pad_h |>$ fun x -> 492 + [ filter_text_ui |> Border_box.box ?focus_attr:list_outline_focus_attr ~pad_w ~pad_h 493 + ; ( list_ui |> Border_box.box ?focus_attr:list_outline_focus_attr ~pad_w ~pad_h |>$ fun x -> 493 494 let mw = (x |> Ui.layout_spec).mw in 494 495 if mw > Lwd.peek max_width then max_width $= mw; 495 496 x )
+1
forks/nottui/lib/nottui/widgets/selection_list.mli
··· 103 103 val filterable_selection_list 104 104 : ?pad_w:int 105 105 -> ?pad_h:int 106 + -> ?list_outline_focus_attr:Notty.A.t 106 107 -> ?focus:Nottui_main.Focus.handle 107 108 -> filter_predicate:(string -> 'a -> bool) 108 109 -> ?on_esc:('a -> unit)
+1
jj_tui/bin/jj_ui.ml
··· 192 192 |> W.Overlay.text_prompt ~char_count:true ~show_prompt_var:ui_state.show_prompt 193 193 |> W.Overlay.popup ~show_popup_var:ui_state.show_popup 194 194 |> W.Overlay.selection_list_prompt_filterable 195 + ~list_outline_focus_attr:A.(empty) (*highlighting the outline inside the propt is a bit over the top*) 195 196 ~show_prompt_var:ui_state.show_string_selection_prompt 196 197 |> inputs ~custom:(fun x -> Jj_commands.handleInputs Jj_commands.default_list x) 197 198 ;;