summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/function2
-rw-r--r--etc/functions/anytag19
2 files changed, 20 insertions, 1 deletions
diff --git a/etc/function b/etc/function
index 82f6677..60d6454 100644
--- a/etc/function
+++ b/etc/function
@@ -7,7 +7,7 @@ autoload catch throw
autoload zargs
# own functions
-autoload chpwd dirinfo extr plonkhost put reload rtab world-readable
+autoload anytag chpwd dirinfo extr plonkhost put reload rtab world-readable
autoload xexport xsource youtube-watch
colors
diff --git a/etc/functions/anytag b/etc/functions/anytag
new file mode 100644
index 0000000..0d3c090
--- /dev/null
+++ b/etc/functions/anytag
@@ -0,0 +1,19 @@
+## vim:ft=zsh
+## anytag - tag files based on symlinks (quick&dirty)
+
+typeset -T REPLY reply ' '
+typeset cmd=$1
+typeset file tag
+
+mkdir -p .tags
+for file in *(.); do
+ eval $cmd
+ read
+ for tag in $reply; do
+ mkdir -p tags/$tag
+ (
+ cd tags/$tag
+ ln -s ../../$file
+ )
+ done
+done