27 lines
		
	
	
	
		
			592 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			592 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/usr/bin/env zsh
 | 
						|
# Eryn Wells <eryn@erynwells.me>
 | 
						|
 | 
						|
function init_rc_configure_zle
 | 
						|
{
 | 
						|
    shell-log 'Configuring ZLE'
 | 
						|
 | 
						|
    local mode=$1
 | 
						|
    if [[ -z "$mode" ]]; then
 | 
						|
        mode=emacs
 | 
						|
    fi
 | 
						|
 | 
						|
    function configure_zle_emacs { }
 | 
						|
    function configure_zle_vim { }
 | 
						|
 | 
						|
    shell-log -l debug "Using $mode command line editing mode"
 | 
						|
    if [[ $mode == 'vim' ]]; then
 | 
						|
        bindkey -v
 | 
						|
        configure_zle_vim
 | 
						|
        zle -A .backward-delete-char vi-backward-delete-char
 | 
						|
    elif [[ $mode == 'emacs' ]]; then
 | 
						|
        bindkey -e
 | 
						|
        configure_zle_emacs
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
init_rc_configure_zle "$@"
 |