gitui 0.16.1

blazing fast terminal-ui for git
// bit for modifiers
// bits: 0  None 
// bits: 1  SHIFT
// bits: 2  CONTROL
//
// Note:
// If the default key layout is lower case,
// and you want to use `Shift + q` to trigger the exit event,
// the setting should like this `exit: ( code: Char('Q'), modifiers: ( bits: 1,),),`
// The Char should be upper case, and the shift modified bit should be set to 1.
(
    tab_status: ( code: Char('1'), modifiers: ( bits: 0,),),
    tab_log: ( code: Char('2'), modifiers: ( bits: 0,),),
    tab_files: ( code: Char('3'), modifiers: ( bits: 0,),),
    tab_stashing: ( code: Char('4'), modifiers: ( bits: 0,),),
    tab_stashes: ( code: Char('5'), modifiers: ( bits: 0,),),

    tab_toggle: ( code: Tab, modifiers: ( bits: 0,),),
    tab_toggle_reverse: ( code: BackTab, modifiers: ( bits: 1,),),
    toggle_workarea: ( code: Char('w'), modifiers: (bits: 0,),),

    focus_right: ( code: Char('l'), modifiers: ( bits: 0,),),
    focus_left: ( code: Char('h'), modifiers: ( bits: 0,),),
    focus_above: ( code: Char('k'), modifiers: ( bits: 0,),),
    focus_below: ( code: Char('j'), modifiers: ( bits: 0,),),

    open_help: ( code: F(1), modifiers: ( bits: 0,),),

    exit: ( code: Char('Q'), modifiers: ( bits: 1,),),
    exit_popup: ( code: Esc, modifiers: ( bits: 0,),),

    open_commit: ( code: Char('c'), modifiers: ( bits: 0,),),
    // Note: the shift modifier does not work for open_commit_editor
    // Also just plain text characters will not work because the commit 
    // msg editor will interpret them as text input
    open_commit_editor: ( code: Char('e'), modifiers: ( bits: 2,),),

    move_left: ( code: Char('h'), modifiers: ( bits: 0,),),
    move_right: ( code: Char('l'), modifiers: ( bits: 0,),),
    home: ( code: Home, modifiers: ( bits: 0,),),
    end: ( code: End, modifiers: ( bits: 0,),),
    move_up: ( code: Char('k'), modifiers: ( bits: 0,),),
    move_down: ( code: Char('j'), modifiers: ( bits: 0,),),
    page_up: ( code: Char('b'), modifiers: ( bits: 2,),),
    page_down: ( code: Char('f'), modifiers: ( bits: 2,),),
    tree_collapse_recursive: ( code: Left, modifiers: ( bits: 1,),),
    tree_expand_recursive: ( code: Right, modifiers: ( bits: 1,),),

    shift_up: ( code: Char('K'), modifiers: ( bits: 1,),),
    shift_down: ( code: Char('J'), modifiers: ( bits: 1,),),

    enter: ( code: Enter, modifiers: ( bits: 0,),),
    blame: ( code: Char('B'), modifiers: ( bits: 1,),),

    edit_file: ( code: Char('I'), modifiers: ( bits: 1,),),

    status_stage_all: ( code: Char('a'), modifiers: ( bits: 0,),),
    status_reset_item: ( code: Char('U'), modifiers: ( bits: 1,),),
    status_ignore_file: ( code: Char('i'), modifiers: ( bits: 0,),),

    diff_reset_lines: ( code: Char('u'), modifiers: ( bits: 0,),),
    diff_stage_lines: ( code: Char('s'), modifiers: ( bits: 0,),),

    stashing_save: ( code: Char('w'), modifiers: ( bits: 0,),),
    stashing_toggle_untracked: ( code: Char('u'), modifiers: ( bits: 0,),),
    stashing_toggle_index: ( code: Char('m'), modifiers: ( bits: 0,),),

    stash_apply: ( code: Char('a'), modifiers: ( bits: 0,),),
    stash_open: ( code: Char('l'), modifiers: ( bits: 0,),),
    stash_drop: ( code: Char('D'), modifiers: ( bits: 1,),),

    cmd_bar_toggle: ( code: Char('.'), modifiers: ( bits: 0,),),
    log_tag_commit: ( code: Char('t'), modifiers: ( bits: 0,),),
    commit_amend: ( code: Char('a'), modifiers: ( bits: 2,),),
    copy: ( code: Char('y'), modifiers: ( bits: 0,),),
    create_branch: ( code: Char('c'), modifiers: ( bits: 0,),),
    rename_branch: ( code: Char('r'), modifiers: ( bits: 0,),),
    select_branch: ( code: Char('b'), modifiers: ( bits: 0,),),
    delete_branch: ( code: Char('D'), modifiers: ( bits: 1,),),
    merge_branch: ( code: Char('m'), modifiers: ( bits: 0,),),
    abort_merge: ( code: Char('M'), modifiers: ( bits: 1,),),

    tags: ( code: Char('T'), modifiers: ( bits: 1,),),
    delete_tag: ( code: Char('D'), modifiers: ( bits: 1,),),
    select_tag: ( code: Enter, modifiers: ( bits: 0,),),

    push: ( code: Char('p'), modifiers: ( bits: 0,),),
    force_push: ( code: Char('P'), modifiers: ( bits: 1,),),
    pull: ( code: Char('f'), modifiers: ( bits: 0,),),

    open_file_tree: ( code: Char('F'), modifiers: ( bits: 1,),),

    //removed in 0.11
    //tab_toggle_reverse_windows: ( code: BackTab, modifiers: ( bits: 1,),),
)