From 8c18f007131eb242eacae16db85b07f986b08063 Mon Sep 17 00:00:00 2001
From: mapc <musikmichael@web.de>
Date: Sun, 6 May 2012 22:26:12 +0200
Subject: Enhance handleing of spaces in filenames

---
 plugins/fastfile/fastfile.plugin.zsh | 28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)

(limited to 'plugins/fastfile')

diff --git a/plugins/fastfile/fastfile.plugin.zsh b/plugins/fastfile/fastfile.plugin.zsh
index 51e48df5b..775e9483e 100644
--- a/plugins/fastfile/fastfile.plugin.zsh
+++ b/plugins/fastfile/fastfile.plugin.zsh
@@ -32,14 +32,17 @@ default fastfile_var_prefix "ยง"
 #
 function fastfile() {
     test "$2" || 2="."
-    2=$(readlink -f "$2")
-    test "$1" || 1="$(basename "$2")"
+    file=$(readlink -f "$2")
+    
+    test "$1" || 1="$(basename "$file")"
+    name=$(echo "$1" | tr " " "_")
+
 
     mkdir -p "${fastfile_dir}"
-    echo "$2" > "$(fastfile_resolv "$1")"
+    echo "$file" > "$(fastfile_resolv "$name")"
 
     fastfile_sync
-    fastfile_print "$1"
+    fastfile_print "$name"
 }
 
 #
@@ -85,9 +88,13 @@ function fastfile_print() {
 #    (=> fastfle_print) for each shortcut
 #
 function fastfile_ls() {
-    for f in $(ls "${fastfile_dir}"); do
-	fastfile_print "$f"
-    done | column -t
+    for f in "${fastfile_dir}"/*; do 
+	file=`basename "$f"` # To enable simpler handeling of spaces in file names
+	varkey=`echo "$file" | tr " " "_"`
+
+	# Special format for colums
+	echo "${fastfile_var_prefix}${varkey}|->|$(fastfile_get "$file")"
+    done | column -t -s "|"
 }
 
 #
@@ -108,8 +115,11 @@ function fastfile_rm() {
 # Generate the aliases for the shortcuts
 #
 function fastfile_sync() {
-    for f in $(ls "${fastfile_dir}"); do
-	alias -g "${fastfile_var_prefix}${f}"="$(fastfile_get "$f")"
+    for f in "${fastfile_dir}"/*; do 
+	file=`basename "$f"` # To enable simpler handeling of spaces in file names
+	varkey=`echo "$file" | tr " " "_"`
+
+	alias -g "${fastfile_var_prefix}${varkey}"="'$(fastfile_get "$file")'"
     done
 }
 
-- 
cgit v1.2.3-70-g09d2