diff -r c032d39eafcf -r 3f68f355bf1a zshrc.d/30-functions-ftupdir.zrc --- a/zshrc.d/30-functions-ftupdir.zrc Sun Jul 15 01:13:18 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ - -# Customized version from Frank Terbeck' scripts -# http://bewatermyfriend.org/p/2011/013/ -# "." will display the current working directory -# ".." will get you 1 directory up, -# "..." will get you 2 directories up, etc. -function ft_accept_line_cd_up() { - setopt local_options extended_glob - local -a cmdline - cmdline=( ${(z)BUFFER} ) - if (( ${#cmdline} == 1 )) && [[ ${cmdline[1]} == "." ]] ; then - BUFFER="pwd" - zle ".$WIDGET" - return - fi - if (( ${#cmdline} == 1 )) && [[ ${cmdline[1]} == ..## ]] ; then - BUFFER='cd ' - for (( i = 2; i <= ${#${cmdline[1]}}; i++ )); do - BUFFER="${BUFFER}../" - done - BUFFER=${BUFFER%/} - fi - zle ".$WIDGET" -} -zle -N accept-line ft_accept_line_cd_up - -# 2nd part, completion support... -function ft_complete_with_dots() { - setopt local_options extended_glob - local -a cmdline - cmdline=( ${(z)BUFFER} ) - if (( ${#cmdline} == 1 )) && [[ ${cmdline[1]} == ..## ]] ; then - BUFFER='cd ' - for (( i = 2; i <= ${#${cmdline[1]}}; i++ )); do - BUFFER="${BUFFER}../" - done - CURSOR=${#BUFFER} - fi - zle ".$WIDGET" -} -# Disabling for now as I don't know how to fallback to automatic correction... -#zle -N expand-or-complete ft_complete_with_dots