/usr/share/ircII/script/history-match is in ircii 20060725-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | # 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: /home/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
}
}
}
|