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"