You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			567 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
			
		
		
	
	
			567 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
export const bindings = [
 | 
						|
    {
 | 
						|
        name: completion_menu
 | 
						|
        modifier: none
 | 
						|
        keycode: tab
 | 
						|
        mode: [emacs vi_normal vi_insert]
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: menu name: completion_menu }
 | 
						|
                { send: menunext }
 | 
						|
                { edit: complete }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: completion_previous_menu
 | 
						|
        modifier: shift
 | 
						|
        keycode: backtab
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: { send: menuprevious }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: ide_completion_menu
 | 
						|
        modifier: control
 | 
						|
        keycode: space
 | 
						|
        mode: [emacs vi_normal vi_insert]
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: menu name: ide_completion_menu }
 | 
						|
                { send: menunext }
 | 
						|
                { edit: complete }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: history_menu
 | 
						|
        modifier: control
 | 
						|
        keycode: char_r
 | 
						|
        mode: [emacs, vi_insert, vi_normal]
 | 
						|
        event: { send: menu name: history_menu }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: help_menu
 | 
						|
        modifier: none
 | 
						|
        keycode: f1
 | 
						|
        mode: [emacs, vi_insert, vi_normal]
 | 
						|
        event: { send: menu name: help_menu }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: next_page_menu
 | 
						|
        modifier: control
 | 
						|
        keycode: char_x
 | 
						|
        mode: emacs
 | 
						|
        event: { send: menupagenext }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: undo_or_previous_page_menu
 | 
						|
        modifier: control
 | 
						|
        keycode: char_z
 | 
						|
        mode: emacs
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: menupageprevious }
 | 
						|
                { edit: undo }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: escape
 | 
						|
        modifier: none
 | 
						|
        keycode: escape
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        # NOTE: does not appear to work
 | 
						|
        event: { send: esc }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: cancel_command
 | 
						|
        modifier: control
 | 
						|
        keycode: char_c
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: { send: ctrlc }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: quit_shell
 | 
						|
        modifier: control
 | 
						|
        keycode: char_d
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: { send: ctrld }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: clear_screen
 | 
						|
        modifier: control
 | 
						|
        keycode: char_l
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: { send: clearscreen }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: search_history
 | 
						|
        modifier: control
 | 
						|
        keycode: char_q
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: { send: searchhistory }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: open_command_editor
 | 
						|
        modifier: control
 | 
						|
        keycode: char_o
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: { send: openeditor }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_up
 | 
						|
        modifier: none
 | 
						|
        keycode: up
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: menuup }
 | 
						|
                { send: up }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_down
 | 
						|
        modifier: none
 | 
						|
        keycode: down
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: menudown }
 | 
						|
                { send: down }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_left
 | 
						|
        modifier: none
 | 
						|
        keycode: left
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: menuleft }
 | 
						|
                { send: left }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_right_or_take_history_hint
 | 
						|
        modifier: none
 | 
						|
        keycode: right
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: historyhintcomplete }
 | 
						|
                { send: menuright }
 | 
						|
                { send: right }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_one_word_left
 | 
						|
        modifier: control
 | 
						|
        keycode: left
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: { edit: movewordleft }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_one_word_right_or_take_history_hint
 | 
						|
        modifier: control
 | 
						|
        keycode: right
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: historyhintwordcomplete }
 | 
						|
                { edit: movewordright }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_to_line_start
 | 
						|
        modifier: none
 | 
						|
        keycode: home
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: { edit: movetolinestart }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_to_line_start
 | 
						|
        modifier: control
 | 
						|
        keycode: char_a
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: { edit: movetolinestart }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_to_line_end_or_take_history_hint
 | 
						|
        modifier: none
 | 
						|
        keycode: end
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: historyhintcomplete }
 | 
						|
                { edit: movetolineend }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_to_line_end_or_take_history_hint
 | 
						|
        modifier: control
 | 
						|
        keycode: char_e
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: historyhintcomplete }
 | 
						|
                { edit: movetolineend }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_to_line_start
 | 
						|
        modifier: control
 | 
						|
        keycode: home
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: { edit: movetolinestart }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_to_line_end
 | 
						|
        modifier: control
 | 
						|
        keycode: end
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: { edit: movetolineend }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_down
 | 
						|
        modifier: control
 | 
						|
        keycode: char_n
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: menudown }
 | 
						|
                { send: down }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_up
 | 
						|
        modifier: control
 | 
						|
        keycode: char_p
 | 
						|
        mode: [emacs, vi_normal, vi_insert]
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: menuup }
 | 
						|
                { send: up }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: delete_one_character_backward
 | 
						|
        modifier: none
 | 
						|
        keycode: backspace
 | 
						|
        mode: [emacs, vi_insert]
 | 
						|
        event: { edit: backspace }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: delete_one_word_backward
 | 
						|
        modifier: control
 | 
						|
        keycode: backspace
 | 
						|
        mode: [emacs, vi_insert]
 | 
						|
        event: { edit: backspaceword }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: delete_one_character_forward
 | 
						|
        modifier: none
 | 
						|
        keycode: delete
 | 
						|
        mode: [emacs, vi_insert]
 | 
						|
        event: { edit: delete }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: delete_one_character_forward
 | 
						|
        modifier: control
 | 
						|
        keycode: delete
 | 
						|
        mode: [emacs, vi_insert]
 | 
						|
        event: { edit: delete }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: delete_one_character_backward
 | 
						|
        modifier: control
 | 
						|
        keycode: char_h
 | 
						|
        mode: [emacs, vi_insert]
 | 
						|
        event: { edit: backspace }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: delete_one_word_backward
 | 
						|
        modifier: control
 | 
						|
        keycode: char_w
 | 
						|
        mode: [emacs, vi_insert]
 | 
						|
        event: { edit: backspaceword }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_left
 | 
						|
        modifier: none
 | 
						|
        keycode: backspace
 | 
						|
        mode: vi_normal
 | 
						|
        event: { edit: moveleft }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: newline_or_run_command
 | 
						|
        modifier: none
 | 
						|
        keycode: enter
 | 
						|
        mode: emacs
 | 
						|
        event: { send: enter }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_left
 | 
						|
        modifier: control
 | 
						|
        keycode: char_b
 | 
						|
        mode: emacs
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: menuleft }
 | 
						|
                { send: left }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_right_or_take_history_hint
 | 
						|
        modifier: control
 | 
						|
        keycode: char_f
 | 
						|
        mode: emacs
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: historyhintcomplete }
 | 
						|
                { send: menuright }
 | 
						|
                { send: right }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: redo_change
 | 
						|
        modifier: control
 | 
						|
        keycode: char_g
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: redo }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: undo_change
 | 
						|
        modifier: control
 | 
						|
        keycode: char_z
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: undo }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: paste_before
 | 
						|
        modifier: control
 | 
						|
        keycode: char_y
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: pastecutbufferbefore }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: cut_word_left
 | 
						|
        modifier: control
 | 
						|
        keycode: char_w
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: cutwordleft }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: cut_line_to_end
 | 
						|
        modifier: control
 | 
						|
        keycode: char_k
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: cuttolineend }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: cut_line_from_start
 | 
						|
        modifier: control
 | 
						|
        keycode: char_u
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: cutfromstart }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: swap_graphemes
 | 
						|
        modifier: control
 | 
						|
        keycode: char_t
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: swapgraphemes }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_one_word_left
 | 
						|
        modifier: alt
 | 
						|
        keycode: left
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: movewordleft }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_one_word_right_or_take_history_hint
 | 
						|
        modifier: alt
 | 
						|
        keycode: right
 | 
						|
        mode: emacs
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: historyhintwordcomplete }
 | 
						|
                { edit: movewordright }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_one_word_left
 | 
						|
        modifier: alt
 | 
						|
        keycode: char_b
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: movewordleft }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: move_one_word_right_or_take_history_hint
 | 
						|
        modifier: alt
 | 
						|
        keycode: char_f
 | 
						|
        mode: emacs
 | 
						|
        event: {
 | 
						|
            until: [
 | 
						|
                { send: historyhintwordcomplete }
 | 
						|
                { edit: movewordright }
 | 
						|
            ]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: delete_one_word_forward
 | 
						|
        modifier: alt
 | 
						|
        keycode: delete
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: deleteword }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: delete_one_word_backward
 | 
						|
        modifier: alt
 | 
						|
        keycode: backspace
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: backspaceword }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: delete_one_word_backward
 | 
						|
        modifier: alt
 | 
						|
        keycode: char_m
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: backspaceword }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: cut_word_to_right
 | 
						|
        modifier: alt
 | 
						|
        keycode: char_d
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: cutwordright }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: upper_case_word
 | 
						|
        modifier: alt
 | 
						|
        keycode: char_u
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: uppercaseword }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: lower_case_word
 | 
						|
        modifier: alt
 | 
						|
        keycode: char_l
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: lowercaseword }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: capitalize_char
 | 
						|
        modifier: alt
 | 
						|
        keycode: char_c
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: capitalizechar }
 | 
						|
    }
 | 
						|
 | 
						|
    # The following bindings with `*system` events require that Nushell has
 | 
						|
    # been compiled with the `system-clipboard` feature.
 | 
						|
    # If you want to use the system clipboard for visual selection or to
 | 
						|
    # paste directly, uncomment the respective lines and replace the version
 | 
						|
    # using the internal clipboard.
 | 
						|
 | 
						|
    {
 | 
						|
        name: copy_selection
 | 
						|
        modifier: control_shift
 | 
						|
        keycode: char_c
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: copyselection }
 | 
						|
        # event: { edit: copyselectionsystem }
 | 
						|
    }
 | 
						|
 | 
						|
    {
 | 
						|
        name: cut_selection
 | 
						|
        modifier: control_shift
 | 
						|
        keycode: char_x
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: cutselection }
 | 
						|
        # event: { edit: cutselectionsystem }
 | 
						|
    }
 | 
						|
 | 
						|
    # {
 | 
						|
    #     name: paste_system
 | 
						|
    #     modifier: control_shift
 | 
						|
    #     keycode: char_v
 | 
						|
    #     mode: emacs
 | 
						|
    #     event: { edit: pastesystem }
 | 
						|
    # }
 | 
						|
 | 
						|
    {
 | 
						|
        name: select_all
 | 
						|
        modifier: control_shift
 | 
						|
        keycode: char_a
 | 
						|
        mode: emacs
 | 
						|
        event: { edit: selectall }
 | 
						|
    }
 | 
						|
]
 |