add: /* color codes */ if (client.COLORCODES) { e.line = e.line.replace(/%U/g, "\x1f"); e.line = e.line.replace(/%B/g, "\x02"); e.line = e.line.replace(/%O/g, "\x0f"); e.line = e.line.replace(/%C/g, "\x03"); e.line = e.line.replace(/%R/g, "\x16"); } 
context: function onInputCompleteLine(e, simulated){    if (!simulated)    {        if (!client.inputHistory.length || client.inputHistory[0] != e.line)            client.inputHistory.unshift (e.line);            if (client.inputHistory.length > client.MAX_HISTORY)            client.inputHistory.pop();                client.lastHistoryReferenced = -1;        client.incompleteLine = "";    }        if (e.line[0] == client.COMMAND_CHAR)    {        var ary = e.line.substr(1, e.line.length).match (/(\S+)? ?(.*)/);        var command = ary[1].toLowerCase();                var ev = new CEvent ("client", "input-command", client,                             "onInputCommand");        ev.command = command;        ev.inputData =  ary[2] ? stringTrim(ary[2]) : "";        ev.line = e.line;                ev.target = client.currentObject;        getObjectDetails (ev.target, ev);        client.eventPump.addEvent (ev);    }    else /* plain text */    {        client.sayToCurrentTarget (e.line);    }}
meta: 3298	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3298/657936124363099510bd19359fb5bb3c1d265539/handlers.js/clean/xul/content/handlers.js