| 
					
				 | 
			
			
				@@ -392,35 +392,15 @@ fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $HashedCollection(){return globals.HashedCollection||(typeof HashedCollection=="undefined"?nil:HashedCollection)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $3,$2,$4,$5,$6,$7,$8,$9,$10,$11,$12,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3="helios.codeMirrorTheme"._settingValueIfAbsent_("default helios"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2="helios.codeMirrorTheme"._settingValueIfAbsent_("default helios"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["settingValueIfAbsent:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2="theme".__minus_gt($3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4="mode".__minus_gt("text/x-stsrc"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5="lineNumbers".__minus_gt(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6="enterMode".__minus_gt("flat"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7="indentWithTabs".__minus_gt(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8="indentUnit".__minus_gt((4)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9="matchBrackets".__minus_gt(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10="electricChars".__minus_gt(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$11="keyMap".__minus_gt("Amber"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$12="extraKeys".__minus_gt(_st($HashedCollection())._with_(_st("helios.completionKey"._settingValueIfAbsent_("Shift-Space")).__minus_gt("autocomplete"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=globals.HashedCollection._from_([$2,$4,$5,$6,$7,$8,$9,$10,$11,$12]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=globals.HashedCollection._newFromPairs_(["theme",$2,"mode","text/x-stsrc","lineNumbers",true,"enterMode","flat","indentWithTabs",true,"indentUnit",(4),"matchBrackets",true,"electricChars",false,"keyMap","Amber","extraKeys",_st($HashedCollection())._with_(_st("helios.completionKey"._settingValueIfAbsent_("Shift-Space")).__minus_gt("autocomplete"))]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"editorOptions",{},globals.HLCodeWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "editorOptions\x0a\x09^ #{\x0a\x09\x09'theme' -> ('helios.codeMirrorTheme' settingValueIfAbsent: 'default helios').\x0a\x09\x09'mode' -> 'text/x-stsrc'.\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}", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["->", "settingValueIfAbsent:", "with:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["settingValueIfAbsent:", "with:", "->"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["HashedCollection"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLCodeWidget); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -651,7 +631,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var start,stop,currentLine; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $HashedCollection(){return globals.HashedCollection||(typeof HashedCollection=="undefined"?nil:HashedCollection)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$4,$3,$5,$6,$7,$8,$10,$9,$11,$12,$13,$15,$14; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$4,$3,$5,$6,$7,$8,$9,$10,$12,$11; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=_st(self["@editor"])._getCursor_(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["getCursor:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 currentLine=_st($1)._line(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -674,32 +654,28 @@ $7=_st(_st(self["@editor"])._getLine_(currentLine))._size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["size"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($6)._at_put_("ch",$7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["at:put:"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8=self["@editor"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10="line".__minus_gt(currentLine); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx2.sendIdx["->"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9=globals.HashedCollection._from_([$10,"ch".__minus_gt((0))]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($8)._setSelection_end_($9,start); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(self["@editor"])._setSelection_end_(globals.HashedCollection._newFromPairs_(["line",currentLine,"ch",(0)]),start); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["setSelection:end:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 stop=_st($HashedCollection())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(stop)._at_put_("line",currentLine); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["at:put:"]=4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$11=stop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$12=_st(_st(_st(start)._at_("ch")).__plus(_st(aString)._size())).__plus((2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$8=stop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$9=_st(_st(_st(start)._at_("ch")).__plus(_st(aString)._size())).__plus((2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["+"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($11)._at_put_("ch",$12); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$13=self["@editor"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$15=_st(_st(_st(self["@editor"])._getSelection()).__comma(" ")).__comma(aString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($8)._at_put_("ch",$9); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$10=self["@editor"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$12=_st(_st(_st(self["@editor"])._getSelection()).__comma(" ")).__comma(aString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx[","]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$14=_st($15).__comma(" "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$11=_st($12).__comma(" "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx[","]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($13)._replaceSelection_($14); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($10)._replaceSelection_($11); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(self["@editor"])._setCursor_(_st(self["@editor"])._getCursor_(true)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(self["@editor"])._setSelection_end_(stop,start); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"print:",{aString:aString,start:start,stop:stop,currentLine:currentLine},globals.HLCodeWidget)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["line", "getCursor:", "new", "at:put:", "ch", "ifEmpty:", "getSelection", "size", "getLine:", "setSelection:end:", "->", "+", "at:", "replaceSelection:", ",", "setCursor:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["line", "getCursor:", "new", "at:put:", "ch", "ifEmpty:", "getSelection", "size", "getLine:", "setSelection:end:", "+", "at:", "replaceSelection:", ",", "setCursor:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["HashedCollection"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLCodeWidget); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1042,7 +1018,7 @@ var cursor,token,completions; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $CodeMirror(){return globals.CodeMirror||(typeof CodeMirror=="undefined"?nil:CodeMirror)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $HLCodeWidget(){return globals.HLCodeWidget||(typeof HLCodeWidget=="undefined"?nil:HLCodeWidget)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$4,$3,$2,$5,$7,$10,$11,$9,$8,$6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$4,$3,$2,$5,$7,$9,$10,$8,$6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 cursor=_st(anEditor)._getCursor(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 token=_st(anEditor)._getTokenAt_(cursor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=token; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1058,22 +1034,19 @@ completions=_st($HLCodeWidget())._variableHintFor_token_(anEditor,token); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 completions=_st($HLCodeWidget())._messageHintFor_token_(anEditor,token); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7="list".__minus_gt(completions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10=_st($CodeMirror())._basicAt_("Pos"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$7=completions; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$9=_st($CodeMirror())._basicAt_("Pos"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["basicAt:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$11=_st(cursor)._line(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$10=_st(cursor)._line(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["line"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9=_st($10)._value_value_($11,_st(token)._end()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$8=_st($9)._value_value_($10,_st(token)._end()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["value:value:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8="from".__minus_gt($9); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=globals.HashedCollection._from_([$7,$8,"to".__minus_gt(_st(_st($CodeMirror())._basicAt_("Pos"))._value_value_(_st(cursor)._line(),_st(token)._start()))]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$6=globals.HashedCollection._newFromPairs_(["list",$7,"from",$8,"to",_st(_st($CodeMirror())._basicAt_("Pos"))._value_value_(_st(cursor)._line(),_st(token)._start())]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"hintFor:options:",{anEditor:anEditor,options:options,cursor:cursor,token:token,completions:completions},globals.HLCodeWidget.klass)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["anEditor", "options"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "hintFor: anEditor options: options\x0a\x09| cursor token completions |\x0a\x09\x0a\x09cursor := anEditor getCursor.\x0a\x09token := anEditor getTokenAt: cursor.\x0a\x09token at: 'state' put: ((CodeMirror basicAt: 'innerMode')\x0a\x09\x09value: anEditor getMode value: (token at: 'state')) state.\x0a\x09\x0a\x09completions := token type = 'variable' \x0a\x09\x09ifTrue: [ HLCodeWidget variableHintFor: anEditor token: token ]\x0a\x09\x09ifFalse: [ HLCodeWidget messageHintFor: anEditor token: token ].\x0a\x09\x0a\x09^ #{\x0a\x09\x09'list' -> completions.\x0a\x09\x09'from' -> ((CodeMirror basicAt: 'Pos') value: cursor line value: token end).\x0a\x09\x09'to' -> ((CodeMirror basicAt: 'Pos') value: cursor line value: token start)\x0a\x09}", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["getCursor", "getTokenAt:", "at:put:", "state", "value:value:", "basicAt:", "getMode", "at:", "ifTrue:ifFalse:", "=", "type", "variableHintFor:token:", "messageHintFor:token:", "->", "line", "end", "start"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["getCursor", "getTokenAt:", "at:put:", "state", "value:value:", "basicAt:", "getMode", "at:", "ifTrue:ifFalse:", "=", "type", "variableHintFor:token:", "messageHintFor:token:", "line", "end", "start"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["CodeMirror", "HLCodeWidget"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLCodeWidget.klass); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1128,64 +1101,13 @@ selector: "macKeyMap", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 protocol: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2="Alt-Backspace".__minus_gt("delWordBefore"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3="Alt-Delete".__minus_gt("delWordAfter"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4="Alt-Left".__minus_gt("goWordLeft"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5="Alt-Right".__minus_gt("goWordRight"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6="Cmd-A".__minus_gt("selectAll"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7="Cmd-Alt-F".__minus_gt("replace"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8="Cmd-D".__minus_gt("doIt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9="Cmd-Down".__minus_gt("goDocEnd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10="Cmd-End".__minus_gt("goDocEnd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$11="Cmd-F".__minus_gt("find"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$12="Cmd-G".__minus_gt("findNext"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=11; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$13="Cmd-I".__minus_gt("inspectIt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=12; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$14="Cmd-Left".__minus_gt("goLineStart"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$15="Cmd-P".__minus_gt("printIt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=14; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$16="Cmd-Right".__minus_gt("goLineEnd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=15; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$17="Cmd-S".__minus_gt("saveIt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$18="Cmd-Up".__minus_gt("goDocStart"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=17; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$19="Cmd-Y".__minus_gt("redo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=18; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$20="Cmd-Z".__minus_gt("undo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=19; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$21="Cmd-[".__minus_gt("indentLess"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=20; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$22="Cmd-]".__minus_gt("indentMore"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=21; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$23="Ctrl-Alt-Backspace".__minus_gt("delWordAfter"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=22; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$24="Shift-Cmd-Alt-F".__minus_gt("replaceAll"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=23; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$25="Shift-Cmd-G".__minus_gt("findPrev"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=24; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$26="Shift-Cmd-Z".__minus_gt("redo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=25; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=globals.HashedCollection._from_([$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,"fallthrough".__minus_gt(["basic","emacsy"])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=globals.HashedCollection._newFromPairs_(["Alt-Backspace","delWordBefore","Alt-Delete","delWordAfter","Alt-Left","goWordLeft","Alt-Right","goWordRight","Cmd-A","selectAll","Cmd-Alt-F","replace","Cmd-D","doIt","Cmd-Down","goDocEnd","Cmd-End","goDocEnd","Cmd-F","find","Cmd-G","findNext","Cmd-I","inspectIt","Cmd-Left","goLineStart","Cmd-P","printIt","Cmd-Right","goLineEnd","Cmd-S","saveIt","Cmd-Up","goDocStart","Cmd-Y","redo","Cmd-Z","undo","Cmd-[","indentLess","Cmd-]","indentMore","Ctrl-Alt-Backspace","delWordAfter","Shift-Cmd-Alt-F","replaceAll","Shift-Cmd-G","findPrev","Shift-Cmd-Z","redo","fallthrough",["basic","emacsy"]]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx1) {$ctx1.fill(self,"macKeyMap",{},globals.HLCodeWidget.klass)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "macKeyMap\x0a\x09^ #{\x0a\x09\x09'Alt-Backspace'\x09\x09\x09-> 'delWordBefore'.\x0a\x09\x09'Alt-Delete'\x09\x09\x09-> 'delWordAfter'. \x0a\x09\x09'Alt-Left'\x09\x09\x09\x09-> 'goWordLeft'.\x0a\x09\x09'Alt-Right'\x09\x09\x09\x09-> 'goWordRight'. \x0a\x09\x09'Cmd-A'\x09\x09\x09\x09\x09-> 'selectAll'. \x0a\x09\x09'Cmd-Alt-F'\x09\x09\x09\x09-> 'replace'. \x0a\x09\x09'Cmd-D'\x09\x09\x09\x09\x09-> 'doIt'. \x0a\x09\x09'Cmd-Down'\x09\x09\x09\x09-> 'goDocEnd'. \x0a\x09\x09'Cmd-End'\x09\x09\x09\x09-> 'goDocEnd'. \x0a\x09\x09'Cmd-F'\x09\x09\x09\x09\x09-> 'find'.\x0a\x09\x09'Cmd-G'\x09\x09\x09\x09\x09-> 'findNext'. \x0a\x09\x09'Cmd-I'\x09\x09\x09\x09\x09-> 'inspectIt'. \x0a\x09\x09'Cmd-Left'\x09\x09\x09\x09-> 'goLineStart'. \x0a\x09\x09'Cmd-P'\x09\x09\x09\x09\x09-> 'printIt'. \x0a\x09\x09'Cmd-Right'\x09\x09\x09\x09-> 'goLineEnd'. \x0a\x09\x09'Cmd-S'\x09\x09\x09\x09\x09-> 'saveIt'. \x0a\x09\x09'Cmd-Up'\x09\x09\x09\x09-> 'goDocStart'. \x0a\x09\x09'Cmd-Y'\x09\x09\x09\x09\x09-> 'redo'.\x0a\x09\x09'Cmd-Z'\x09\x09\x09\x09\x09-> 'undo'. \x0a\x09\x09'Cmd-['\x09\x09\x09\x09\x09-> 'indentLess'. \x0a\x09\x09'Cmd-]'\x09\x09\x09\x09\x09-> 'indentMore'.\x0a\x09\x09'Ctrl-Alt-Backspace'\x09-> 'delWordAfter'. \x0a\x09\x09'Shift-Cmd-Alt-F'\x09\x09-> 'replaceAll'.\x0a\x09\x09'Shift-Cmd-G'\x09\x09\x09-> 'findPrev'. \x0a\x09\x09'Shift-Cmd-Z'\x09\x09\x09-> 'redo'. \x0a    \x09'fallthrough' \x09\x09\x09-> { 'basic'. 'emacsy' }\x0a  }", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["->"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLCodeWidget.klass); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1214,64 +1136,13 @@ selector: "pcKeyMap", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 protocol: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2="Alt-Left".__minus_gt("goLineStart"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3="Alt-Right".__minus_gt("goLineEnd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4="Alt-Up".__minus_gt("goDocStart"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5="Ctrl-A".__minus_gt("selectAll"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6="Ctrl-Backspace".__minus_gt("delWordBefore"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7="Ctrl-D".__minus_gt("doIt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8="Ctrl-Delete".__minus_gt("delWordAfter"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9="Ctrl-Down".__minus_gt("goDocEnd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10="Ctrl-End".__minus_gt("goDocEnd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$11="Ctrl-F".__minus_gt("find"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$12="Ctrl-G".__minus_gt("findNext"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=11; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$13="Ctrl-I".__minus_gt("inspectIt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=12; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$14="Ctrl-Home".__minus_gt("goDocStart"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$15="Ctrl-Left".__minus_gt("goWordLeft"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=14; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$16="Ctrl-P".__minus_gt("printIt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=15; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$17="Ctrl-Right".__minus_gt("goWordRight"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$18="Ctrl-S".__minus_gt("saveIt"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=17; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$19="Ctrl-Y".__minus_gt("redo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=18; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$20="Ctrl-Z".__minus_gt("undo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=19; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$21="Ctrl-[".__minus_gt("indentLess"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=20; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$22="Ctrl-]".__minus_gt("indentMore"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=21; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$23="Shift-Ctrl-F".__minus_gt("replace"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=22; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$24="Shift-Ctrl-G".__minus_gt("findPrev"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=23; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$25="Shift-Ctrl-R".__minus_gt("replaceAll"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=24; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$26="Shift-Ctrl-Z".__minus_gt("redo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sendIdx["->"]=25; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=globals.HashedCollection._from_([$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,"fallthrough".__minus_gt(["basic"])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=globals.HashedCollection._newFromPairs_(["Alt-Left","goLineStart","Alt-Right","goLineEnd","Alt-Up","goDocStart","Ctrl-A","selectAll","Ctrl-Backspace","delWordBefore","Ctrl-D","doIt","Ctrl-Delete","delWordAfter","Ctrl-Down","goDocEnd","Ctrl-End","goDocEnd","Ctrl-F","find","Ctrl-G","findNext","Ctrl-I","inspectIt","Ctrl-Home","goDocStart","Ctrl-Left","goWordLeft","Ctrl-P","printIt","Ctrl-Right","goWordRight","Ctrl-S","saveIt","Ctrl-Y","redo","Ctrl-Z","undo","Ctrl-[","indentLess","Ctrl-]","indentMore","Shift-Ctrl-F","replace","Shift-Ctrl-G","findPrev","Shift-Ctrl-R","replaceAll","Shift-Ctrl-Z","redo","fallthrough",["basic"]]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx1) {$ctx1.fill(self,"pcKeyMap",{},globals.HLCodeWidget.klass)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "pcKeyMap\x0a\x09^ #{\x0a\x09\x09'Alt-Left' -> \x09\x09'goLineStart'. \x0a\x09\x09'Alt-Right' -> \x09\x09'goLineEnd'.\x0a\x09\x09'Alt-Up' -> \x09\x09'goDocStart'. \x0a\x09\x09'Ctrl-A' -> \x09\x09'selectAll'. \x0a\x09\x09'Ctrl-Backspace' -> 'delWordBefore'. \x0a\x09\x09'Ctrl-D' -> \x09\x09'doIt'. \x0a\x09\x09'Ctrl-Delete' -> \x09\x09'delWordAfter'. \x0a\x09\x09'Ctrl-Down' -> \x09\x09'goDocEnd'.\x0a\x09\x09'Ctrl-End' -> \x09\x09'goDocEnd'. \x0a\x09\x09'Ctrl-F' -> \x09\x09'find'.\x0a\x09\x09'Ctrl-G' -> \x09\x09'findNext'. \x0a\x09\x09'Ctrl-I' -> \x09\x09'inspectIt'.\x0a\x09\x09'Ctrl-Home' -> \x09\x09'goDocStart'. \x0a\x09\x09'Ctrl-Left' -> \x09\x09'goWordLeft'. \x0a\x09\x09'Ctrl-P' -> \x09\x09'printIt'.\x0a\x09\x09'Ctrl-Right' -> \x09'goWordRight'. \x0a\x09\x09'Ctrl-S' -> \x09\x09'saveIt'. \x0a\x09\x09'Ctrl-Y' -> \x09\x09'redo'.\x0a\x09\x09'Ctrl-Z' -> \x09\x09'undo'. \x0a\x09\x09'Ctrl-[' -> \x09\x09'indentLess'. \x0a\x09\x09'Ctrl-]' -> \x09\x09'indentMore'.\x0a\x09\x09'Shift-Ctrl-F' -> \x09'replace'. \x0a\x09\x09'Shift-Ctrl-G' -> \x09'findPrev'. \x0a\x09\x09'Shift-Ctrl-R' -> \x09'replaceAll'.\x0a\x09\x09'Shift-Ctrl-Z' -> \x09'redo'. \x0a\x09\x09'fallthrough' -> \x09#('basic')\x0a}", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["->"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 globals.HLCodeWidget.klass); 
			 |