mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-01-01 17:24:50 +01:00
45534: _hdiutil: Update image-file extensions, image/disk formats, &c.
This commit is contained in:
parent
3f7b81e24e
commit
c2e46ee43b
2 changed files with 66 additions and 24 deletions
|
@ -1,5 +1,8 @@
|
|||
2020-03-13 dana <dana@dana.is>
|
||||
|
||||
* 45534: Completion/Darwin/Command/_hdiutil: Update image-file
|
||||
extensions, image/disk formats, &c.
|
||||
|
||||
* 45531: Completion/Unix/Command/_sh: Complete options more
|
||||
accurately
|
||||
|
||||
|
|
|
@ -46,28 +46,40 @@ _hdiutil_imagesize(){
|
|||
}
|
||||
|
||||
_hdiutil_imageformat(){
|
||||
local -a fmts
|
||||
local -a fmts ofmts
|
||||
fmts=(
|
||||
"UDRW:UDIF read/write image"
|
||||
"UDRO:UDIF read-only image"
|
||||
"UDZO:UDIF zlib-compressed image"
|
||||
"UDCO:UDIF ADC-compressed image"
|
||||
"UFBI:UDIF entire image with MD5 checksum"
|
||||
"UDZO:UDIF zlib-compressed image"
|
||||
"ULFO:UDIF lzfse-compressed image"
|
||||
"ULMO:UDIF lzma-compressed image"
|
||||
"UDBZ:UDIF bzip2-compressed image"
|
||||
"UDTO:DVD/CD-R master for export"
|
||||
"UDxx:UDIF stub image"
|
||||
"UDSP:SPARSE (growable with content)"
|
||||
"Rdxx:NDIF read-only image (Disk Copy 6.3.3 format)"
|
||||
"DC42:Disk Copy 4.2 image"
|
||||
"UDSP:SPARSE (grows with content)"
|
||||
"UDSB:SPARSEBUNDLE (grows with content; bundle-backed)"
|
||||
"UFBI:UDIF entire image with MD5 checksum"
|
||||
)
|
||||
ofmts=(
|
||||
"UDRo:UDIF read-only"
|
||||
"UDCo:UDIF compressed"
|
||||
"RdWr:NDIF read/write image"
|
||||
"Rdxx:NDIF read-only image (Disk Copy 6.3.3 format)"
|
||||
"ROCo:NDIF compressed image"
|
||||
"Rken:NDIF compressed"
|
||||
"DC42:Disk Copy 4.2 image"
|
||||
"IPOD:iPod image" # Mentioned in help, not manual
|
||||
"UDxx:UDIF stub image" # Mentioned in help, not manual
|
||||
"UNIV:hybrid image (HFS+/ISO/UDF)" # Mentioned in help, not manual
|
||||
)
|
||||
_describe -t types "image format" fmts -V1 ||
|
||||
_describe -t types "obsolete/deprecated image format" ofmts -V1
|
||||
_describe -t types "obsolete/deprecated image format" ofmts -V1
|
||||
}
|
||||
|
||||
_hdiutil_images() {
|
||||
local -a expl
|
||||
_description files expl 'disk image'
|
||||
_files "$@" "${(@)expl}" -g '*.(bin|cdr|dmg|img|iso|sparse(bundle|image))(-.)'
|
||||
}
|
||||
|
||||
_hdiutil(){
|
||||
|
@ -178,7 +190,7 @@ _hdiutil(){
|
|||
"(-autoopenro)-noautoopenro" \
|
||||
"(-noautoopenrw)-autoopenrw[auto-open read/write volumes]" \
|
||||
"(-autoopenrw)-noautoopenrw" \
|
||||
"1:disk image to attach:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1:disk image to attach:_hdiutil_images" \
|
||||
&& return 0
|
||||
;;
|
||||
detach|eject)
|
||||
|
@ -195,7 +207,7 @@ _hdiutil(){
|
|||
"$_common_usage_options[-imagekey]" \
|
||||
"$_common_usage_options[-srcimagekey]" \
|
||||
"$_common_usage_options[-plist]" \
|
||||
"1:disk image to verify:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1:disk image to verify:_hdiutil_images" \
|
||||
&& return 0
|
||||
;;
|
||||
create)
|
||||
|
@ -214,8 +226,26 @@ _hdiutil(){
|
|||
"($size_spec)-srcfolder[specify directory]: :_directories" \
|
||||
"($size_spec)-srcdir[specify directory]: :_directories" \
|
||||
"-align[size to which partition is aligned]:size" \
|
||||
"-type[image type]:image type:(UDIF SPARSE)" \
|
||||
"-fs[filesystem to make]:filesystem:(HFS+ HFS+J HFSX HFS MS-DOS UFS)" \
|
||||
"-type[image type]:image type:((
|
||||
SPARSEBUNDLE\:'sparse bundle disk image'
|
||||
SPARSE\:'sparse disk image'
|
||||
UDIF\:'read/write disk image'
|
||||
UDTO\:'DVD/CD master'
|
||||
))" \
|
||||
"-fs[filesystem to make]:filesystem:((
|
||||
UDF\:'Universal Disk Format'
|
||||
MS-DOS\ FAT12\:'MS-DOS (FAT12)'
|
||||
MS-DOS\:'MS-DOS (FAT)'
|
||||
MS-DOS\ FAT16\:'MS-DOS (FAT16)'
|
||||
{FAT32,MS-DOS\ FAT32}\:'MS-DOS (FAT32)'
|
||||
ExFAT\:'ExFAT'
|
||||
HFS+\:'Mac OS Extended'
|
||||
{HFS+J,JHFS+,HFSJ,Journaled\ HFS+}\:'Mac OS Extended (journaled)'
|
||||
{HFS+X,HFSX,Case-sensitive\ HFS+}\:'Mac OS Extended (case-sensitive)'
|
||||
{JHFS+X,JHFSX,HFS+X+J,HFS+XJ,HFSXJ,Case-sensitive\ Journaled\ HFS+}\:'Mac OS Extended (case-sensitive, journaled)'
|
||||
APFS\:'APFS'
|
||||
Case-sensitive\ APFS\:'APFS (case-sensitive)'
|
||||
))" \
|
||||
"-volname[volume name]:name" \
|
||||
"-uid[uid of root directory]:uid in number" \
|
||||
"-gid[gid of root directory]:gid in number" \
|
||||
|
@ -225,7 +255,16 @@ _hdiutil(){
|
|||
"(-autostretch)-noautostretch" \
|
||||
"-stretch[max_stretch]: :_hdiutil_imagesize" \
|
||||
"-fsargs[additional arguments to pass to newfs]:arguments" \
|
||||
"-layout[partition layout]:partition layout:(NONE SPUD UNIVERSAL\ CD UNIVERSAL\ HD)" \
|
||||
"-layout[partition layout]:partition layout:((
|
||||
MBRSPUD\:'single partition, MBR'
|
||||
SPUD\:'single partition, APM'
|
||||
UNIVERSAL\ CD\:'CD/DVD'
|
||||
NONE\:'no partition map'
|
||||
GPTSPUD\:'single partition, GPT'
|
||||
SPCD\:'single partition, CD/DVD'
|
||||
UNIVERSAL\ HD\:'hard disk'
|
||||
ISOCD\:'single partition, CD/DVD with ISO data'
|
||||
))" \
|
||||
"-partitionType[partition type]:partition type:(Apple_HFS Apple_UFS)" \
|
||||
"-ov[overwrite an existing file]" \
|
||||
"-attach[attach the image after creating it]" \
|
||||
|
@ -265,7 +304,7 @@ _hdiutil(){
|
|||
"-ov[overwrite an existing file]" \
|
||||
"-format:format:_hdiutil_imageformat" \
|
||||
"-o:target disk image:_files" \
|
||||
"1:source disk image:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1:source disk image:_hdiutil_images" \
|
||||
&& return 0
|
||||
|
||||
if [[ $state = keyvalue ]]; then
|
||||
|
@ -302,7 +341,7 @@ _hdiutil(){
|
|||
"-erase[erase the media]" \
|
||||
"-fullerase[erase all sectors of the disc]" \
|
||||
"-list[list all burning devices with paths suitable for -device]" \
|
||||
"1:disk image:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1: :_hdiutil_images" \
|
||||
&& return 0
|
||||
;;
|
||||
makehybrid)
|
||||
|
@ -343,7 +382,7 @@ _hdiutil(){
|
|||
"(-nokernel)-nokernel[attach with a helper process]" \
|
||||
"(-kernel)-kernel[attach without a helper process]" \
|
||||
"-o:target disk image:_files" \
|
||||
"1:source disk image or directory:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1:source disk image or directory:_hdiutil_images" \
|
||||
&& return 0
|
||||
;;
|
||||
compact)
|
||||
|
@ -376,7 +415,7 @@ _hdiutil(){
|
|||
"$_common_usage_options[-cacert]" \
|
||||
"$_common_usage_options[-plist]" \
|
||||
"-type:image type:(UDIF-CRC32 UDIF-MD5 DC42 CRC28 CRC32 MD5)" \
|
||||
"1:disk image:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1: :_hdiutil_images" \
|
||||
&& return 0
|
||||
;;
|
||||
chpass)
|
||||
|
@ -386,7 +425,7 @@ _hdiutil(){
|
|||
"$_common_usage_options[-srcimagekey]" \
|
||||
"-oldstdinpass[specify old password from standard input]" \
|
||||
"-newstdinpass[specify new password from standard input]" \
|
||||
"1:disk image:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1: :_hdiutil_images" \
|
||||
&& return 0
|
||||
;;
|
||||
unflatten)
|
||||
|
@ -395,7 +434,7 @@ _hdiutil(){
|
|||
"$_common_usage_options[-encryption]" \
|
||||
"$_common_usage_options[-stdinpass]" \
|
||||
"$_common_usage_options[-srcimagekey]" \
|
||||
"1:disk image:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1: :_hdiutil_images" \
|
||||
&& return 0
|
||||
;;
|
||||
flatten)
|
||||
|
@ -408,7 +447,7 @@ _hdiutil(){
|
|||
"(-noxml)-xml" \
|
||||
"(-rsrcfork)-norsrcfork[don\'t embed resource fork data]" \
|
||||
"(-norsrcfork)-rsrcfork" \
|
||||
"1:disk image:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1: :_hdiutil_images" \
|
||||
&& return 0
|
||||
;;
|
||||
hfsanalyze)
|
||||
|
@ -420,7 +459,7 @@ _hdiutil(){
|
|||
"$_common_usage_options[-shadow]" \
|
||||
"$_common_usage_options[-insecurehttp]" \
|
||||
"$_common_usage_options[-cacert]" \
|
||||
"1:disk image or device:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1:disk image or device:_hdiutil_images" \
|
||||
&& return 0
|
||||
;;
|
||||
mountvol)
|
||||
|
@ -447,7 +486,7 @@ _hdiutil(){
|
|||
"$_common_usage_options[-plist]" \
|
||||
"-format[just print out the image format]" \
|
||||
"-checksum[just print out the image checksum]" \
|
||||
"1:disk image:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1: :_hdiutil_images" \
|
||||
&& return 0
|
||||
;;
|
||||
plugins)
|
||||
|
@ -462,7 +501,7 @@ _hdiutil(){
|
|||
"$_common_usage_options[-srcimagekey]" \
|
||||
"$_common_usage_options[-plist]" \
|
||||
"(-yes -no -query)"{-yes,-no,-query} \
|
||||
"1:disk image:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1: :_hdiutil_images" \
|
||||
&& return 0
|
||||
;;
|
||||
|
||||
|
@ -514,7 +553,7 @@ _hdiutil(){
|
|||
"$_common_usage_options[-insecurehttp]" \
|
||||
"$_common_usage_options[-cacert]" \
|
||||
"-options[just print out the image checksum]: :->option" \
|
||||
"1:disk image:_files -g \*.\(dmg\|sparseimage\)\(\|.bin\)\(-.\)" \
|
||||
"1: :_hdiutil_images" \
|
||||
&& return 0
|
||||
|
||||
case "$state" in
|
||||
|
|
Loading…
Reference in a new issue