## Sufix aliases
## Like, enter "somefile.ogg" and zsh will automatically open it using $audio_app
## vim:ft=zsh
# part 1: what filetypes to open whith what app?
# List of filetypes covered by aliases
filetypes=(archive audio midi video image document raw office emul web)

# File extensions
archive_formats=(tar.bz2 tar.gz tar bz2 gz zip rar)
audio_formats=(flac mp3 ogg wav wma)
midi_formats=(mid s3m)
video_formats=(avi divx flv m4v mkv mp4 mpg mpeg ogm wmv)
image_formats=(bmp jpg jpeg gif png)
document_formats=(pdf ps)
raw_formats=(conf ini log txt htm html xhtml c cpp lst)
office_formats=(doc odt ott rtf sxw)
emul_formats=(exe)
web_formats=(com de net org)

# Applications
archive_app='extr'
audio_app='mplayer'
video_app='mplayer'
midi_app='timidity'
image_app='feh -Tfull'
document_app='kpdf'
raw_app='vim'
office_app='openoffice'
emul_app='wine'
web_app='opera'

# part 2: create the aliases
for meta in $filetypes; do
	for format in $(eval echo -n "$"${meta}_formats); do 
		eval alias -s $format="$"${meta}_app
	done
	unset ${meta}_{formats,app}
done

unset filetypes meta format