% % JSLint processing % Task.@ _Ent.Page < //------------------ |Lint _Ent.ExitData logs % % evaluate commands from the special editors % Ent._E3 ">JSLint " log() < //------------------ |Startup % % record the window descriptions derived from document title info (E4) % also supplied at startup is the name of the Flash receptor (E5) for the browser % % startup for JSLint % % establish JSLint (not reserved comm), as the Util comm tx % (defaults to Util) % % save the document title for the browser % *coneidnt !JS.Title 0 !JS.Win _JS.Title "IEFrame" *indymons { !JS.Win % % save the receptor's identity % Ent._E5 *receptor dup !JS.Ident second !JS.Page % % initiate a transmitter socket for talking to JSLint % *starcomm % % send the editable javascript text to the special editor % "Value" _JS.Source ".$" ".___" replall ".@" ".$" replall ^" /*jslint ass: true, bitwise: true, continue: true, eqeq: true, forin: true, newcap: true, plusplus: true, unparam: true, sloppy: true, vars: true, white: true, evil: true, nomen: true, regexp: true */ " // ass true, if assignment expressions should be allowed // bitwise true, if bitwise operators should be allowed // browser true, if the standard browser globals should be predefined // closure true, if Google Closure idioms should be tolerated // continue true, if the continuation statement should be tolerated // debug true, if debugger statements should be allowed // devel true, if logging should be allowed (console, alert, etc.) // eqeq true, if == should be allowed // evil true, if eval should be allowed // forin true, if for in statements need not filter // indent the indentation factor // maxerr the maximum number of errors to allow // maxlen the maximum length of a source line // newcap true, if constructor names capitalization is ignored // node true, if Node.js globals should be predefined // nomen true, if names may have dangling _ // passfail true, if the scan should stop on first error // plusplus true, if increment/decrement should be allowed // properties true, if all property names must be declared with /*properties*/ // regexp true, if the . should be allowed in regexp literals // rhino true, if the Rhino environment globals should be predefined // unparam true, if unused parameters should be tolerated // sloppy true, if the 'use strict'; pragma is optional // stupid true, if really stupid practices are tolerated // sub true, if all forms of subscript notation are tolerated // todo true, if TODO comments are tolerated // vars true, if multiple var statements per function should be allowed // white true, if sloppy whitespace is tolerated "send " log() escape send } if //------------------ |Reply % % handle the message/reply from the special editor % responding to our requests or a special editor initiated message % % distribute the message/reply to the requestee/requestor % Ent._E5 unescape "|" Str.Left "doing> " log() < |Accept % % accept edits message % "Current" empty send |Reject % % reject edits message, shut down the page in response % "Shut" empty send % % do not save the value content % |Current % % JSLint response xml was requested % Ent._E7 unescape !JS.Clean Ent._E6 unescape "XmlDance" dance sel@ "Lint" \! Tree.Changed % % shut down the page now % "Shut" empty send |Shut % % page is going away, end our transmitter to it % "NoUtil" "StartComm" dance) *jsphinit( > pop > pop > *acceptun % % stack: found %