浏览代码

Enhance handleing of spaces in filenames

mapc 12 年之前
父节点
当前提交
8c18f00713
共有 1 个文件被更改,包括 19 次插入9 次删除
  1. 19 9
      plugins/fastfile/fastfile.plugin.zsh

+ 19 - 9
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
 }