62 lines
2.3 KiB
Bash
62 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
shopt -s extglob # Necessary,
|
|
#set +o nounset # otherwise some completions will fail.
|
|
|
|
complete -A hostname rsh rcp telnet rlogin r ftp ping disk
|
|
complete -A export printenv
|
|
complete -A variable export local readonly unset
|
|
complete -A enabled builtin
|
|
complete -A alias alias unalias
|
|
complete -A function function
|
|
complete -A user su mail finger
|
|
|
|
complete -A helptopic help # Currently, same as builtins.
|
|
complete -A shopt shopt
|
|
complete -A stopped -P '%' bg
|
|
complete -A job -P '%' fg jobs disown
|
|
|
|
complete -A directory mkdir rmdir
|
|
complete -A directory -o default cd
|
|
|
|
# Compression
|
|
complete -f -o default -X '*.+(zip|ZIP)' zip
|
|
complete -f -o default -X '!*.+(zip|ZIP)' unzip
|
|
complete -f -o default -X '*.+(z|Z)' compress
|
|
complete -f -o default -X '!*.+(z|Z)' uncompress
|
|
complete -f -o default -X '*.+(gz|GZ)' gzip
|
|
complete -f -o default -X '!*.+(gz|GZ)' gunzip
|
|
complete -f -o default -X '*.+(bz2|BZ2)' bzip2
|
|
complete -f -o default -X '!*.+(bz2|BZ2)' bunzip2
|
|
complete -f -o default -X '!*.+(zip|ZIP|z|Z|gz|GZ|bz2|BZ2)' extract
|
|
|
|
|
|
# Documents - Postscript,pdf,dvi.....
|
|
complete -f -o default -X '!*.+(ps|PS)' gs ghostview ps2pdf ps2ascii
|
|
complete -f -o default -X '!*.+(dvi|DVI)' dvips dvipdf xdvi dviselect dvitype
|
|
complete -f -o default -X '!*.+(pdf|PDF)' acroread pdf2ps
|
|
complete -f -o default -X \
|
|
'!*.@(@(?(e)ps|?(E)PS|pdf|PDF)?(.gz|.GZ|.bz2|.BZ2|.Z))' gv ggv
|
|
complete -f -o default -X '!*.texi*' makeinfo texi2dvi texi2html texi2pdf
|
|
complete -f -o default -X '!*.tex' tex latex slitex
|
|
complete -f -o default -X '!*.lyx' lyx
|
|
complete -f -o default -X '!*.+(htm*|HTM*)' lynx html2ps
|
|
complete -f -o default -X \
|
|
'!*.+(doc|DOC|xls|XLS|ppt|PPT|sx?|SX?|csv|CSV|od?|OD?|ott|OTT)' soffice
|
|
|
|
# Multimedia
|
|
complete -f -o default -X \
|
|
'!*.+(gif|GIF|jp*g|JP*G|bmp|BMP|xpm|XPM|png|PNG)' xv gimp ee gqview
|
|
complete -f -o default -X '!*.+(mp3|MP3)' mpg123 mpg321
|
|
complete -f -o default -X '!*.+(ogg|OGG)' ogg123
|
|
complete -f -o default -X \
|
|
'!*.@(mp[23]|MP[23]|ogg|OGG|wav|WAV|pls|m3u|xm|mod|s[3t]m|it|mtm|ult|flac)' xmms
|
|
complete -f -o default -X \
|
|
'!*.@(mp?(e)g|MP?(E)G|wma|avi|AVI|asf|vob|VOB|bin|dat|vcd|\
|
|
ps|pes|fli|viv|rm|ram|yuv|mov|MOV|qt|QT|wmv|mp3|MP3|ogg|OGG|\
|
|
ogm|OGM|mp4|MP4|wav|WAV|asx|ASX)' xine
|
|
|
|
|
|
|
|
complete -f -o default -X '!*.pl' perl perl5
|
|
|