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.

backup opam

+58 -10
+1
jj_tui/bin/dune
··· 1 1 (executable 2 2 (public_name jj_tui) 3 3 (name main) 4 + (flags (:standard -cclib -static -cclib -no-pie )) 4 5 (libraries jj_tui feather lwd nottui base core stdio core_unix.command_unix eio_main eio-process ) 5 6 )
+44 -6
jj_tui/bin/jj_commands.ml
··· 8 8 9 9 type cmd_args = string list 10 10 11 - (**`Prompt`:Allows running one command and then running another using the input of the first*) 11 + (**`Prompt`:Allows running one command and then running another using the input of the first*) 12 12 type command_variant = 13 13 | Cmd of cmd_args 14 14 | Cmd_I of cmd_args ··· 188 188 description = "Rebase revision and its decendents"; 189 189 cmd = 190 190 Prompt 191 - ("destination for decendent rebase", [ "rebase"; "-s"; "@"; "-d" ]); 191 + ("Destination for decendent rebase", [ "rebase"; "-s"; "@"; "-d" ]); 192 192 }; 193 193 { 194 194 key = 'b'; 195 195 description = "Rebase revision and all other revissions on its branch"; 196 196 cmd = 197 - Prompt ("destination for branch rebase", [ "rebase"; "-b"; "@"; "-d" ]); 197 + Prompt ("Destination for branch rebase", [ "rebase"; "-b"; "@"; "-d" ]); 198 + }; 199 + ]; 200 + }; 201 + { 202 + key = 'g'; 203 + description = "Git commands"; 204 + cmd = 205 + SubCmd 206 + [ 207 + { key = 'p'; description = "git push branch"; cmd = Cmd [ "git"; "push" ] }; 208 + { key = 'f'; description = "git fetch"; cmd = Cmd [ "git"; "fetch" ] }; 209 + ]; 210 + }; 211 + { 212 + key = 'z'; 213 + description = 214 + "Parallelize commits. Takes 2 commits and makes them have the same parent and \ 215 + child. Run `jj parallelize --help for more explanation` "; 216 + cmd = 217 + PromptThen 218 + ( "list commits to parallelize", 219 + fun x -> Cmd ([ "paralellize" ] @ (x |> String.split_on_char ' ')) ); 220 + }; 221 + { 222 + key = 'a'; 223 + description = "Abandon this change(removes just this change and rebases parents)"; 224 + cmd = 225 + SubCmd 226 + [ 227 + { 228 + key = 'a'; 229 + description = "Yes i want to abandon the change"; 230 + cmd = Cmd [ "abandon" ]; 198 231 }; 199 232 ]; 200 233 }; ··· 207 240 { 208 241 key = 'c'; 209 242 description = "Create new branches"; 210 - cmd = Prompt ("Branch names to create", [ "branch"; "create" ]); 243 + cmd = 244 + PromptThen 245 + ( "Branch names to create", 246 + fun x -> 247 + Cmd ([ "branch"; "create" ] @ (x |> String.split_on_char ' ')) ); 211 248 }; 212 249 { 213 250 key = 'd'; ··· 231 268 { 232 269 key = 't'; 233 270 description = "track given remote branch"; 234 - cmd = Prompt ("Branch to track 'branch@remote'", [ "branch"; "track"; ]); 271 + cmd = Prompt ("Branch to track 'branch@remote'", [ "branch"; "track" ]); 235 272 }; 236 273 { 237 274 key = 'u'; 238 275 description = "untrack given remote branch"; 239 - cmd = Prompt ("Branch to untrack 'branch@remote'", [ "branch"; "untrack"; ]); 276 + cmd = Prompt ("Branch to untrack 'branch@remote'", [ "branch"; "untrack" ]); 240 277 }; 241 278 ]; 242 279 }; ··· 246 283 let rec handleCommand description cmd = 247 284 let noOut args = 248 285 let _ = jj args in 286 + Global_funcs.on_change (); 249 287 () 250 288 in 251 289 let prompt str cmd =
+5 -4
jj_tui/flake.nix
··· 35 35 default = 36 36 37 37 pkgs.mkShell { 38 - packages = with pkgs; [ pkgs.pkg-config gmp stdenv.cc.cc.lib jujutsu ]; 38 + packages = with pkgs; [ pkgs.pkgsStatic.pkg-config pkgs.pkgsStatic.gmp pkgsStatic.stdenv.cc.cc.lib jujutsu musl pkgs.pkgsStatic.dune ]; 39 39 shellHook = let 40 40 libPath = 41 - pkgs.lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib pkgs.gmp ]; 41 + pkgs.lib.makeLibraryPath [ pkgs.pkgsStatic.stdenv.cc.cc.lib pkgs.pkgsStatic.gmp pkgs.pkgsStatic.musl ]; 42 42 in '' 43 + export CC=${pkgs.pkgsStatic.musl.stdenv.cc} 43 44 # yolo 44 - export CFLAGS="$CFLAGS -I${pkgs.stdenv.cc.cc.lib}/include -I${pkgs.gmp}/include" 45 - export LIBS="$LIBS -L${pkgs.stdenv.cc.cc.lib}/lib -L${pkgs.gmp}/lib" 45 + export CFLAGS="$CFLAGS -I${pkgs.pkgsStatic.stdenv.cc.cc.lib}/include -I${pkgs.pkgsStatic.gmp}/include" 46 + export LIBS="$LIBS -L${pkgs.pkgsStatic.stdenv.cc.cc.lib}/lib -L${pkgs.pkgsStatic.gmp}/lib" 46 47 ''; 47 48 }; 48 49
+8
jj_tui/todo.norg
··· 7 7 - This is just pointless work, the working copy should be updated 8 8 *** Update the working copy when re-selecting the window 9 9 -also run status ofcourse 10 + 11 + *** Overhaul 12 + - Remove n and p as standard way to navigate 13 + - adjust the graph rendering or use my own list to be able to navigate through commits without moving the actual working copy. 14 + -- I could do that by having a selection ontop of the graph that is independant to the working copy 15 + -- I could adjust the graph so that the checked out working copy is seperate from the actual working copy 16 + 10 17 ** Make better use uf `jj log -r '@|@-' -T 'template'` style commands 11 18 ** Make window the shows current file status and window that shows branches 19 +