[Bash-completion-commits] [SCM] bash-completion branch, master, updated. b33a3c5740b222680716fcf73d06b05870e8e5cc

Ville Skyttä ville.skytta at iki.fi
Wed Apr 1 21:37:25 UTC 2009


The following commit has been merged in the master branch:
commit e9456c8e53c31e8845acfc3ff223e666cd0676c7
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Thu Apr 2 00:27:47 2009 +0300

    Split mplayer and friends completions to contrib/mplayer.

diff --git a/CHANGES b/CHANGES
index 2dbef89..6831734 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,7 @@ bash-completion (1.x)
   * Add yum repolist, --enable/disablerepo, --disableexcludes, -d, and -e
     completions.
   * Add chkconfig --override and resetpriorities completions.
+  * Split mplayer and friends completions to contrib/mplayer.
 
   [ Todd Zullinger ]
   * Make yum complete on filenames after install, deplist, update and upgrade
diff --git a/Makefile.am b/Makefile.am
index eff41bb..2cb7e37 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -28,6 +28,7 @@ bashcomp_DATA = contrib/apache2ctl \
 		contrib/minicom \
 		contrib/modules \
 		contrib/monodevelop \
+		contrib/mplayer \
 		contrib/mtx \
 		contrib/net-tools \
 		contrib/p4 \
diff --git a/bash_completion b/bash_completion
index 63523fd..0246cd8 100644
--- a/bash_completion
+++ b/bash_completion
@@ -5792,344 +5792,6 @@ _xrandr()
 } &&
 complete -F _xrandr xrandr
 
-
-
-# mplayer(1) completion
-#
-have mplayer && {
-_mplayer_options_list()
-{
-	cur=${cur%\\}
-	COMPREPLY=( $( $1 $2 help 2> /dev/null | \
-		sed -e '1,/^Available/d' | awk '{print $1}' | \
-		sed -e 's/:$//' -e 's/^'${2#-}'$//' -e 's/<.*//' | \
-		grep "^$cur" ) )
-}
-
-_mplayer()
-{
-	local cmd cur prev skinsdir IFS=$' \t\n' i j k=0
-
-	COMPREPLY=()
-	cmd=${COMP_WORDS[0]}
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	case "$prev" in
-		-@(ac|afm|vc|vfm|ao|vo|vop|fstype|demuxer|vf|af))
-			_mplayer_options_list mplayer $prev
-			return 0
-			;;
-		-@(oac|ovc|of))
-			_mplayer_options_list mencoder $prev
-			return 0
-			;;
-		-audiofile)
-			_filedir '@(mp3|MP3|mpg|MPG|ogg|OGG|w?(a)v|W?(A)V|mid|MID|flac|FLAC|mka|MKA|ape|APE)'
-			return 0
-			;;
-		-font)
-			_filedir '@(desc|ttf)'
-			return 0
-			;;
-		-sub)
-			_filedir '@(srt|SRT|sub|SUB|txt|TXT|utf|UTF|rar|RAR|mpsub|smi|js|ssa|SSA|aas|AAS)'
-			return 0
-			;;
-		-vobsub)
-			_filedir '@(idx|IDX|ifo|IFO|sub|SUB)'
-			IFS=$'\t\n'
-			COMPREPLY=( $( for i in "${COMPREPLY[@]}"; do
-						if [ -f $i -a -r $i ]; then
-							echo ${i%.*}
-						else
-							echo $i
-						fi
-				       done ) )
-			IFS=$' \t\n'
-			return 0
-			;;
-		-ifo)
-			_filedir '@(ifo|IFO)'
-			return 0
-			;;
-		-cuefile)
-			_filedir '@(bin|BIN|cue|CUE)'
-			return 0
-			;;
-		-skin)
-			# if you don't have installed mplayer in /usr you
-			# may want to set the MPLAYER_SKINS_DIR global variable
-			if [ -n "$MPLAYER_SKINS_DIR" ]; then
-				skinsdir=$MPLAYER_SKINS_DIR
-			else
-				skinsdir=/usr/share/mplayer/Skin
-			fi
-
-			IFS=$'\t\n'
-			for i in ~/.mplayer/Skin $skinsdir; do
-				if [ -d $i -a -r $i ]; then
-					for j in $( compgen -d $i/$cur ); do
-						COMPREPLY[$k]=${j#$i/}
-						k=$((++k))
-					done
-				fi
-			done
-			IFS=$' \t\n'
-			return 0
-			;;
-		-@(mixer|@(cdrom|dvd)-device|dvdauth|fb|zrdev))
-			cur=${cur:=/dev/}
-			_filedir
-			return 0
-			;;
-		-@(edl?(out)|lircconf|menu-cfg|playlist|csslib|dumpfile)| \
-		-@(subfile|vobsub|aofile|fbmodeconfig|include|o|dvdkey)| \
-		-passlogfile)
-			_filedir
-			return 0
-			;;
-		-@(auto@(q|sync)|loop|menu-root|speed|sstep|aid|alang)| \
-		-@(?(@(audio|sub)-)demuxer|bandwidth|cache|chapter)| \
-		-@(dvd?(angle)|fps|frames|mc|passwd|user|sb|srate|ss|vcd)| \
-		-@(vi?(d|vo)|ffactor|sid|slang|spu@(align|aa|gauss))| \
-		-@(vobsubid|delay|bpp|brightness|contrast|dfbopts|display)| \
-		-@(fbmode|geometry|guiwid|hue|icelayer|screen[wh]|wid)| \
-		-@(monitor@(aspect|-@(dotclock|[hv]freq))|panscan|saturation)| \
-		-@(xineramascreen|zr@(crop|norm|quality|[xy]doff|[vh]dec))| \
-		-@(aspect|pp|x|y|xy|z|stereo|audio-@(density|delay|preload))| \
-		-@(endpos|osdlevel|ffourcc|sws|channels|skiplimit|format)| \
-		-@(ofps|aa@(driver|@(osd|sub)color)|vobsubout?(i@(ndex|d)))| \
-		-sub@(-bg-@(alpha|color)|cp|delay|fps|pos|align|width)| \
-		-sub@(font-@(blur|outline|autoscale|encoding|@(osd|text)-scale)))
-			return 0
-			;;
-		-lavdopts)
-			COMPREPLY=( $( compgen -W 'ec er= bug= idct= gray' \
-					-- $cur ) )
-			return 0
-			;;
-		-lavcopts)
-			COMPREPLY=( $( compgen -W 'vcodec= vqmin= vqscale= \
-					vqmax= mbqmin= mbqmax= vqdiff= \
-					vmax_b_frames= vme= vhq v4mv \
-					keyint= vb_strategy= vpass= \
-					aspect= vbitrate= vratetol= \
-					vrc_maxrate= vrc_minrate= \
-					vrc_buf_size= vb_qfactor= vi_qfactor= \
-					vb_qoffset= vi_qoffset= vqblur= \
-					vqcomp= vrc_eq= vrc_override= \
-					vrc_init_cplx= vqsquish= vlelim= \
-					vcelim= vstrict= vdpart vpsize= gray \
-					vfdct= idct= lumi_mask= dark_mask= \
-					tcplx_mask= scplx_mask= naq ildct \
-					format= pred qpel precmp= cmp= \
-					subcmp= predia= dia= trell last_pred= \
-					preme= subq= psnr mpeg_quant aic umv' \
-					-- $cur ) )
-			return 0
-			;;
-		-ssf)
-			COMPREPLY=( $( compgen -W 'lgb= cgb= ls= cs= chs= \
-					cvs=' -- $cur ) )
-			return 0
-			;;
-		-jpeg)
-			COMPREPLY=( $( compgen -W 'noprogressive progressive \
-					nobaseline baseline optimize= \
-					smooth= quality= outdir=' -- $cur ) )
-			return 0
-			;;
-		-xvidopts)
-			COMPREPLY=( $( compgen -W 'dr2 nodr2' -- $cur ) )
-			return 0
-			;;
-		-xvidencopts)
-			COMPREPLY=( $( compgen -W 'pass= bitrate= \
-					fixed_quant= me_quality= 4mv \
-					rc_reaction_delay_factor= \
-					rc_averaging_period= rc_buffer= \
-					quant_range= min_key_interval= \
-					max_key_interval= mpeg_quant \
-					mod_quant lumi_mask hintedme \
-					hintfile debug keyframe_boost= \
-					kfthreshold= kfreduction=' -- $cur ) )
-			return 0
-			;;
-		-divx4opts)
-			COMPREPLY=( $( compgen -W 'br= key= deinterlace q= \
-					min_quant= max_quant= rc_period= \
-					rc_reaction_period= crispness= \
-					rc_reaction_ratio= pass= vbrpass= \
-					help' -- $cur ) )
-			return 0
-			;;
-		-info)
-			COMPREPLY=( $( compgen -W 'name= artist= genre= \
-					subject= copyright= srcform= \
-					comment= help' -- $cur ) )
-			return 0
-			;;
-		-lameopts)
-			COMPREPLY=( $( compgen -W 'vbr= abr cbr br= q= aq= \
-					ratio= vol= mode= padding= fast \
-					preset= help' -- $cur ) )
-			return 0
-			;;
-		-rawaudio)
-			COMPREPLY=( $( compgen -W 'on channels= rate= \
-					samplesize= format=' -- $cur ) )
-			return 0
-			;;
-		-rawvideo)
-			COMPREPLY=( $( compgen -W 'on fps= sqcif qcif cif \
-					4cif pal ntsc w= h= y420 yv12 yuy2 \
-					y8 format= size=' -- $cur ) )
-			return 0
-			;;
-		-aop)
-			COMPREPLY=( $( compgen -W 'list= delay= format= fout= \
-					volume= mul= softclip' -- $cur ) )
-			return 0
-			;;
-		-dxr2)
-			COMPREPLY=( $( compgen -W 'ar-mode= iec958-encoded \
-					iec958-decoded mute ucode= 75ire bw \
-					color interlaced macrovision= norm= \
-					square-pixel ccir601-pixel cr-left= \
-					cr-right= cr-top= cr-bot= ck-rmin= \
-					ck-gmin= ck-bmin= ck-rmax= ck-gmax= \
-					ck-bmax= ck-r= ck-g= ck-b= \
-					ignore-cache= ol-osd= olh-cor= \
-					olw-cor= olx-cor= oly-cor= overlay \
-					overlay-ratio= update-cache' -- $cur ))
-			return 0
-			;;
-		-tv)
-			COMPREPLY=( $( compgen -W 'on noaudio driver= device= \
-					input= freq= outfmt= width= height= \
-					buffersize= norm= channel= chanlist= \
-					audiorate= forceaudio alsa amode= \
-					forcechan= adevice= audioid= volume= \
-					bass= treble= balance= fps= \
-					channels= immediatemode=' -- $cur ) )
-			return 0
-			;;
-		-mf)
-			COMPREPLY=( $( compgen -W 'on w= h= fps= type=' \
-					-- $cur ) )
-			return 0
-			;;
-		-cdda)
-			COMPREPLY=( $( compgen -W 'speed= paranoia= \
-					generic-dev= sector-size= overlap= \
-					toc-bias toc-offset= skip noskip' \
-					-- $cur ) )
-			return 0
-			;;
-		-input)
-			COMPREPLY=( $( compgen -W 'conf= ar-delay ar-rate \
-					keylist cmdlist js-dev file' -- $cur ) )
-			return 0
-			;;
-		-af)
-			COMPREPLY=( $( compgen -W 'resample resample= \
-					channels channels= format format= \
-					volume volume= delay delay= pan \
-					pan= sub sub= surround surround=' \
-					-- $cur ) )
-			return 0
-			;;
-		-af-adv)
-			COMPREPLY=( $( compgen -W 'force= list=' -- $cur ) )
-			return 0
-			;;
-		-profile)
-			_mplayer_options_list $cmd $prev
-			return 0
-			;;
-	esac
-
-	case "$cur" in
-		-*)
-			COMPREPLY=( $( compgen -W '-aid -alang -audio-demuxer \
-					-audiofile -cdrom-device -cache -cdda \
-					-channels -chapter -csslib -demuxer \
-					-dvd -dvd-device -dvdangle -dvdauth \
-					-dvdkey -dvdnav -forceidx -fps -frames \
-					-hr-mp3-seek -idx -mc -mf -ni -nobps \
-					-passwd -rawaudio -rtsp-stream-over-tcp\
-					-skipopening -sb -srate -ss -tv -user \
-					-vcd -vid -vivo -ifo -ffactor -font \
-					-noautosub -nooverlapsub -sid -slang \
-					-sub -subcc -subcp -sub-demuxer \
-					-subdelay -subfont-autoscale \
-					-subfont-blur -subfont-encoding \
-					-subfont-osd-scale -subfont-outline \
-					-subfont-text-scale -subfps -subfile \
-					-subpos -unicode -utf8 -vobsub \
-					-vobsubid -ac -afm -aspect -flip \
-					-lavdopts -noaspect -nosound -pp -ssf \
-					-stereo -sws -vc -vfm -vop -xvidopts\
-					-xy -zoom -bandwidth -cuefile \
-					-noextbased -rawvideo -overlapsub \
-					-sub-bg-alpha -sub-bg-color -subalign \
-					-subwidth -sub-no-text-pp -spualign \
-					-spuaa -spugauss -pphelp -verbose -v \
-					-noni -noidx -nohr-mp3-seek -extbased \
-					-bps -oldpp -nozoom -noflip -nounicode \
-					-noutf8 -profile -vf -af' -- $cur ) )
-			# add mplayer specific options
-			[[ "$cmd" == @(?(g)mplayer) ]] && COMPREPLY=( "${COMPREPLY[@]}" \
-				$(compgen -W '-autoq -autosync -benchmark \
-					-framedrop -h -help -hardframedrop \
-					-identify -input -lircconf -loop \
-					-nojoystick -nolirc -nortc -playlist \
-					-quiet -really-quiet -rnd -sdp -skin \
-					-slave -softsleep -speed -sstep \
-					-use-stdin -dumpaudio -dumpfile \
-					-dumpstream -dumpvideo -dumpmicrodvdsub\
-					-dumpmpsub -dumpsrtsub -dumpjacosub \
-					-dumpsami -dumpsub -osdlevel -af \
-					-af-adv -ao -aofile -aop -delay -mixer \
-					-nowaveheader -bpp -brightness \
-					-contrast -display -double -dr -dxr2 \
-					-fb -fbmode -fbmodeconfig -forcexv -fs \
-					-geometry -hue -icelayer -jpeg \
-					-monitor-dotclock -monitor-hfreq \
-					-monitor-vfreq -monitoraspect \
-					-nograbpointer -noslices -panscan \
-					-rootwin -saturation -screenw -screenh \
-					-stop-xscreensaver -vm -vo -vsync -wid \
-					-xineramascreen -z -zrbw -zrcrop \
-					-zrdev -zrfd -zrhelp -zrnorm -zrquality \
-					-zrvdec -zrhdec -zrxdoff -zrydoff -y \
-					-edl -edlout -enqueue -fixed-vo \
-					-menu -menu-root -menu-cfg -shuffle \
-					-format -aahelp -dfbopts -fstype \
-					-guiwid -nokeepaspect -x --help \
-					-aaosdcolor -aasubcolor -aadriver \
-					-aaextended -aaeight' -- $cur) )
-			# add mencoder specific options
-			[[ "$cmd" = mencoder ]] && COMPREPLY=( "${COMPREPLY[@]}" \
-				$(compgen -W '-audio-density -audio-delay \
-					-audio-preload -divx4opts -endpos \
-					-ffourcc -include -info -lameopts \
-					-lavcopts -noskip -o -oac -ofps -ovc \
-					-passlogfile -skiplimit -vobsubout \
-					-vobsuboutindex -vobsuboutid \
-					-xvidencopts -of --verbose' -- $cur) )
-			;;
-		*)
-			_filedir '@(mp?(e)g|MP?(E)G|wm[av]|WM[AV]|avi|AVI|asf|ASF|vob|VOB|bin|BIN|dat|DAT|vcd|VCD|ps|PS|pes|PES|fl[iv]|FL[IV]|viv|VIV|rm?(j)|RM?(J)|ra?(m)|RA?(M)|yuv|YUV|mov|MOV|qt|QT|mp[234]|MP[234]|m4[av]|M4[AV]|og[gmavx]|OG[GMAVX]|w?(a)v|W?(A)V|dump|DUMP|mk[av]|MK[AV]|m4a|M4A|aac|AAC|m2v|M2V|dv|DV|rmvb|RMVB|mid|MID|ts|TS|3g[p2]|mpc|MPC|flac|FLAC|vro|VRO|divx|DIVX|aif?(f)|AIF?(F)|m2ts|M2TS|vdr|VDR|xvid|XVID|ape|APE)'
-			;;
-	esac
-
-	return 0
-}
-complete $filenames -F _mplayer mplayer mencoder gmplayer kplayer
-}
-
 # KDE dcop completion
 #
 have dcop &&
diff --git a/contrib/mplayer b/contrib/mplayer
new file mode 100644
index 0000000..cec2912
--- /dev/null
+++ b/contrib/mplayer
@@ -0,0 +1,338 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# mplayer(1) completion
+
+have mplayer && {
+_mplayer_options_list()
+{
+	cur=${cur%\\}
+	COMPREPLY=( $( $1 $2 help 2> /dev/null | \
+		sed -e '1,/^Available/d' | awk '{print $1}' | \
+		sed -e 's/:$//' -e 's/^'${2#-}'$//' -e 's/<.*//' | \
+		grep "^$cur" ) )
+}
+
+_mplayer()
+{
+	local cmd cur prev skinsdir IFS=$' \t\n' i j k=0
+
+	COMPREPLY=()
+	cmd=${COMP_WORDS[0]}
+	cur=`_get_cword`
+	prev=${COMP_WORDS[COMP_CWORD-1]}
+
+	case "$prev" in
+		-@(ac|afm|vc|vfm|ao|vo|vop|fstype|demuxer|vf|af))
+			_mplayer_options_list mplayer $prev
+			return 0
+			;;
+		-@(oac|ovc|of))
+			_mplayer_options_list mencoder $prev
+			return 0
+			;;
+		-audiofile)
+			_filedir '@(mp3|MP3|mpg|MPG|ogg|OGG|w?(a)v|W?(A)V|mid|MID|flac|FLAC|mka|MKA|ape|APE)'
+			return 0
+			;;
+		-font)
+			_filedir '@(desc|ttf)'
+			return 0
+			;;
+		-sub)
+			_filedir '@(srt|SRT|sub|SUB|txt|TXT|utf|UTF|rar|RAR|mpsub|smi|js|ssa|SSA|aas|AAS)'
+			return 0
+			;;
+		-vobsub)
+			_filedir '@(idx|IDX|ifo|IFO|sub|SUB)'
+			IFS=$'\t\n'
+			COMPREPLY=( $( for i in "${COMPREPLY[@]}"; do
+						if [ -f $i -a -r $i ]; then
+							echo ${i%.*}
+						else
+							echo $i
+						fi
+				       done ) )
+			IFS=$' \t\n'
+			return 0
+			;;
+		-ifo)
+			_filedir '@(ifo|IFO)'
+			return 0
+			;;
+		-cuefile)
+			_filedir '@(bin|BIN|cue|CUE)'
+			return 0
+			;;
+		-skin)
+			# if you don't have installed mplayer in /usr you
+			# may want to set the MPLAYER_SKINS_DIR global variable
+			if [ -n "$MPLAYER_SKINS_DIR" ]; then
+				skinsdir=$MPLAYER_SKINS_DIR
+			else
+				skinsdir=/usr/share/mplayer/Skin
+			fi
+
+			IFS=$'\t\n'
+			for i in ~/.mplayer/Skin $skinsdir; do
+				if [ -d $i -a -r $i ]; then
+					for j in $( compgen -d $i/$cur ); do
+						COMPREPLY[$k]=${j#$i/}
+						k=$((++k))
+					done
+				fi
+			done
+			IFS=$' \t\n'
+			return 0
+			;;
+		-@(mixer|@(cdrom|dvd)-device|dvdauth|fb|zrdev))
+			cur=${cur:=/dev/}
+			_filedir
+			return 0
+			;;
+		-@(edl?(out)|lircconf|menu-cfg|playlist|csslib|dumpfile)| \
+		-@(subfile|vobsub|aofile|fbmodeconfig|include|o|dvdkey)| \
+		-passlogfile)
+			_filedir
+			return 0
+			;;
+		-@(auto@(q|sync)|loop|menu-root|speed|sstep|aid|alang)| \
+		-@(?(@(audio|sub)-)demuxer|bandwidth|cache|chapter)| \
+		-@(dvd?(angle)|fps|frames|mc|passwd|user|sb|srate|ss|vcd)| \
+		-@(vi?(d|vo)|ffactor|sid|slang|spu@(align|aa|gauss))| \
+		-@(vobsubid|delay|bpp|brightness|contrast|dfbopts|display)| \
+		-@(fbmode|geometry|guiwid|hue|icelayer|screen[wh]|wid)| \
+		-@(monitor@(aspect|-@(dotclock|[hv]freq))|panscan|saturation)| \
+		-@(xineramascreen|zr@(crop|norm|quality|[xy]doff|[vh]dec))| \
+		-@(aspect|pp|x|y|xy|z|stereo|audio-@(density|delay|preload))| \
+		-@(endpos|osdlevel|ffourcc|sws|channels|skiplimit|format)| \
+		-@(ofps|aa@(driver|@(osd|sub)color)|vobsubout?(i@(ndex|d)))| \
+		-sub@(-bg-@(alpha|color)|cp|delay|fps|pos|align|width)| \
+		-sub@(font-@(blur|outline|autoscale|encoding|@(osd|text)-scale)))
+			return 0
+			;;
+		-lavdopts)
+			COMPREPLY=( $( compgen -W 'ec er= bug= idct= gray' \
+					-- $cur ) )
+			return 0
+			;;
+		-lavcopts)
+			COMPREPLY=( $( compgen -W 'vcodec= vqmin= vqscale= \
+					vqmax= mbqmin= mbqmax= vqdiff= \
+					vmax_b_frames= vme= vhq v4mv \
+					keyint= vb_strategy= vpass= \
+					aspect= vbitrate= vratetol= \
+					vrc_maxrate= vrc_minrate= \
+					vrc_buf_size= vb_qfactor= vi_qfactor= \
+					vb_qoffset= vi_qoffset= vqblur= \
+					vqcomp= vrc_eq= vrc_override= \
+					vrc_init_cplx= vqsquish= vlelim= \
+					vcelim= vstrict= vdpart vpsize= gray \
+					vfdct= idct= lumi_mask= dark_mask= \
+					tcplx_mask= scplx_mask= naq ildct \
+					format= pred qpel precmp= cmp= \
+					subcmp= predia= dia= trell last_pred= \
+					preme= subq= psnr mpeg_quant aic umv' \
+					-- $cur ) )
+			return 0
+			;;
+		-ssf)
+			COMPREPLY=( $( compgen -W 'lgb= cgb= ls= cs= chs= \
+					cvs=' -- $cur ) )
+			return 0
+			;;
+		-jpeg)
+			COMPREPLY=( $( compgen -W 'noprogressive progressive \
+					nobaseline baseline optimize= \
+					smooth= quality= outdir=' -- $cur ) )
+			return 0
+			;;
+		-xvidopts)
+			COMPREPLY=( $( compgen -W 'dr2 nodr2' -- $cur ) )
+			return 0
+			;;
+		-xvidencopts)
+			COMPREPLY=( $( compgen -W 'pass= bitrate= \
+					fixed_quant= me_quality= 4mv \
+					rc_reaction_delay_factor= \
+					rc_averaging_period= rc_buffer= \
+					quant_range= min_key_interval= \
+					max_key_interval= mpeg_quant \
+					mod_quant lumi_mask hintedme \
+					hintfile debug keyframe_boost= \
+					kfthreshold= kfreduction=' -- $cur ) )
+			return 0
+			;;
+		-divx4opts)
+			COMPREPLY=( $( compgen -W 'br= key= deinterlace q= \
+					min_quant= max_quant= rc_period= \
+					rc_reaction_period= crispness= \
+					rc_reaction_ratio= pass= vbrpass= \
+					help' -- $cur ) )
+			return 0
+			;;
+		-info)
+			COMPREPLY=( $( compgen -W 'name= artist= genre= \
+					subject= copyright= srcform= \
+					comment= help' -- $cur ) )
+			return 0
+			;;
+		-lameopts)
+			COMPREPLY=( $( compgen -W 'vbr= abr cbr br= q= aq= \
+					ratio= vol= mode= padding= fast \
+					preset= help' -- $cur ) )
+			return 0
+			;;
+		-rawaudio)
+			COMPREPLY=( $( compgen -W 'on channels= rate= \
+					samplesize= format=' -- $cur ) )
+			return 0
+			;;
+		-rawvideo)
+			COMPREPLY=( $( compgen -W 'on fps= sqcif qcif cif \
+					4cif pal ntsc w= h= y420 yv12 yuy2 \
+					y8 format= size=' -- $cur ) )
+			return 0
+			;;
+		-aop)
+			COMPREPLY=( $( compgen -W 'list= delay= format= fout= \
+					volume= mul= softclip' -- $cur ) )
+			return 0
+			;;
+		-dxr2)
+			COMPREPLY=( $( compgen -W 'ar-mode= iec958-encoded \
+					iec958-decoded mute ucode= 75ire bw \
+					color interlaced macrovision= norm= \
+					square-pixel ccir601-pixel cr-left= \
+					cr-right= cr-top= cr-bot= ck-rmin= \
+					ck-gmin= ck-bmin= ck-rmax= ck-gmax= \
+					ck-bmax= ck-r= ck-g= ck-b= \
+					ignore-cache= ol-osd= olh-cor= \
+					olw-cor= olx-cor= oly-cor= overlay \
+					overlay-ratio= update-cache' -- $cur ))
+			return 0
+			;;
+		-tv)
+			COMPREPLY=( $( compgen -W 'on noaudio driver= device= \
+					input= freq= outfmt= width= height= \
+					buffersize= norm= channel= chanlist= \
+					audiorate= forceaudio alsa amode= \
+					forcechan= adevice= audioid= volume= \
+					bass= treble= balance= fps= \
+					channels= immediatemode=' -- $cur ) )
+			return 0
+			;;
+		-mf)
+			COMPREPLY=( $( compgen -W 'on w= h= fps= type=' \
+					-- $cur ) )
+			return 0
+			;;
+		-cdda)
+			COMPREPLY=( $( compgen -W 'speed= paranoia= \
+					generic-dev= sector-size= overlap= \
+					toc-bias toc-offset= skip noskip' \
+					-- $cur ) )
+			return 0
+			;;
+		-input)
+			COMPREPLY=( $( compgen -W 'conf= ar-delay ar-rate \
+					keylist cmdlist js-dev file' -- $cur ) )
+			return 0
+			;;
+		-af)
+			COMPREPLY=( $( compgen -W 'resample resample= \
+					channels channels= format format= \
+					volume volume= delay delay= pan \
+					pan= sub sub= surround surround=' \
+					-- $cur ) )
+			return 0
+			;;
+		-af-adv)
+			COMPREPLY=( $( compgen -W 'force= list=' -- $cur ) )
+			return 0
+			;;
+		-profile)
+			_mplayer_options_list $cmd $prev
+			return 0
+			;;
+	esac
+
+	case "$cur" in
+		-*)
+			COMPREPLY=( $( compgen -W '-aid -alang -audio-demuxer \
+					-audiofile -cdrom-device -cache -cdda \
+					-channels -chapter -csslib -demuxer \
+					-dvd -dvd-device -dvdangle -dvdauth \
+					-dvdkey -dvdnav -forceidx -fps -frames \
+					-hr-mp3-seek -idx -mc -mf -ni -nobps \
+					-passwd -rawaudio -rtsp-stream-over-tcp\
+					-skipopening -sb -srate -ss -tv -user \
+					-vcd -vid -vivo -ifo -ffactor -font \
+					-noautosub -nooverlapsub -sid -slang \
+					-sub -subcc -subcp -sub-demuxer \
+					-subdelay -subfont-autoscale \
+					-subfont-blur -subfont-encoding \
+					-subfont-osd-scale -subfont-outline \
+					-subfont-text-scale -subfps -subfile \
+					-subpos -unicode -utf8 -vobsub \
+					-vobsubid -ac -afm -aspect -flip \
+					-lavdopts -noaspect -nosound -pp -ssf \
+					-stereo -sws -vc -vfm -vop -xvidopts\
+					-xy -zoom -bandwidth -cuefile \
+					-noextbased -rawvideo -overlapsub \
+					-sub-bg-alpha -sub-bg-color -subalign \
+					-subwidth -sub-no-text-pp -spualign \
+					-spuaa -spugauss -pphelp -verbose -v \
+					-noni -noidx -nohr-mp3-seek -extbased \
+					-bps -oldpp -nozoom -noflip -nounicode \
+					-noutf8 -profile -vf -af' -- $cur ) )
+			# add mplayer specific options
+			[[ "$cmd" == @(?(g)mplayer) ]] && COMPREPLY=( "${COMPREPLY[@]}" \
+				$(compgen -W '-autoq -autosync -benchmark \
+					-framedrop -h -help -hardframedrop \
+					-identify -input -lircconf -loop \
+					-nojoystick -nolirc -nortc -playlist \
+					-quiet -really-quiet -rnd -sdp -skin \
+					-slave -softsleep -speed -sstep \
+					-use-stdin -dumpaudio -dumpfile \
+					-dumpstream -dumpvideo -dumpmicrodvdsub\
+					-dumpmpsub -dumpsrtsub -dumpjacosub \
+					-dumpsami -dumpsub -osdlevel -af \
+					-af-adv -ao -aofile -aop -delay -mixer \
+					-nowaveheader -bpp -brightness \
+					-contrast -display -double -dr -dxr2 \
+					-fb -fbmode -fbmodeconfig -forcexv -fs \
+					-geometry -hue -icelayer -jpeg \
+					-monitor-dotclock -monitor-hfreq \
+					-monitor-vfreq -monitoraspect \
+					-nograbpointer -noslices -panscan \
+					-rootwin -saturation -screenw -screenh \
+					-stop-xscreensaver -vm -vo -vsync -wid \
+					-xineramascreen -z -zrbw -zrcrop \
+					-zrdev -zrfd -zrhelp -zrnorm -zrquality \
+					-zrvdec -zrhdec -zrxdoff -zrydoff -y \
+					-edl -edlout -enqueue -fixed-vo \
+					-menu -menu-root -menu-cfg -shuffle \
+					-format -aahelp -dfbopts -fstype \
+					-guiwid -nokeepaspect -x --help \
+					-aaosdcolor -aasubcolor -aadriver \
+					-aaextended -aaeight' -- $cur) )
+			# add mencoder specific options
+			[[ "$cmd" = mencoder ]] && COMPREPLY=( "${COMPREPLY[@]}" \
+				$(compgen -W '-audio-density -audio-delay \
+					-audio-preload -divx4opts -endpos \
+					-ffourcc -include -info -lameopts \
+					-lavcopts -noskip -o -oac -ofps -ovc \
+					-passlogfile -skiplimit -vobsubout \
+					-vobsuboutindex -vobsuboutid \
+					-xvidencopts -of --verbose' -- $cur) )
+			;;
+		*)
+			_filedir '@(mp?(e)g|MP?(E)G|wm[av]|WM[AV]|avi|AVI|asf|ASF|vob|VOB|bin|BIN|dat|DAT|vcd|VCD|ps|PS|pes|PES|fl[iv]|FL[IV]|viv|VIV|rm?(j)|RM?(J)|ra?(m)|RA?(M)|yuv|YUV|mov|MOV|qt|QT|mp[234]|MP[234]|m4[av]|M4[AV]|og[gmavx]|OG[GMAVX]|w?(a)v|W?(A)V|dump|DUMP|mk[av]|MK[AV]|m4a|M4A|aac|AAC|m2v|M2V|dv|DV|rmvb|RMVB|mid|MID|ts|TS|3g[p2]|mpc|MPC|flac|FLAC|vro|VRO|divx|DIVX|aif?(f)|AIF?(F)|m2ts|M2TS|vdr|VDR|xvid|XVID|ape|APE)'
+			;;
+	esac
+
+	return 0
+}
+complete $filenames -F _mplayer mplayer mencoder gmplayer kplayer
+}

-- 
bash-completion



More information about the Bash-completion-commits mailing list