Procházet zdrojové kódy

Merge remote-tracking branch 'refs/remotes/ben/helios' into helios

Conflicts:
	js/Helios-KeyBindings.deploy.js
	js/Helios-KeyBindings.js
	st/Helios-KeyBindings.st
Nicolas Petton před 11 roky
rodič
revize
7b3767c4cc

+ 6 - 6
js/Helios-Browser.deploy.js

@@ -1767,14 +1767,14 @@ messageSends: ["announce:", "error:", "new", "yourself", "announcer"]}),
 smalltalk.HLBrowserModel);
 
 smalltalk.addMethod(
-"_moveMethodToClass_",
+"_moveMethodToClass_ifAbsent_",
 smalltalk.method({
-selector: "moveMethodToClass:",
-fn: function (aClassName){
+selector: "moveMethodToClass:ifAbsent:",
+fn: function (aClassName,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(console)._log_(_st("moveMethodToClass ").__comma(aClassName));
-return self}, function($ctx1) {$ctx1.fill(self,"moveMethodToClass:",{aClassName:aClassName},smalltalk.HLBrowserModel)})},
-messageSends: ["log:", ","]}),
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._environment())._moveMethod_toClass_ifAbsent_(_st(self)._selectedMethod(),aClassName,aBlock);
+return self}, function($ctx1) {$ctx1.fill(self,"moveMethodToClass:ifAbsent:",{aClassName:aClassName,aBlock:aBlock},smalltalk.HLBrowserModel)})},
+messageSends: ["moveMethod:toClass:ifAbsent:", "selectedMethod", "environment"]}),
 smalltalk.HLBrowserModel);
 
 smalltalk.addMethod(

+ 8 - 8
js/Helios-Browser.js

@@ -2307,17 +2307,17 @@ referencedClasses: ["HLUnknownVariableErrorRaised"]
 smalltalk.HLBrowserModel);
 
 smalltalk.addMethod(
-"_moveMethodToClass_",
+"_moveMethodToClass_ifAbsent_",
 smalltalk.method({
-selector: "moveMethodToClass:",
+selector: "moveMethodToClass:ifAbsent:",
 category: 'commands actions',
-fn: function (aClassName){
+fn: function (aClassName,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(console)._log_(_st("moveMethodToClass ").__comma(aClassName));
-return self}, function($ctx1) {$ctx1.fill(self,"moveMethodToClass:",{aClassName:aClassName},smalltalk.HLBrowserModel)})},
-args: ["aClassName"],
-source: "moveMethodToClass: aClassName\x0a\x09console log: 'moveMethodToClass ', aClassName",
-messageSends: ["log:", ","],
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._environment())._moveMethod_toClass_ifAbsent_(_st(self)._selectedMethod(),aClassName,aBlock);
+return self}, function($ctx1) {$ctx1.fill(self,"moveMethodToClass:ifAbsent:",{aClassName:aClassName,aBlock:aBlock},smalltalk.HLBrowserModel)})},
+args: ["aClassName", "aBlock"],
+source: "moveMethodToClass: aClassName ifAbsent: aBlock\x0a\x09self environment \x0a\x09\x09moveMethod: self selectedMethod \x0a\x09\x09toClass: aClassName \x0a\x09\x09ifAbsent: aBlock",
+messageSends: ["moveMethod:toClass:ifAbsent:", "selectedMethod", "environment"],
 referencedClasses: []
 }),
 smalltalk.HLBrowserModel);

+ 3 - 12
js/Helios-Commands-Browser.deploy.js

@@ -293,18 +293,9 @@ smalltalk.method({
 selector: "execute",
 fn: function (){
 var self=this;
-var class_;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-class_=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._at_(_st(self)._input());
-$1=class_;
-if(($receiver = $1) == nil || $receiver == undefined){
-_st(self)._commandError_(_st("No class named: ").__comma(_st(self)._input()));
-} else {
-$1;
-};
-_st(_st(self)._model())._moveMethodToClass_(class_);
-return self}, function($ctx1) {$ctx1.fill(self,"execute",{class_:class_},smalltalk.HLMoveMethodToClassCommand)})},
-messageSends: ["at:", "input", "current", "ifNil:", "commandError:", ",", "moveMethodToClass:", "model"]}),
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._moveMethodToClass_ifAbsent_(_st(self)._input(),_st(self)._errorBlock());
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToClassCommand)})},
+messageSends: ["moveMethodToClass:ifAbsent:", "input", "errorBlock", "model"]}),
 smalltalk.HLMoveMethodToClassCommand);
 
 smalltalk.addMethod(

+ 6 - 15
js/Helios-Commands-Browser.js

@@ -409,21 +409,12 @@ selector: "execute",
 category: 'executing',
 fn: function (){
 var self=this;
-var class_;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-class_=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._at_(_st(self)._input());
-$1=class_;
-if(($receiver = $1) == nil || $receiver == undefined){
-_st(self)._commandError_(_st("No class named: ").__comma(_st(self)._input()));
-} else {
-$1;
-};
-_st(_st(self)._model())._moveMethodToClass_(class_);
-return self}, function($ctx1) {$ctx1.fill(self,"execute",{class_:class_},smalltalk.HLMoveMethodToClassCommand)})},
-args: [],
-source: "execute\x0a\x09| class |\x0a\x09class := Smalltalk current at: self input.\x0a\x09class ifNil: [ self commandError: 'No class named: ', self input ].\x0a\x09\x0a\x09self model moveMethodToClass: class",
-messageSends: ["at:", "input", "current", "ifNil:", "commandError:", ",", "moveMethodToClass:", "model"],
-referencedClasses: ["Smalltalk"]
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._moveMethodToClass_ifAbsent_(_st(self)._input(),_st(self)._errorBlock());
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToClassCommand)})},
+args: [],
+source: "execute\x0a\x09self model moveMethodToClass: self input ifAbsent: self errorBlock",
+messageSends: ["moveMethodToClass:ifAbsent:", "input", "errorBlock", "model"],
+referencedClasses: []
 }),
 smalltalk.HLMoveMethodToClassCommand);
 

+ 25 - 1
js/Helios-Commands-Core.deploy.js

@@ -1,5 +1,5 @@
 smalltalk.addPackage('Helios-Commands-Core');
-smalltalk.addClass('HLCommand', smalltalk.Object, ['input'], 'Helios-Commands-Core');
+smalltalk.addClass('HLCommand', smalltalk.Object, ['input', 'errorBlock'], 'Helios-Commands-Core');
 smalltalk.addMethod(
 "_asActionBinding",
 smalltalk.method({
@@ -71,6 +71,30 @@ return $1;
 messageSends: ["documentation", "class"]}),
 smalltalk.HLCommand);
 
+smalltalk.addMethod(
+"_errorBlock",
+smalltalk.method({
+selector: "errorBlock",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@errorBlock"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"errorBlock",{},smalltalk.HLCommand)})},
+messageSends: []}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_errorBlock_",
+smalltalk.method({
+selector: "errorBlock:",
+fn: function (aBlock){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@errorBlock"]=aBlock;
+return self}, function($ctx1) {$ctx1.fill(self,"errorBlock:",{aBlock:aBlock},smalltalk.HLCommand)})},
+messageSends: []}),
+smalltalk.HLCommand);
+
 smalltalk.addMethod(
 "_execute",
 smalltalk.method({

+ 35 - 1
js/Helios-Commands-Core.js

@@ -1,5 +1,5 @@
 smalltalk.addPackage('Helios-Commands-Core');
-smalltalk.addClass('HLCommand', smalltalk.Object, ['input'], 'Helios-Commands-Core');
+smalltalk.addClass('HLCommand', smalltalk.Object, ['input', 'errorBlock'], 'Helios-Commands-Core');
 smalltalk.addMethod(
 "_asActionBinding",
 smalltalk.method({
@@ -96,6 +96,40 @@ referencedClasses: []
 }),
 smalltalk.HLCommand);
 
+smalltalk.addMethod(
+"_errorBlock",
+smalltalk.method({
+selector: "errorBlock",
+category: 'accessing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@errorBlock"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"errorBlock",{},smalltalk.HLCommand)})},
+args: [],
+source: "errorBlock\x0a\x09^ errorBlock",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLCommand);
+
+smalltalk.addMethod(
+"_errorBlock_",
+smalltalk.method({
+selector: "errorBlock:",
+category: 'accessing',
+fn: function (aBlock){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@errorBlock"]=aBlock;
+return self}, function($ctx1) {$ctx1.fill(self,"errorBlock:",{aBlock:aBlock},smalltalk.HLCommand)})},
+args: ["aBlock"],
+source: "errorBlock: aBlock\x0a\x09errorBlock := aBlock",
+messageSends: [],
+referencedClasses: []
+}),
+smalltalk.HLCommand);
+
 smalltalk.addMethod(
 "_execute",
 smalltalk.method({

+ 58 - 0
js/Helios-Environments.deploy.js

@@ -74,6 +74,17 @@ return $1;
 messageSends: ["subclassResponsibility"]}),
 smalltalk.HLEnvironment);
 
+smalltalk.addMethod(
+"_moveMethod_toClass_ifAbsent_",
+smalltalk.method({
+selector: "moveMethod:toClass:ifAbsent:",
+fn: function (aMethod,aClassName,aBlock){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(self)._subclassResponsibility();
+return self}, function($ctx1) {$ctx1.fill(self,"moveMethod:toClass:ifAbsent:",{aMethod:aMethod,aClassName:aClassName,aBlock:aBlock},smalltalk.HLEnvironment)})},
+messageSends: ["subclassResponsibility"]}),
+smalltalk.HLEnvironment);
+
 smalltalk.addMethod(
 "_packages",
 smalltalk.method({
@@ -128,6 +139,28 @@ catch(e) {if(e===$early)return e[0]; throw e}
 messageSends: ["new", "on:do:", "alert:", "messageText", "parseExpression:", "evaluateExpression:on:"]}),
 smalltalk.HLLocalEnvironment);
 
+smalltalk.addMethod(
+"_moveMethod_toClass_ifAbsent_",
+smalltalk.method({
+selector: "moveMethod:toClass:ifAbsent:",
+fn: function (aMethod,aClassName,aBlock){
+var self=this;
+var destinationClass;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+destinationClass=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._at_(_st(aClassName)._asSymbol());
+$1=destinationClass;
+if(($receiver = $1) == nil || $receiver == undefined){
+$2=_st(aBlock)._value();
+return $2;
+} else {
+$1;
+};
+_st(destinationClass)._adoptMethod_(aMethod);
+_st(_st(aMethod)._methodClass())._forsakeMethod_(aMethod);
+return self}, function($ctx1) {$ctx1.fill(self,"moveMethod:toClass:ifAbsent:",{aMethod:aMethod,aClassName:aClassName,aBlock:aBlock,destinationClass:destinationClass},smalltalk.HLLocalEnvironment)})},
+messageSends: ["at:", "asSymbol", "current", "ifNil:", "value", "adoptMethod:", "forsakeMethod:", "methodClass"]}),
+smalltalk.HLLocalEnvironment);
+
 smalltalk.addMethod(
 "_packages",
 smalltalk.method({
@@ -201,3 +234,28 @@ smalltalk.HLRemoteObject);
 
 
 
+smalltalk.addMethod(
+"_adoptMethod_",
+smalltalk.method({
+selector: "adoptMethod:",
+fn: function (aMethod){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+$1=self;
+_st($1)._compile_(_st(aMethod)._source());
+$2=_st($1)._category_(_st(aMethod)._protocol());
+return self}, function($ctx1) {$ctx1.fill(self,"adoptMethod:",{aMethod:aMethod},smalltalk.Behavior)})},
+messageSends: ["compile:", "source", "category:", "protocol"]}),
+smalltalk.Behavior);
+
+smalltalk.addMethod(
+"_forsakeMethod_",
+smalltalk.method({
+selector: "forsakeMethod:",
+fn: function (aMethod){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(self)._removeCompiledMethod_(aMethod);
+return self}, function($ctx1) {$ctx1.fill(self,"forsakeMethod:",{aMethod:aMethod},smalltalk.Behavior)})},
+messageSends: ["removeCompiledMethod:"]}),
+smalltalk.Behavior);
+

+ 78 - 0
js/Helios-Environments.js

@@ -105,6 +105,22 @@ referencedClasses: []
 }),
 smalltalk.HLEnvironment);
 
+smalltalk.addMethod(
+"_moveMethod_toClass_ifAbsent_",
+smalltalk.method({
+selector: "moveMethod:toClass:ifAbsent:",
+category: 'actions',
+fn: function (aMethod,aClassName,aBlock){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(self)._subclassResponsibility();
+return self}, function($ctx1) {$ctx1.fill(self,"moveMethod:toClass:ifAbsent:",{aMethod:aMethod,aClassName:aClassName,aBlock:aBlock},smalltalk.HLEnvironment)})},
+args: ["aMethod", "aClassName", "aBlock"],
+source: "moveMethod: aMethod toClass: aClassName ifAbsent: aBlock\x0a\x09self subclassResponsibility",
+messageSends: ["subclassResponsibility"],
+referencedClasses: []
+}),
+smalltalk.HLEnvironment);
+
 smalltalk.addMethod(
 "_packages",
 smalltalk.method({
@@ -174,6 +190,33 @@ referencedClasses: ["Compiler", "Error"]
 }),
 smalltalk.HLLocalEnvironment);
 
+smalltalk.addMethod(
+"_moveMethod_toClass_ifAbsent_",
+smalltalk.method({
+selector: "moveMethod:toClass:ifAbsent:",
+category: 'actions',
+fn: function (aMethod,aClassName,aBlock){
+var self=this;
+var destinationClass;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+destinationClass=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._at_(_st(aClassName)._asSymbol());
+$1=destinationClass;
+if(($receiver = $1) == nil || $receiver == undefined){
+$2=_st(aBlock)._value();
+return $2;
+} else {
+$1;
+};
+_st(destinationClass)._adoptMethod_(aMethod);
+_st(_st(aMethod)._methodClass())._forsakeMethod_(aMethod);
+return self}, function($ctx1) {$ctx1.fill(self,"moveMethod:toClass:ifAbsent:",{aMethod:aMethod,aClassName:aClassName,aBlock:aBlock,destinationClass:destinationClass},smalltalk.HLLocalEnvironment)})},
+args: ["aMethod", "aClassName", "aBlock"],
+source: "moveMethod: aMethod toClass: aClassName ifAbsent: aBlock\x0a\x09| destinationClass |\x0a\x09\x0a\x09destinationClass := Smalltalk current at: aClassName asSymbol.\x0a\x09destinationClass ifNil: [ ^ aBlock value ].\x0a\x09\x0a\x09destinationClass adoptMethod: aMethod.\x0a\x09aMethod methodClass forsakeMethod: aMethod.\x0a\x09",
+messageSends: ["at:", "asSymbol", "current", "ifNil:", "value", "adoptMethod:", "forsakeMethod:", "methodClass"],
+referencedClasses: ["Smalltalk"]
+}),
+smalltalk.HLLocalEnvironment);
+
 smalltalk.addMethod(
 "_packages",
 smalltalk.method({
@@ -278,3 +321,38 @@ smalltalk.HLRemoteObject);
 
 
 
+smalltalk.addMethod(
+"_adoptMethod_",
+smalltalk.method({
+selector: "adoptMethod:",
+category: '*Helios-Environments',
+fn: function (aMethod){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+$1=self;
+_st($1)._compile_(_st(aMethod)._source());
+$2=_st($1)._category_(_st(aMethod)._protocol());
+return self}, function($ctx1) {$ctx1.fill(self,"adoptMethod:",{aMethod:aMethod},smalltalk.Behavior)})},
+args: ["aMethod"],
+source: "adoptMethod: aMethod\x0a\x09self \x0a\x09\x09compile: aMethod source;\x0a\x09\x09category: aMethod protocol.",
+messageSends: ["compile:", "source", "category:", "protocol"],
+referencedClasses: []
+}),
+smalltalk.Behavior);
+
+smalltalk.addMethod(
+"_forsakeMethod_",
+smalltalk.method({
+selector: "forsakeMethod:",
+category: '*Helios-Environments',
+fn: function (aMethod){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(self)._removeCompiledMethod_(aMethod);
+return self}, function($ctx1) {$ctx1.fill(self,"forsakeMethod:",{aMethod:aMethod},smalltalk.Behavior)})},
+args: ["aMethod"],
+source: "forsakeMethod: aMethod\x0a\x09self removeCompiledMethod: aMethod",
+messageSends: ["removeCompiledMethod:"],
+referencedClasses: []
+}),
+smalltalk.Behavior);
+

+ 5 - 2
st/Helios-Browser.st

@@ -846,8 +846,11 @@ saveSourceCode
 
 !HLBrowserModel methodsFor: 'commands actions'!
 
-moveMethodToClass: aClassName
-	console log: 'moveMethodToClass ', aClassName
+moveMethodToClass: aClassName ifAbsent: aBlock
+	self environment 
+		moveMethod: self selectedMethod 
+		toClass: aClassName 
+		ifAbsent: aBlock
 ! !
 
 !HLBrowserModel methodsFor: 'compiling'!

+ 1 - 5
st/Helios-Commands-Browser.st

@@ -182,11 +182,7 @@ inputLabel
 !HLMoveMethodToClassCommand methodsFor: 'executing'!
 
 execute
-	| class |
-	class := Smalltalk current at: self input.
-	class ifNil: [ self commandError: 'No class named: ', self input ].
-	
-	self model moveMethodToClass: class
+	self model moveMethodToClass: self input ifAbsent: self errorBlock
 ! !
 
 !HLMoveMethodToClassCommand methodsFor: 'testing'!

+ 9 - 1
st/Helios-Commands-Core.st

@@ -1,6 +1,6 @@
 Smalltalk current createPackage: 'Helios-Commands-Core'!
 Object subclass: #HLCommand
- instanceVariableNames: 'input'
+ instanceVariableNames: 'input errorBlock'
  package: 'Helios-Commands-Core'!
 
 !HLCommand methodsFor: 'accessing'!
@@ -9,6 +9,14 @@ documentation
 	^ self class documentation
 !
 
+errorBlock
+	^ errorBlock
+!
+
+errorBlock: aBlock
+	errorBlock := aBlock
+!
+
 input
 	^ input
 !

+ 34 - 8
st/Helios-Environments.st

@@ -1,7 +1,7 @@
 Smalltalk current createPackage: 'Helios-Environments'!
 Object subclass: #HLEnvironment
-	instanceVariableNames: ''
-	package: 'Helios-Environments'!
+ instanceVariableNames: ''
+ package: 'Helios-Environments'!
 !HLEnvironment commentStamp!
 Abstract class defining common behavior for local and remote environments!
 
@@ -20,6 +20,10 @@ packages
 eval: someCode on: aReceiver
 
 	^ self subclassResponsibility
+!
+
+moveMethod: aMethod toClass: aClassName ifAbsent: aBlock
+	self subclassResponsibility
 ! !
 
 !HLEnvironment methodsFor: 'compiling'!
@@ -47,8 +51,8 @@ compileMethod: sourceCode for: class protocol: protocol
 ! !
 
 HLEnvironment subclass: #HLLocalEnvironment
-	instanceVariableNames: ''
-	package: 'Helios-Environments'!
+ instanceVariableNames: ''
+ package: 'Helios-Environments'!
 
 !HLLocalEnvironment methodsFor: 'accessing'!
 
@@ -68,11 +72,21 @@ eval: aString on: aReceiver
 	[ compiler parseExpression: aString ] on: Error do: [ :ex |
 		^ window alert: ex messageText ].
 	^ compiler evaluateExpression: aString on: aReceiver
+!
+
+moveMethod: aMethod toClass: aClassName ifAbsent: aBlock
+	| destinationClass |
+	
+	destinationClass := Smalltalk current at: aClassName asSymbol.
+	destinationClass ifNil: [ ^ aBlock value ].
+	
+	destinationClass adoptMethod: aMethod.
+	aMethod methodClass forsakeMethod: aMethod.
 ! !
 
 HLEnvironment subclass: #HLRemoteEnvironment
-	instanceVariableNames: ''
-	package: 'Helios-Environments'!
+ instanceVariableNames: ''
+ package: 'Helios-Environments'!
 
 !HLRemoteEnvironment methodsFor: 'accessing'!
 
@@ -98,8 +112,8 @@ eval: someCode on: aReceiver
 ! !
 
 Object subclass: #HLRemoteObject
-	instanceVariableNames: ''
-	package: 'Helios-Environments'!
+ instanceVariableNames: ''
+ package: 'Helios-Environments'!
 !HLRemoteObject commentStamp!
 This is a local proxy to a remote object.
 Tipically useful for evaluating and inspecting and interacting with instances of a remote VM.!
@@ -126,3 +140,15 @@ printString
 	^ 'this is a remote object'
 ! !
 
+!Behavior methodsFor: '*Helios-Environments'!
+
+adoptMethod: aMethod
+	self 
+		compile: aMethod source;
+		category: aMethod protocol.
+!
+
+forsakeMethod: aMethod
+	self removeCompiledMethod: aMethod
+! !
+

+ 12 - 12
st/Helios-KeyBindings.st

@@ -1,7 +1,7 @@
 Smalltalk current createPackage: 'Helios-KeyBindings'!
 Object subclass: #HLBinding
- instanceVariableNames: 'key label each'
- package: 'Helios-KeyBindings'!
+	instanceVariableNames: 'key label each'
+	package: 'Helios-KeyBindings'!
 
 !HLBinding methodsFor: 'accessing'!
 
@@ -79,8 +79,8 @@ on: anInteger labelled: aString
 ! !
 
 HLBinding subclass: #HLBindingAction
- instanceVariableNames: 'command'
- package: 'Helios-KeyBindings'!
+	instanceVariableNames: 'command'
+	package: 'Helios-KeyBindings'!
 
 !HLBindingAction methodsFor: 'accessing'!
 
@@ -121,8 +121,8 @@ isFinal
 ! !
 
 HLBinding subclass: #HLBindingGroup
- instanceVariableNames: 'bindings'
- package: 'Helios-KeyBindings'!
+	instanceVariableNames: 'bindings'
+	package: 'Helios-KeyBindings'!
 
 !HLBindingGroup methodsFor: 'accessing'!
 
@@ -187,8 +187,8 @@ isActive
 ! !
 
 HLBinding subclass: #HLBindingInput
- instanceVariableNames: 'input callback'
- package: 'Helios-KeyBindings'!
+	instanceVariableNames: 'input callback'
+	package: 'Helios-KeyBindings'!
 
 !HLBindingInput methodsFor: 'accessing'!
 
@@ -236,8 +236,8 @@ isActive
 ! !
 
 Object subclass: #HLKeyBinder
- instanceVariableNames: 'modifierKey helper bindings selectedBinding'
- package: 'Helios-KeyBindings'!
+	instanceVariableNames: 'modifierKey helper bindings selectedBinding'
+	package: 'Helios-KeyBindings'!
 
 !HLKeyBinder methodsFor: 'accessing'!
 
@@ -377,8 +377,8 @@ systemIsMac
 ! !
 
 HLWidget subclass: #HLKeyBinderHelper
- instanceVariableNames: 'keyBinder'
- package: 'Helios-KeyBindings'!
+	instanceVariableNames: 'keyBinder'
+	package: 'Helios-KeyBindings'!
 
 !HLKeyBinderHelper methodsFor: 'accessing'!