Server IP : 51.89.169.208 / Your IP : 216.73.216.211 Web Server : Apache System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : yellowleaf ( 1019) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/proc/thread-self/root/usr/share/zsh/5.5.1/functions/ |
Upload File : |
# Make line editor input go straight to the current TCP session. # Returns when the string $TCP_TALK_ESCAPE (default :) is read on its own. # Otherwise, $TCP_TALK_ESCAPE followed by whitespace at the start of a line # is stripped off and the rest of the line passed to the shell. # # History is not currently handled, because this is difficult. : ${TCP_TALK_ESCAPE:=:} tcp-accept-line-or-exit() { emulate -L zsh setopt extendedglob local match mbegin mend if [[ $BUFFER = ${TCP_TALK_ESCAPE}[[:blank:]]#(#b)(*) ]]; then if [[ -z $match[1] ]]; then BUFFER= zle -A .accept-line accept-line PS1=$TCP_SAVE_PS1 unset TCP_SAVE_PS1 zle -I print '\r[Normal keyboard input restored]' >&2 else BUFFER=$match[1] fi zle .accept-line else # BUGS: is deleted from the command line and doesn't appear in # the history. # The following attempt to get the BUFFER into the history falls # foul of the fact that we need to accept the current line first. # But we don't actually want to accept the current line at all. # print -s -r - $BUFFER # This is my function to send data over a TCP connection; replace # it with something else or nothing. tcp_send $BUFFER BUFFER= fi } TCP_SAVE_PS1=${PS1##\[T*\]} if [[ -o prompt_subst ]]; then PS1="T[\$TCP_SESS]$TCP_SAVE_PS1" else PS1="[T]$TCP_SAVE_PS1" fi zle -N tcp-accept-line-or-exit zle -A tcp-accept-line-or-exit accept-line