alias F2 {
hadd -m autocomplete 1 abook ajinvite alias aline ame amsg anick aop auser avoice away background ban bcopy beep bread break breplace bset btrunc $&
bunset bwrite channel clear clearall cline clipboard close cnick color colour comclose comopen comreg continue copy creq ctcpreply ctcps $&
dcc dccserver dde ddeserver debug dec describe did didtok disable disconnect dlevel dline dll dns dqwindow drawcopy drawdot drawfill
hadd -m autocomplete 2 drawline drawpic drawrect drawreplace drawrot drawsave drawscroll drawtext ebeeps echo editbox emailaddr enable events exit $&
fclose filter findtext finger firewall flash flist flood flush flushini font fopen fseek fsend fserve fullname fwrite ghide gload gmove $&
gopts goto gplay gpoint gqreq groups gshow gsize gstop gtalk gunload guser hadd halt haltdef hdec hdel help hfree hinc hload hmake hop
hadd -m autocomplete 3 hsave ial ialclear ialmark identd if ignore iline inc invite iuser join kick linesep links list load loadbuf localinfo log $&
mdi me mkdir mode msg nick notice notify omsg onotice part partall pdcc perform play playctrl pop protect pvoice qme qmsg query queryrn $&
quit raw reload remini remote remove rename renwin reseterror resetidle return rlevel rline rmdir run ruser save savebuf saveini say scid
hadd -m autocomplete 4 scon server set showmirc signal sline sockaccept sockclose socklist socklisten sockmark sockopen sockread sockrename sockudp $&
sockwrite sound speak splay sreq strip timer timestamp titlebar tnick tokenize topic tray ulist unload unset unsetall updatenl url uwho $&
var vcadd vcmd vcrem vol while whois window winhelp write writeini
var %i = 1, %s, %s2 = $regsub($editbox($active),/\//g,,%s), %s3 = $count($editbox($active),/), %r2
while ($hget(autocomplete,%i)) {
if ($wildtok($hget(autocomplete,%i),$+(%s,*),1,32)) {
%r2 = $v1
.break
}
inc %i
}
if (!%r2) {
var %i = 1, %i2, %r, %r2, %s, %s2 = $regsub($editbox($active),/\//g,,%s), %s3 = $count($editbox($active),/)
while ($alias(%i)) {
if ($fopen(autocomplete)) { .fclose autocomplete }
.fopen autocomplete $+(",$alias(%i).fname,")
while (!$feof) && (!%r2) {
%r = $fread(autocomplete)
if ($regex(%r,/^(?:n\d+=)( $+ %s $+ \S+) .+$/)) && (!%i2) {
%r2 = $regml(1)
.break
}
inc %i2 $count(%r,{)
dec %i2 $count(%r,})
}
if ($fopen(autocomplete)) { .fclose autocomplete }
inc %i
}
if (!%r2) {
var %i = 1, %i2, %r, %r2, %s, %s2 = $regsub($editbox($active),/\//g,,%s), %s3 = $count($editbox($active),/)
while ($script(%i)) {
if ($fopen(autocomplete)) { .fclose autocomplete }
.fopen autocomplete $+(",$script(%i).fname,")
while (!$feof) && (!%r2) {
%r = $fread(autocomplete)
if ($regex(%r,/^(?:n\d+=)?alias ( $+ %s $+ \S+) .+$/)) && (!%i2) {
%r2 = $regml(1)
.break
}
inc %i2 $count(%r,{)
dec %i2 $count(%r,})
}
if ($fopen(autocomplete)) { .fclose autocomplete }
inc %i
}
}
}
editbox -af $iif(%r2,$+($str(/,%s3),%r2),$editbox($active))
.hfree autocomplete
}