mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 13:21:19 +08:00 
			
		
		
		
	fix(history): add warning before deleting command history in history -c (#12472)
				
					
				
			This commit is contained in:
		
							parent
							
								
									59e8e028e1
								
							
						
					
					
						commit
						35a6725970
					
				@ -1,14 +1,22 @@
 | 
			
		||||
## History wrapper
 | 
			
		||||
function omz_history {
 | 
			
		||||
  # parse arguments and remove from $@
 | 
			
		||||
  local clear list stamp
 | 
			
		||||
  local clear list stamp REPLY
 | 
			
		||||
  zparseopts -E -D c=clear l=list f=stamp E=stamp i=stamp t:=stamp
 | 
			
		||||
 | 
			
		||||
  if [[ -n "$clear" ]]; then
 | 
			
		||||
    # if -c provided, clobber the history file
 | 
			
		||||
    echo -n >| "$HISTFILE"
 | 
			
		||||
 | 
			
		||||
    # confirm action before deleting history
 | 
			
		||||
    print -nu2 "This action will irreversibly delete your command history. Are you sure? [y/N] "
 | 
			
		||||
    builtin read -k1
 | 
			
		||||
    [[ "$REPLY" = $'\n' ]] || print -u2
 | 
			
		||||
    [[ "$REPLY" != ([nN]|$'\n') ]] || return 0
 | 
			
		||||
 | 
			
		||||
    print -nu2 >| "$HISTFILE"
 | 
			
		||||
    fc -p "$HISTFILE"
 | 
			
		||||
    echo >&2 History file deleted.
 | 
			
		||||
 | 
			
		||||
    print -u2 History file deleted.
 | 
			
		||||
  elif [[ $# -eq 0 ]]; then
 | 
			
		||||
    # if no arguments provided, show full history starting from 1
 | 
			
		||||
    builtin fc $stamp -l 1
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user