7f64092361472e12de85f945884445e0e2274846

Author
Marc Cornellà <marc.cornella@live.com>
Committer
Igor Dejanovic <igor.dejanovic@gmail.com>
Date

Message

[vim-interaction plugin] Escaping special chars in file names and simplifying code.

Diff

 1diff --git a/plugins/vim-interaction/vim-interaction.plugin.zsh b/plugins/vim-interaction/vim-interaction.plugin.zsh
 2index b0b9414cd2aac90e3403418c6b3e38e381cbcc6b..b774be342745ade466098e3158c0c3ccc5631524 100644
 3--- a/plugins/vim-interaction/vim-interaction.plugin.zsh
 4+++ b/plugins/vim-interaction/vim-interaction.plugin.zsh
 5@@ -4,17 +4,6 @@
 6 # Derek Wyatt (derek@{myfirstnamemylastname}.org
 7 # 
 8 
 9-function resolveFile
10-{
11-  if [ -f "$1" ]; then
12-    echo $(readlink -f "$1")
13-  elif [[ "${1#/}" == "$1" ]]; then
14-    echo "$PWD/$1"
15-  else
16-    echo $1
17-  fi
18-}
19-
20 function callvim
21 {
22   if [[ $# == 0 ]]; then
23@@ -48,13 +37,10 @@ EOH
24   if [[ ${before#:} != $before && ${before%<cr>} == $before ]]; then
25     before="$before<cr>"
26   fi
27-  local files=""
28-  for f in $@
29-  do
30-    files="$files $(resolveFile $f)"
31-  done
32-  if [[ -n $files ]]; then
33-    files=':args! '"$files<cr>"
34+  local files
35+  if [[ $# -gt 0 ]]; then
36+    # absolute path of files resolving symlinks (:A) and quoting special chars (:q)
37+    files=':args! '"${@:A:q}<cr>"
38   fi
39   cmd="$before$files$after"
40   gvim --remote-send "$cmd"