1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-01-01 05:16:05 +01:00

18406: New completion for system_profiler

This commit is contained in:
luc 2014-02-06 02:50:34 +01:00 committed by Peter Stephenson
parent 137b15a447
commit 1af0d64552
2 changed files with 27 additions and 1 deletions

View file

@ -1,4 +1,10 @@
DISTFILES_SRC='
.distfiles
_defaults _fink _hdiutil _open _qtplay _softwareupdate
_defaults
_fink
_hdiutil
_open
_qtplay
_softwareupdate
_system_profiler
'

View file

@ -0,0 +1,20 @@
#compdef system_profiler
typeset -A opt_args
local context state state_descr line
local -a _data_types
# TODO: Should this be static? Calling `system_profiler -listDataTypes` takes
# about 0.07-0.08 secs on my machine. Does this list ever change (between
# different versions of OS X)?
_data_types=( SP{AirPort,Applications,Audio,Bluetooth,Camera,CardReader,Component,ConfigurationProfile,DeveloperTools,Diagnostics,DisabledSoftware,DiscBurning,Displays,Ethernet,Extensions,FibreChannel,FireWire,Firewall,Fonts,Frameworks,Hardware,HardwareRAID,InstallHistory,Logs,ManagedClient,Memory,Network,NetworkLocation,NetworkVolume,PCI,ParallelATA,ParallelSCSI,Power,PrefPane,Printers,PrintersSoftware,SAS,SPI,SerialATA,Software,StartupItem,Storage,SyncServices,Thunderbolt,USB,UniversalAccess,WWAN}DataType )
# the dynamic alternative is:
#_data_types=( ${${(f)"$(_call_program path system_profiler -listDataTypes 2>/dev/null)"}[2,-1]} )
_arguments \
'(- *)-usage' \
'(- *)-listDataTypes[lists the available datatypes]' \
'(-listDataTypes -usage)-xml[generate xml output]' \
'(-listDataTypes -usage)-detailLevel[level of detail for the report]:detail level:(mini basic full)' \
'(-listDataTypes -usage)-timeout+[maximum time to wait in seconds]' \
'(-listDataTypes -usage)*:data type:'"($_data_types)"