about summary refs log tree commit diff
path: root/Functions/Zftp/zfinit
diff options
context:
space:
mode:
Diffstat (limited to 'Functions/Zftp/zfinit')
-rw-r--r--Functions/Zftp/zfinit14
1 files changed, 13 insertions, 1 deletions
diff --git a/Functions/Zftp/zfinit b/Functions/Zftp/zfinit
index be827c6ac..fbe6c5979 100644
--- a/Functions/Zftp/zfinit
+++ b/Functions/Zftp/zfinit
@@ -1,3 +1,5 @@
+emulate -L zsh
+
 [[ $1 = -n ]] || zmodload -ia zftp
 
 alias zfcd='noglob zfcd'
@@ -6,6 +8,11 @@ alias zfls='noglob zfls'
 alias zfdir='noglob zfdir'
 alias zfuget='noglob zfuget'
 
+autoload -U zfanon zfautocheck zfcd zfcd_match zfcget zfclose zfcput
+autoload -U zfdir zfgcp zfget zfget_match zfgoto zfhere zfinit zfls
+autoload -U zfmark zfopen zfparams zfpcp zfput zfrglob zfrtime zfstat
+autoload -U zftp_chpwd zftp_progress zftype zfuget zfuput
+
 # only way of getting that noglob out of the way: this is unnecessary with
 # widget-based completion and can be commented out.
 setopt completealiases
@@ -14,7 +21,7 @@ setopt completealiases
 # zftp completions: only use these if new-style completion is not
 # active.
 #
-if [[ ${#patcomps} -eq 0 || ${patcomps[(i)zf*]} -gt ${#patcomps} ]]; then
+if [[ ${#_patcomps} -eq 0 || ${_patcomps[(i)zf*]} -gt ${#_patcomps} ]]; then
   compctl -f -x 'p[1]' \
     -k '(open params user login type ascii binary mode put putat
     get getat append appendat ls dir local remote mkdir rmdir delete
@@ -25,4 +32,9 @@ if [[ ${#patcomps} -eq 0 || ${patcomps[(i)zf*]} -gt ${#patcomps} ]]; then
   compctl -K zfcd_match -S/ -q zfcd zfdir zfls
   compctl -K zfget_match zfget zfgcp zfuget zfcget
   compctl -k hosts zfanon zfopen zfparams
+  compctl -s \
+    '$(awk '\''{print $1}'\'' ${ZFTP_BMFILE:-${ZDOTDIR:-$HOME}/.zfbkmarks})' \
+    -x 'W[1,-*n*]' \
+    -s '$(awk -F, '\''NR > 2 { print $1 }'\'' ~/.ncftp/bookmarks)' -- \
+    zfgoto zfmark
 fi