| Server IP : 104.21.73.115 / Your IP : 216.73.217.154 Web Server : Apache System : Linux vps42439 6.8.0-136-generic #136~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 3 16:29:11 UTC x86_64 User : dh_7hi3h9 ( 6349477) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/ircII/script/ |
Upload File : |
# history-match
# This is basically an attempt to emulate the behavior of tcsh's ESC-p
# eg.. /partcom^Xp looks for the completion to the command in the
# command history
# and /command partword^Xp finds the match to the partial word in the
# command history.. Try it twice as it may miss it the first time
# The other feature is that if there are several matches in the history
# you can hit ^Xp several times to move through the choices.. if you
# modify the pattern or hit return it will reset the search to something
# new..
@ RCS.ircIId = [$$Header: /local/cvs/ircii/script/history-match,v 1.2 2001/08/12 15:44:17 mrg Exp $$]
bind meta2-p parse history.expn $L
# clearing out a null pattern is tough.. so I do it any time a line is
# sent
on #-input 765 * @ history.pat = [xxnomatchxx]
alias history.expn {
if ([$0] != history.key)
{
# again, trying to get rid of a 'short' or null pattern
@ history.pat = [xxnomatchxx]
@ history.key = [$0]
}
if (history.nomatch == []) {@ history.nomatch = 1}
if (!match($(history.pat)* $1)) {@ history.pat = [$1]}
@ history.found = 0
while (!history.found)
{
if ((history.search = [$(!$(0)!)]) != [])
{
if (match($(history.pat)* $word(1 $history.search)))
{
parsekey erase_to_beg_of_line
xtype -literal $history.search
@ history.found = 1
@ history.nomatch = 0
}
}
{
# we hit the top of the history.. drop out of the while loop
@ history.found = 1
@ history.nomatch = 1
}
}
}