From 52f72086c93d4b5faec06665bc352246d3f4ec3f Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 28 Feb 2014 18:44:49 +0000 Subject: users 18531 plus doc etc.: new expand-absolute-path widget --- ChangeLog | 6 ++++++ Doc/Zsh/contrib.yo | 6 ++++++ Functions/Zle/.distfiles | 1 + Functions/Zle/expand-absolute-path | 19 +++++++++++++++++++ 4 files changed, 32 insertions(+) create mode 100644 Functions/Zle/expand-absolute-path diff --git a/ChangeLog b/ChangeLog index 49dcf6b62..d4329ad4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2014-02-28 Peter Stephenson + + * users/18531 plus doc etc.: Doc/Zsh/contrib.yo, + Functions/Zle/.distfiles, Functions/Zle/expand-absolute-path: + new expand-absolute-path ZLE widget. + 2014-02-24 Peter Stephenson * Hong Xu: 32492: Completion/Unix/Command/_npm: fix outdated diff --git a/Doc/Zsh/contrib.yo b/Doc/Zsh/contrib.yo index bb294e5a5..11d596df8 100644 --- a/Doc/Zsh/contrib.yo +++ b/Doc/Zsh/contrib.yo @@ -1873,6 +1873,12 @@ Edit the command line using your visual editor, as in tt(ksh). example(bindkey -M vicmd v edit-command-line) ) +tindex(expand-absolute-path) +item(tt(expand-absolute-path))( +Expand the file name under the cursor to an absolute path, resolving +symbolic links. Where possible, the initial path segment is turned +into a named directory or reference to a user's home directory. +) tindex(history-beginning-search-backward-end) tindex(history-beginning-search-forward-end) item(tt(history-search-end))( diff --git a/Functions/Zle/.distfiles b/Functions/Zle/.distfiles index 256044fa5..5b301b62b 100644 --- a/Functions/Zle/.distfiles +++ b/Functions/Zle/.distfiles @@ -10,6 +10,7 @@ delete-whole-word-match down-case-word-match down-line-or-beginning-search edit-command-line +expand-absolute-path forward-word-match history-beginning-search-menu history-pattern-search diff --git a/Functions/Zle/expand-absolute-path b/Functions/Zle/expand-absolute-path new file mode 100644 index 000000000..b85757600 --- /dev/null +++ b/Functions/Zle/expand-absolute-path @@ -0,0 +1,19 @@ +# expand-absolute-path +# This is a ZLE widget to expand the absolute path to a file, +# using directory naming to shorten the path where possible. + +emulate -L zsh +setopt extendedglob cbases + +autoload -Uz modify-current-argument + +if (( ! ${+functions[glob-expand-absolute-path]} )); then + glob-expand-absolute-path() { + local -a files + files=(${~1}(N:A)) + (( ${#files} )) || return + REPLY=${(D)files[1]} + } +fi + +modify-current-argument glob-expand-absolute-path -- cgit 1.4.1