mirror of
				https://github.com/dcarrillo/prezto.git
				synced 2025-11-04 07:29:09 +00:00 
			
		
		
		
	[#23] Rename plugins to modules
This commit is contained in:
		
							
								
								
									
										14
									
								
								modules/archive/completions/_extract
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								modules/archive/completions/_extract
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
#compdef extract
 | 
			
		||||
#autoload
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Completes extract.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
_arguments \
 | 
			
		||||
  '(-r --remove)'{-r,--remove}'[remove archive]' \
 | 
			
		||||
  "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|rar|7z|deb)(-.)'" && return 0
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										14
									
								
								modules/archive/completions/_ls-archive
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								modules/archive/completions/_ls-archive
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
#compdef ls-archive
 | 
			
		||||
#autoload
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Completes ls-archive.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
_arguments \
 | 
			
		||||
  '(-v --verbose)'{-v,--remove}'[verbose archive listing]' \
 | 
			
		||||
  "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|rar|7z)(-.)'" && return 0
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										77
									
								
								modules/archive/functions/extract
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								modules/archive/functions/extract
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
			
		||||
#
 | 
			
		||||
# Extracts the contents of popular archive formats.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
local remove_archive
 | 
			
		||||
local success
 | 
			
		||||
local file_name
 | 
			
		||||
local extract_dir
 | 
			
		||||
 | 
			
		||||
if (( $# == 0 )); then
 | 
			
		||||
  cat >&2 <<EOF
 | 
			
		||||
usage: $0 [-option] [file ...]
 | 
			
		||||
 | 
			
		||||
options:
 | 
			
		||||
    -r, --remove    remove archive
 | 
			
		||||
 | 
			
		||||
Report bugs to <sorin.ionescu@gmail.com>.
 | 
			
		||||
EOF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
remove_archive=1
 | 
			
		||||
if [[ "$1" == "-r" || "$1" == "--remove" ]]; then
 | 
			
		||||
  remove_archive=0
 | 
			
		||||
  shift
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
while (( $# > 0 )); do
 | 
			
		||||
  if [[ ! -f "$1" ]]; then
 | 
			
		||||
    print "$0: file not valid: $1" >&2
 | 
			
		||||
    shift
 | 
			
		||||
    continue
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  success=0
 | 
			
		||||
  file_name="${1:t}"
 | 
			
		||||
  extract_dir="${file_name:r}"
 | 
			
		||||
  case "$1" in
 | 
			
		||||
    (*.tar.gz|*.tgz) tar xvzf "$1" ;;
 | 
			
		||||
    (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
 | 
			
		||||
    (*.tar.xz|*.txz) tar --xz --help &> /dev/null \
 | 
			
		||||
      && tar --xz -xvf "$1" \
 | 
			
		||||
      || xzcat "$1" | tar xvf - ;;
 | 
			
		||||
    (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
 | 
			
		||||
      && tar --lzma -xvf "$1" \
 | 
			
		||||
      || lzcat "$1" | tar xvf - ;;
 | 
			
		||||
    (*.tar) tar xvf "$1" ;;
 | 
			
		||||
    (*.gz) gunzip "$1" ;;
 | 
			
		||||
    (*.bz2) bunzip2 "$1" ;;
 | 
			
		||||
    (*.xz) unxz "$1" ;;
 | 
			
		||||
    (*.lzma) unlzma "$1" ;;
 | 
			
		||||
    (*.Z) uncompress "$1" ;;
 | 
			
		||||
    (*.zip) unzip "$1" -d $extract_dir ;;
 | 
			
		||||
    (*.rar) unrar e -ad "$1" ;;
 | 
			
		||||
    (*.7z) 7za x "$1" ;;
 | 
			
		||||
    (*.deb)
 | 
			
		||||
      mkdir -p "$extract_dir/control"
 | 
			
		||||
      mkdir -p "$extract_dir/data"
 | 
			
		||||
      cd "$extract_dir"; ar vx "../${1}" > /dev/null
 | 
			
		||||
      cd control; tar xzvf ../control.tar.gz
 | 
			
		||||
      cd ../data; tar xzvf ../data.tar.gz
 | 
			
		||||
      cd ..; rm *.tar.gz debian-binary
 | 
			
		||||
      cd ..
 | 
			
		||||
    ;;
 | 
			
		||||
    (*)
 | 
			
		||||
      print "$0: cannot extract: $1" >&2
 | 
			
		||||
      success=1
 | 
			
		||||
    ;;
 | 
			
		||||
  esac
 | 
			
		||||
 | 
			
		||||
  (( success = $success > 0 ? $success : $? ))
 | 
			
		||||
  (( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1"
 | 
			
		||||
  shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										54
									
								
								modules/archive/functions/ls-archive
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								modules/archive/functions/ls-archive
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
#
 | 
			
		||||
# Lists the contents of popular archive formats.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
local verbose
 | 
			
		||||
 | 
			
		||||
if (( $# == 0 )); then
 | 
			
		||||
  cat >&2 <<EOF
 | 
			
		||||
usage: $0 [-option] [file ...]
 | 
			
		||||
 | 
			
		||||
options:
 | 
			
		||||
    -v, --verbose    verbose archive listing
 | 
			
		||||
 | 
			
		||||
Report bugs to <sorin.ionescu@gmail.com>.
 | 
			
		||||
EOF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [[ "$1" == "-v" || "$1" == "--verbose" ]]; then
 | 
			
		||||
  verbose=0
 | 
			
		||||
  shift
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
while (( $# > 0 )); do
 | 
			
		||||
  if [[ ! -f "$1" ]]; then
 | 
			
		||||
    print "$0: file not valid: $1" >&2
 | 
			
		||||
    shift
 | 
			
		||||
    continue
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  case "$1" in
 | 
			
		||||
    (*.tar.gz|*.tgz) tar t${verbose:+v}vzf "$1" ;;
 | 
			
		||||
    (*.tar.bz2|*.tbz|*.tbz2) tar t${verbose:+v}jf "$1" ;;
 | 
			
		||||
    (*.tar.xz|*.txz) tar --xz --help &> /dev/null \
 | 
			
		||||
      && tar --xz -t${verbose:+v}f "$1" \
 | 
			
		||||
      || xzcat "$1" | tar t${verbose:+v}f - ;;
 | 
			
		||||
    (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
 | 
			
		||||
      && tar --lzma -t${verbose:+v}f "$1" \
 | 
			
		||||
      || lzcat "$1" | tar x${verbose:+v}f - ;;
 | 
			
		||||
    (*.tar) tar t${verbose:+v}f "$1" ;;
 | 
			
		||||
    (*.zip) unzip -l${verbose:+v} "$1" ;;
 | 
			
		||||
    (*.rar) unrar ${${verbose:+v}:-l} "$1" ;;
 | 
			
		||||
    (*.7z) 7za l "$1" ;;
 | 
			
		||||
    (*)
 | 
			
		||||
			print "$0: cannot list: $1" >&2
 | 
			
		||||
      success=1
 | 
			
		||||
    ;;
 | 
			
		||||
  esac
 | 
			
		||||
 | 
			
		||||
  shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user