rendered paste bodyalias syntax {
; change colors here, zero padding isnt necessary
var %ident = 4 | ; identifiers
var %vars = 7 | ; variables
var %comm = 2 | ; commands and switches
var %paren = 6 | ; identifier syntax characters eg. ,()
var %chars = 3 | ; command syntax characters eg. [] {} |
; do not change the following! unless you really want to
var %__ident = /(?<=^|[ ,(])(\$(?!\?)[^\s\50]*?|#)(?=[,) ]|$)/gS, $&
%_vars = /(?<=^|[ ,(])(%\C*?)(?=[,) ]|$)/g, $&
%_comm = /(?<=^| )(?:(?<=[{|] )|(?=\/+))(\S*(?: -\w+)?)/g, $&
%_chars = /(?<=^| )([[\]{}|])(?= |$)/g, $&
%_$? = /(?<=^|[ ,\50])(\$\?[!*]?(?:=?")?)(?(?<=")(\C*?)(")|)/g, $&
%_ident = /(?<=^|[\17,( ])(\$[^\s(]*(?=\())(\(((?:[^()]*+|(?2))*)\))/g
noop $regsub($1-,%__ident,$syn(%ident),%o) $regsub(%o,%_vars,$syn(%vars),%o) $regsub(%o,%_comm,$syn(%comm),%o) $&
$regsub(%o,%_chars,$syn(%chars),%o) $regsub(%o,%_$?,$+($syn(%ident),\2,$syn(%ident,\3)),%o)
while ($regsubex(%o,%_ident,$+( [ $syn(%ident) ] , [ $syn(%paren,$cr) ] ,$replace(\3,$chr(44),$+($chr(3),%paren,$chr(44),$chr(15))) , [ $syn(%paren,$lf) ] )) != %o) %o = $v1
$iif($isid,RETURNEX,echo -ag) $replace(%o,$cr,$chr(40),$lf,$chr(41))
}
alias -l syn return $+($chr(3),$1,$iif($2,$2,\1),$chr(15))
on &*:input:*:{
if ($left($1,1) !isin $readini($mircini,text,commandchar) /) || ($ctrlenter) $&
&& ($istok(channel chat query,$window($active).type,32)) {
say $$syntax($1-)
halt
}
}
on &^*:text:*:*:{
echo -mbflirtc norm $iif(#,#,$nick) $+(<,$iif($left($nick(#,$nick).pnick,1) isin $prefix,$v1),$nick,>) $$syntax($1-)
halt
}