UNPKG

@ambers/helios

Version:

Helios IDE for Amber Smalltalk

1,477 lines (1,417 loc) 126 kB
define(["amber/boot", "require", "amber/core/Kernel-Objects", "helios/Helios-Core"], function($boot,requirejs){"use strict"; var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals; var $pkg = $core.addPackage("Helios-Workspace"); $pkg.context = function () { return {codeMirrorLib:codeMirrorLib}; }; $pkg.imports = ["codeMirrorLib=codemirror/lib/codemirror", "codemirror/addon/hint/show-hint", "codemirror/mode/smalltalk/smalltalk"]; //>>excludeStart("imports", pragmas.excludeImports); var codeMirrorLib; $pkg.isReady = new Promise(function (resolve, reject) { requirejs(["codemirror/lib/codemirror", "codemirror/addon/hint/show-hint", "codemirror/mode/smalltalk/smalltalk"], function ($1) {codeMirrorLib=$1; resolve();}, reject); }); //>>excludeEnd("imports"); $pkg.transport = {"type":"amd","amdNamespace":"helios"}; $core.addClass("HLCodeModel", $globals.Object, "Helios-Workspace"); $core.setSlots($globals.HLCodeModel, ["announcer", "environment", "receiver"]); $core.addMethod( $core.method({ selector: "announcer", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "announcer\x0a\x09^ announcer ifNil: [ announcer := Announcer new ]", referencedClasses: ["Announcer"], //>>excludeEnd("ide"); pragmas: [], messageSends: ["ifNil:", "new"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $1=$self.announcer; if($1 == null || $1.a$nil){ $self.announcer=$recv($globals.Announcer)._new(); return $self.announcer; } else { return $1; } //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"announcer",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeModel); $core.addMethod( $core.method({ selector: "browse:", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "browse: anObject\x0a\x09anObject browse", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["browse"] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv(anObject)._browse(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"browse:",{anObject:anObject})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeModel); $core.addMethod( $core.method({ selector: "defaultReceiver", protocol: "defaults", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "defaultReceiver\x0a\x09^ self environment doItReceiver", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["doItReceiver", "environment"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $recv($self._environment())._doItReceiver(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"defaultReceiver",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeModel); $core.addMethod( $core.method({ selector: "doIt:", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["aString"], source: "doIt: aString\x0a\x09^ self environment evaluate: aString for: self receiver", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["evaluate:for:", "environment", "receiver"] }, function ($methodClass){ return function (aString){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $recv($self._environment())._evaluate_for_(aString,$self._receiver()); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"doIt:",{aString:aString})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeModel); $core.addMethod( $core.method({ selector: "environment", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "environment\x0a\x09^ environment ifNil: [ HLManager current environment ]", referencedClasses: ["HLManager"], //>>excludeEnd("ide"); pragmas: [], messageSends: ["ifNil:", "environment", "current"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $1=$self.environment; if($1 == null || $1.a$nil){ return $recv($recv($globals.HLManager)._current())._environment(); } else { return $1; } //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"environment",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeModel); $core.addMethod( $core.method({ selector: "environment:", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anEnvironment"], source: "environment: anEnvironment\x0a\x09environment := anEnvironment", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (anEnvironment){ var self=this,$self=this; $self.environment=anEnvironment; return self; }; }), $globals.HLCodeModel); $core.addMethod( $core.method({ selector: "inspect:", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "inspect: anObject\x0a\x09self environment inspect: anObject", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["inspect:", "environment"] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv($self._environment())._inspect_(anObject); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeModel); $core.addMethod( $core.method({ selector: "receiver", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "receiver\x0a\x09^ receiver ifNil: [ receiver := self defaultReceiver ]", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["ifNil:", "defaultReceiver"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $1=$self.receiver; if($1 == null || $1.a$nil){ $self.receiver=$self._defaultReceiver(); return $self.receiver; } else { return $1; } //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"receiver",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeModel); $core.addMethod( $core.method({ selector: "receiver:", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "receiver: anObject\x0a\x09receiver := anObject", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; $self.receiver=anObject; return self; }; }), $globals.HLCodeModel); $core.addMethod( $core.method({ selector: "on:", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anEnvironment"], source: "on: anEnvironment\x0a\x0a\x09^ self new\x0a \x09environment: anEnvironment;\x0a yourself", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["environment:", "new", "yourself"] }, function ($methodClass){ return function (anEnvironment){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $1=$self._new(); $recv($1)._environment_(anEnvironment); return $recv($1)._yourself(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"on:",{anEnvironment:anEnvironment})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeModel.a$cls); $core.addClass("HLCodeWidget", $globals.HLWidget, "Helios-Workspace"); $core.setSlots($globals.HLCodeWidget, ["model", "code", "editor", "state"]); $core.addMethod( $core.method({ selector: "announcer", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "announcer\x0a\x09^ self model announcer", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["announcer", "model"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $recv($self._model())._announcer(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"announcer",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "basicDoIt", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "basicDoIt\x0a\x09| result |\x0a\x0a\x09result := self model doIt: self currentLineOrSelection.\x0a\x09self model announcer announce: (HLDoItExecuted on: model).\x0a\x0a\x09^ result", referencedClasses: ["HLDoItExecuted"], //>>excludeEnd("ide"); pragmas: [], messageSends: ["doIt:", "model", "currentLineOrSelection", "announce:", "announcer", "on:"] }, function ($methodClass){ return function (){ var self=this,$self=this; var result; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); result=$recv([$self._model() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["model"]=1 //>>excludeEnd("ctx"); ][0])._doIt_($self._currentLineOrSelection()); $recv($recv($self._model())._announcer())._announce_($recv($globals.HLDoItExecuted)._on_($self.model)); return result; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"basicDoIt",{result:result})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "browseIt", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "browseIt\x0a\x09[ self model browse: self basicDoIt ] fork", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["fork", "browse:", "model", "basicDoIt"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $recv($self._model())._browse_($self._basicDoIt()); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); //>>excludeEnd("ctx"); }))._fork(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"browseIt",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "canHaveFocus", protocol: "testing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "canHaveFocus\x0a\x09^ true", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (){ var self=this,$self=this; return true; }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "clear", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "clear\x0a\x09self contents: ''", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["contents:"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $self._contents_(""); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"clear",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "configureEditor", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "configureEditor\x0a\x09self editor at: 'amberCodeWidget' put: self.\x0a\x09self editor on: 'change' do: [ self onChange ].\x0a\x0a\x09'helios.code.font' settingValue ifNotNil: [ :font |\x0a\x09\x09(self wrapper asJQuery find: '.CodeMirror') css: 'font' put: font ].\x0a\x09self wrapper asJQuery on: 'mousedown' in: '.CodeMirror pre' do: [ :event | | position node |\x0a\x09\x09(event at: 'ctrlKey') ifTrue: [\x0a\x09\x09\x09position := self editor coordsChar: #{ \x0a\x09\x09\x09\x09'left' -> event clientX.\x0a\x09\x09\x09\x09'top' -> event clientY\x0a\x09\x09\x09}.\x0a\x09\x09\x09self onCtrlClickAt: (position line @ position ch) + 1.\x0a\x09\x09\x09event preventDefault ] ]", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["at:put:", "editor", "on:do:", "onChange", "ifNotNil:", "settingValue", "css:put:", "find:", "asJQuery", "wrapper", "on:in:do:", "ifTrue:", "at:", "coordsChar:", "clientX", "clientY", "onCtrlClickAt:", "+", "@", "line", "ch", "preventDefault"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $recv([$self._editor() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["editor"]=1 //>>excludeEnd("ctx"); ][0])._at_put_("amberCodeWidget",self); $recv([$self._editor() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["editor"]=2 //>>excludeEnd("ctx"); ][0])._on_do_("change",(function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $self._onChange(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); //>>excludeEnd("ctx"); })); $1="helios.code.font"._settingValue(); if($1 == null || $1.a$nil){ $1; } else { var font; font=$1; $recv($recv([$recv([$self._wrapper() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["wrapper"]=1 //>>excludeEnd("ctx"); ][0])._asJQuery() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["asJQuery"]=1 //>>excludeEnd("ctx"); ][0])._find_(".CodeMirror"))._css_put_("font",font); } $recv($recv($self._wrapper())._asJQuery())._on_in_do_("mousedown",".CodeMirror pre",(function(event){ var position,node; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); if($core.assert($recv(event)._at_("ctrlKey"))){ position=$recv($self._editor())._coordsChar_($globals.HashedCollection._newFromPairs_(["left",$recv(event)._clientX(),"top",$recv(event)._clientY()])); $self._onCtrlClickAt_($recv($recv($recv(position)._line()).__at($recv(position)._ch())).__plus((1))); return $recv(event)._preventDefault(); } //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({event:event,position:position,node:node},$ctx1,3)}); //>>excludeEnd("ctx"); })); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"configureEditor",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "contents", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "contents\x0a\x09^ editor getValue", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["getValue"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $recv($self.editor)._getValue(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"contents",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "contents:", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["aString"], source: "contents: aString\x0a\x09editor setValue: aString.\x0a\x09state ifNotNil: [ self updateState ]", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["setValue:", "ifNotNil:", "updateState"] }, function ($methodClass){ return function (aString){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $recv($self.editor)._setValue_(aString); $1=$self.state; if($1 == null || $1.a$nil){ $1; } else { $self._updateState(); } return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"contents:",{aString:aString})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "currentLine", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "currentLine\x0a ^editor getLine: (editor getCursor line)", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["getLine:", "line", "getCursor"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $recv($self.editor)._getLine_($recv($recv($self.editor)._getCursor())._line()); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"currentLine",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "currentLineOrSelection", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "currentLineOrSelection\x0a ^editor somethingSelected\x0a\x09\x09ifFalse: [ self currentLine ]\x0a\x09\x09ifTrue: [ self selection ]", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["ifFalse:ifTrue:", "somethingSelected", "currentLine", "selection"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); if($core.assert($recv($self.editor)._somethingSelected())){ return $self._selection(); } else { return $self._currentLine(); } //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"currentLineOrSelection",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "doIt", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "doIt\x0a\x09[ self basicDoIt ] fork", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["fork", "basicDoIt"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $self._basicDoIt(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); //>>excludeEnd("ctx"); }))._fork(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"doIt",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "editor", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "editor\x0a\x09^ editor", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (){ var self=this,$self=this; return $self.editor; }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "editorOptions", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "editorOptions\x0a\x09^ #{\x0a\x09\x09'theme' -> ('helios.editorTheme' settingValueIfAbsent: 'default').\x0a\x09\x09'mode' -> 'text/x-stsrc'.\x0a\x09\x09'inputStyle' -> 'contenteditable'.\x0a 'lineNumbers' -> true.\x0a 'enterMode' -> 'flat'.\x0a 'indentWithTabs' -> true.\x0a\x09\x09'indentUnit' -> 4.\x0a 'matchBrackets' -> true.\x0a 'electricChars' -> false.\x0a\x09\x09'keyMap' -> 'Amber'.\x0a\x09\x09'extraKeys' -> (HashedCollection with: ('helios.completionKey' settingValueIfAbsent: 'Shift-Space') -> 'autocomplete')\x0a\x09}", referencedClasses: ["HashedCollection"], //>>excludeEnd("ide"); pragmas: [], messageSends: ["settingValueIfAbsent:", "with:", "->"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $globals.HashedCollection._newFromPairs_(["theme",["helios.editorTheme"._settingValueIfAbsent_("default") //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["settingValueIfAbsent:"]=1 //>>excludeEnd("ctx"); ][0],"mode","text/x-stsrc","inputStyle","contenteditable","lineNumbers",true,"enterMode","flat","indentWithTabs",true,"indentUnit",(4),"matchBrackets",true,"electricChars",false,"keyMap","Amber","extraKeys",$recv($globals.HashedCollection)._with_($recv("helios.completionKey"._settingValueIfAbsent_("Shift-Space")).__minus_gt("autocomplete"))]); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"editorOptions",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "focus", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "focus\x0a\x09editor focus", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["focus"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv($self.editor)._focus(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"focus",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "hasFocus", protocol: "testing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "hasFocus\x0a\x09^ code asJQuery is: ':active'", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["is:", "asJQuery"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $recv($recv($self.code)._asJQuery())._is_(":active"); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"hasFocus",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "hasModification", protocol: "testing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "hasModification\x0a\x09^ false", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (){ var self=this,$self=this; return false; }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "inspectIt", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "inspectIt\x0a\x09[ self model inspect: self basicDoIt ] fork", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["fork", "inspect:", "model", "basicDoIt"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $recv($self._model())._inspect_($self._basicDoIt()); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); //>>excludeEnd("ctx"); }))._fork(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"inspectIt",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "messageHintFor:token:", protocol: "hints", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anEditor", "aToken"], source: "messageHintFor: anEditor token: aToken\x0a\x09^ (Smalltalk core allSelectors asArray \x0a\x09\x09select: [ :each | each includesSubString: aToken string ])\x0a\x09\x09reject: [ :each | each = aToken string ]", referencedClasses: ["Smalltalk"], //>>excludeEnd("ide"); pragmas: [], messageSends: ["reject:", "select:", "asArray", "allSelectors", "core", "includesSubString:", "string", "="] }, function ($methodClass){ return function (anEditor,aToken){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $recv($recv($recv($recv($recv($globals.Smalltalk)._core())._allSelectors())._asArray())._select_((function(each){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $recv(each)._includesSubString_([$recv(aToken)._string() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx2.sendIdx["string"]=1 //>>excludeEnd("ctx"); ][0]); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)}); //>>excludeEnd("ctx"); })))._reject_((function(each){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $recv(each).__eq($recv(aToken)._string()); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)}); //>>excludeEnd("ctx"); })); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"messageHintFor:token:",{anEditor:anEditor,aToken:aToken})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "model", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "model\x0a\x09^ model ifNil: [ model := HLCodeModel new ]", referencedClasses: ["HLCodeModel"], //>>excludeEnd("ide"); pragmas: [], messageSends: ["ifNil:", "new"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $1=$self.model; if($1 == null || $1.a$nil){ $self.model=$recv($globals.HLCodeModel)._new(); return $self.model; } else { return $1; } //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"model",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "model:", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["aModel"], source: "model: aModel\x0a\x09model := aModel", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (aModel){ var self=this,$self=this; $self.model=aModel; return self; }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "navigateTo:", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["aString"], source: "navigateTo: aString\x0a\x09Finder findString: aString", referencedClasses: ["Finder"], //>>excludeEnd("ide"); pragmas: [], messageSends: ["findString:"] }, function ($methodClass){ return function (aString){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv($globals.Finder)._findString_(aString); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"navigateTo:",{aString:aString})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "navigateToReference:", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["aString"], source: "navigateToReference: aString\x0a\x09(HLReferences openAsTab)\x0a\x09\x09search: aString", referencedClasses: ["HLReferences"], //>>excludeEnd("ide"); pragmas: [], messageSends: ["search:", "openAsTab"] }, function ($methodClass){ return function (aString){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv($recv($globals.HLReferences)._openAsTab())._search_(aString); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"navigateToReference:",{aString:aString})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "onChange", protocol: "reactions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "onChange\x0a\x09self updateState", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["updateState"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $self._updateState(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"onChange",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "onCtrlClickAt:", protocol: "reactions", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["aPoint"], source: "onCtrlClickAt: aPoint\x0a\x09| ast node |\x0a\x09\x0a\x09ast := [ Smalltalk parse: self editor getValue ] \x0a\x09\x09on: Error \x0a\x09\x09do: [ :error | ^ self ].\x0a\x09\x0a\x09node := ast \x0a\x09\x09navigationNodeAt: aPoint \x0a\x09\x09ifAbsent: [ ^ nil ].\x0a\x09\x09\x0a\x09self navigateTo: node navigationLink", referencedClasses: ["Smalltalk", "Error"], //>>excludeEnd("ide"); pragmas: [], messageSends: ["on:do:", "parse:", "getValue", "editor", "navigationNodeAt:ifAbsent:", "navigateTo:", "navigationLink"] }, function ($methodClass){ return function (aPoint){ var self=this,$self=this; var ast,node; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $early={}; try { ast=$recv((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $recv($globals.Smalltalk)._parse_($recv($self._editor())._getValue()); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); //>>excludeEnd("ctx"); }))._on_do_($globals.Error,(function(error){ throw $early=[self]; })); node=$recv(ast)._navigationNodeAt_ifAbsent_(aPoint,(function(){ throw $early=[nil]; })); $self._navigateTo_($recv(node)._navigationLink()); return self; } catch(e) {if(e===$early)return e[0]; throw e} //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"onCtrlClickAt:",{aPoint:aPoint,ast:ast,node:node})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "onInspectIt", protocol: "reactions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "onInspectIt\x0a\x0a\x09self inspectIt", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["inspectIt"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $self._inspectIt(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"onInspectIt",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "onPrintIt", protocol: "reactions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "onPrintIt\x0a\x0a\x09self printIt", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["printIt"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $self._printIt(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"onPrintIt",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "onSaveIt", protocol: "reactions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "onSaveIt\x0a\x09\x22I do not do anything\x22", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (){ var self=this,$self=this; return self; }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "print:", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["aString"], source: "print: aString\x0a\x09| start stop currentLine |\x0a currentLine := (editor getCursor: false) line.\x0a\x09start := HashedCollection new.\x0a\x09start at: 'line' put: currentLine.\x0a\x09start at: 'ch' put: (editor getCursor: false) ch.\x0a (editor getSelection) ifEmpty: [\x0a \x09\x22select current line if selection is empty\x22\x0a \x09start at: 'ch' put: (editor getLine: currentLine) size.\x0a editor setSelection: #{'line' -> currentLine. 'ch' -> 0} end: start.\x0a ].\x0a\x09stop := HashedCollection new.\x0a\x09stop at: 'line' put: currentLine.\x0a\x09stop at: 'ch' put: ((start at: 'ch') + aString size + 2).\x0a\x0a\x09editor replaceSelection: (editor getSelection, ' ', aString, ' ').\x0a\x09editor setCursor: (editor getCursor: true).\x0a\x09editor setSelection: stop end: start", referencedClasses: ["HashedCollection"], //>>excludeEnd("ide"); pragmas: [], messageSends: ["line", "getCursor:", "new", "at:put:", "ch", "ifEmpty:", "getSelection", "size", "getLine:", "setSelection:end:", "+", "at:", "replaceSelection:", ",", "setCursor:"] }, function ($methodClass){ return function (aString){ var self=this,$self=this; var start,stop,currentLine; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); currentLine=$recv([$recv($self.editor)._getCursor_(false) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["getCursor:"]=1 //>>excludeEnd("ctx"); ][0])._line(); start=[$recv($globals.HashedCollection)._new() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["new"]=1 //>>excludeEnd("ctx"); ][0]; [$recv(start)._at_put_("line",currentLine) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["at:put:"]=1 //>>excludeEnd("ctx"); ][0]; [$recv(start)._at_put_("ch",$recv([$recv($self.editor)._getCursor_(false) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["getCursor:"]=2 //>>excludeEnd("ctx"); ][0])._ch()) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["at:put:"]=2 //>>excludeEnd("ctx"); ][0]; $recv([$recv($self.editor)._getSelection() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["getSelection"]=1 //>>excludeEnd("ctx"); ][0])._ifEmpty_((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); [$recv(start)._at_put_("ch",[$recv($recv($self.editor)._getLine_(currentLine))._size() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx2.sendIdx["size"]=1 //>>excludeEnd("ctx"); ][0]) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx2.sendIdx["at:put:"]=3 //>>excludeEnd("ctx"); ][0]; return [$recv($self.editor)._setSelection_end_($globals.HashedCollection._newFromPairs_(["line",currentLine,"ch",(0)]),start) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx2.sendIdx["setSelection:end:"]=1 //>>excludeEnd("ctx"); ][0]; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); //>>excludeEnd("ctx"); })); stop=$recv($globals.HashedCollection)._new(); [$recv(stop)._at_put_("line",currentLine) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["at:put:"]=4 //>>excludeEnd("ctx"); ][0]; $recv(stop)._at_put_("ch",[$recv($recv($recv(start)._at_("ch")).__plus($recv(aString)._size())).__plus((2)) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["+"]=1 //>>excludeEnd("ctx"); ][0]); $recv($self.editor)._replaceSelection_([$recv([$recv($recv($recv($self.editor)._getSelection()).__comma(" ")).__comma(aString) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx[","]=2 //>>excludeEnd("ctx"); ][0]).__comma(" ") //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx[","]=1 //>>excludeEnd("ctx"); ][0]); $recv($self.editor)._setCursor_($recv($self.editor)._getCursor_(true)); $recv($self.editor)._setSelection_end_(stop,start); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"print:",{aString:aString,start:start,stop:stop,currentLine:currentLine})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "printIt", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "printIt\x0a\x09[ self print: self basicDoIt printString ] fork", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["fork", "print:", "printString", "basicDoIt"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $self._print_($recv($self._basicDoIt())._printString()); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); //>>excludeEnd("ctx"); }))._fork(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"printIt",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "receiver", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "receiver\x0a\x09^ self model receiver", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["receiver", "model"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $recv($self._model())._receiver(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"receiver",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "receiver:", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "receiver: anObject\x0a\x09self model receiver: anObject", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["receiver:", "model"] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv($self._model())._receiver_(anObject); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "renderButtonsOn:", protocol: "rendering", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["html"], source: "renderButtonsOn: html\x0a\x09html button \x0a\x09\x09class: 'button';\x0a\x09\x09with: 'DoIt';\x0a\x09\x09onClick: [ self doIt ].\x0a\x09html button \x0a\x09\x09class: 'button';\x0a\x09\x09with: 'PrintIt';\x0a\x09\x09onClick: [ self printIt ].\x0a\x09html button \x0a\x09\x09class: 'button';\x0a\x09\x09with: 'InspectIt';\x0a\x09\x09onClick: [ self inspectIt ].\x0a\x09html button \x0a\x09\x09class: 'button';\x0a\x09\x09with: 'BrowseIt';\x0a\x09\x09onClick: [ self browseIt ]", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["class:", "button", "with:", "onClick:", "doIt", "printIt", "inspectIt", "browseIt"] }, function ($methodClass){ return function (html){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1,$2,$3,$4; $1=[$recv(html)._button() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["button"]=1 //>>excludeEnd("ctx"); ][0]; [$recv($1)._class_("button") //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["class:"]=1 //>>excludeEnd("ctx"); ][0]; [$recv($1)._with_("DoIt") //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["with:"]=1 //>>excludeEnd("ctx"); ][0]; [$recv($1)._onClick_((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $self._doIt(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); //>>excludeEnd("ctx"); })) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["onClick:"]=1 //>>excludeEnd("ctx"); ][0]; $2=[$recv(html)._button() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["button"]=2 //>>excludeEnd("ctx"); ][0]; [$recv($2)._class_("button") //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["class:"]=2 //>>excludeEnd("ctx"); ][0]; [$recv($2)._with_("PrintIt") //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["with:"]=2 //>>excludeEnd("ctx"); ][0]; [$recv($2)._onClick_((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $self._printIt(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)}); //>>excludeEnd("ctx"); })) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["onClick:"]=2 //>>excludeEnd("ctx"); ][0]; $3=[$recv(html)._button() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["button"]=3 //>>excludeEnd("ctx"); ][0]; [$recv($3)._class_("button") //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["class:"]=3 //>>excludeEnd("ctx"); ][0]; [$recv($3)._with_("InspectIt") //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["with:"]=3 //>>excludeEnd("ctx"); ][0]; [$recv($3)._onClick_((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $self._inspectIt(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)}); //>>excludeEnd("ctx"); })) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["onClick:"]=3 //>>excludeEnd("ctx"); ][0]; $4=$recv(html)._button(); $recv($4)._class_("button"); $recv($4)._with_("BrowseIt"); $recv($4)._onClick_((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $self._browseIt(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,4)}); //>>excludeEnd("ctx"); })); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"renderButtonsOn:",{html:html})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "renderContentOn:", protocol: "rendering", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["html"], source: "renderContentOn: html\x0a\x09html div class: 'editor'; with: [\x0a\x09\x09code := html textarea ].\x0a\x09state := html div class: 'state'.\x0a\x09\x0a\x09html div \x0a\x09\x09class: 'buttons_bar';\x0a\x09\x09with: [ self renderButtonsOn: html ].\x0a\x09\x0a\x09self \x0a\x09\x09setEditorOn: code asDomNode;\x0a\x09\x09configureEditor;\x0a\x09\x09updateState", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["class:", "div", "with:", "textarea", "renderButtonsOn:", "setEditorOn:", "asDomNode", "configureEditor", "updateState"] }, function ($methodClass){ return function (html){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1,$2; $1=[$recv(html)._div() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["div"]=1 //>>excludeEnd("ctx"); ][0]; [$recv($1)._class_("editor") //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["class:"]=1 //>>excludeEnd("ctx"); ][0]; [$recv($1)._with_((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); $self.code=$recv(html)._textarea(); return $self.code; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)}); //>>excludeEnd("ctx"); })) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["with:"]=1 //>>excludeEnd("ctx"); ][0]; $self.state=[$recv([$recv(html)._div() //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["div"]=2 //>>excludeEnd("ctx"); ][0])._class_("state") //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.sendIdx["class:"]=2 //>>excludeEnd("ctx"); ][0]; $2=$recv(html)._div(); $recv($2)._class_("buttons_bar"); $recv($2)._with_((function(){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $self._renderButtonsOn_(html); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)}); //>>excludeEnd("ctx"); })); $self._setEditorOn_($recv($self.code)._asDomNode()); $self._configureEditor(); $self._updateState(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "saveIt", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "saveIt\x0a\x09\x22I do not do anything\x22", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (){ var self=this,$self=this; return self; }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "selection", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "selection\x0a\x09^editor getSelection", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["getSelection"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $recv($self.editor)._getSelection(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"selection",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "selectionEnd", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "selectionEnd\x0a ^ code asDomNode selectionEnd", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["selectionEnd", "asDomNode"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $recv($recv($self.code)._asDomNode())._selectionEnd(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"selectionEnd",{})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "selectionEnd:", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anInteger"], source: "selectionEnd: anInteger\x0a code asDomNode selectionEnd: anInteger", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["selectionEnd:", "asDomNode"] }, function ($methodClass){ return function (anInteger){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv($recv($self.code)._asDomNode())._selectionEnd_(anInteger); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"selectionEnd:",{anInteger:anInteger})}); //>>excludeEnd("ctx"); }; }), $globals.HLCodeWidget); $core.addMethod( $core.method({ selector: "selectionStart", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "selectionStart\x0a ^ code asDomNode selec