summaryrefslogtreecommitdiff
path: root/etc/aliases/suffix
diff options
context:
space:
mode:
Diffstat (limited to 'etc/aliases/suffix')
-rw-r--r--etc/aliases/suffix40
1 files changed, 40 insertions, 0 deletions
diff --git a/etc/aliases/suffix b/etc/aliases/suffix
new file mode 100644
index 0000000..95b763a
--- /dev/null
+++ b/etc/aliases/suffix
@@ -0,0 +1,40 @@
+## 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='x-www-browser'
+
+# 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