From 8cd07c97d3060a4360418345e43bd5264ce68e15 Mon Sep 17 00:00:00 2001 From: Bernhard Tittelbach Date: Wed, 20 Jul 2011 18:44:54 +0200 Subject: [PATCH] zshrc: provide screen hardcopy feature to complete word from words currently displayed in Screen. --- etc/zsh/zshrc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index abe6a22..1827e6b 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -1013,6 +1013,27 @@ zstyle ':completion:hist-complete:*' completer _history #k# complete word from history with menu bindkey "^X^X" hist-complete +## complete word from currently visible SCREEN buffer. +if check_com -c screen ; then + _complete_screen_display() { + [[ "$TERM" != "screen" ]] && return 1 + + local TMPFILE=$(mktemp) + local -U -a _screen_display_wordlist + trap "rm -f $TMPFILE" EXIT + + screen -X hardcopy $TMPFILE + # fill array with contents from screen hardcopy + _screen_display_wordlist=( ${(QQ)$(<$TMPFILE)} ) + # remove PREFIX to be completed from that array + _screen_display_wordlist[${_screen_display_wordlist[(i)$PREFIX]}]="" + compadd -a _screen_display_wordlist + } + #k# complete word from currently visible GNU screen buffer + bindkey -r "^XS" + compdef -k _complete_screen_display complete-word '^XS' +fi + # }}} # {{{ history -- 2.1.4