瀏覽代碼

Merge pull request #412 from herby/fix-tabs-class-definitions

Fix tabs class definitions
Nicolas Petton 11 年之前
父節點
當前提交
383ac64f90
共有 7 個文件被更改,包括 76 次插入37 次删除
  1. 5 3
      js/Importer-Exporter.deploy.js
  2. 6 4
      js/Importer-Exporter.js
  3. 13 0
      js/Kernel-Collections.deploy.js
  4. 18 0
      js/Kernel-Collections.js
  5. 28 28
      st/IDE.st
  6. 2 2
      st/Importer-Exporter.st
  7. 4 0
      st/Kernel-Collections.st

+ 5 - 3
js/Importer-Exporter.deploy.js

@@ -351,7 +351,8 @@ $1=aStream;
 _st($1)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._superclass()));
 _st($1)._nextPutAll_(_st(" subclass: #").__comma(_st(self)._classNameFor_(aClass)));
 _st($1)._lf();
-$2=_st($1)._nextPutAll_(" instanceVariableNames: '");
+_st($1)._tab();
+$2=_st($1)._nextPutAll_("instanceVariableNames: '");
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
@@ -360,7 +361,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(
 $3=aStream;
 _st($3)._nextPutAll_("'");
 _st($3)._lf();
-_st($3)._nextPutAll_(_st(_st(" package: '").__comma(_st(aClass)._category())).__comma("'!"));
+_st($3)._tab();
+_st($3)._nextPutAll_(_st(_st("package: '").__comma(_st(aClass)._category())).__comma("'!"));
 $4=_st($3)._lf();
 $5=_st(_st(aClass)._comment())._notEmpty();
 if(smalltalk.assert($5)){
@@ -373,7 +375,7 @@ $7;
 };
 _st(aStream)._lf();
 return self}, function($ctx1) {$ctx1.fill(self,"exportDefinitionOf:on:",{aClass:aClass,aStream:aStream},smalltalk.ChunkExporter)})},
-messageSends: ["nextPutAll:", "classNameFor:", "superclass", ",", "lf", "do:separatedBy:", "instanceVariableNames", "category", "ifTrue:", "chunkEscape:", "comment", "notEmpty"]}),
+messageSends: ["nextPutAll:", "classNameFor:", "superclass", ",", "lf", "tab", "do:separatedBy:", "instanceVariableNames", "category", "ifTrue:", "chunkEscape:", "comment", "notEmpty"]}),
 smalltalk.ChunkExporter);
 
 smalltalk.addMethod(

+ 6 - 4
js/Importer-Exporter.js

@@ -427,7 +427,8 @@ $1=aStream;
 _st($1)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._superclass()));
 _st($1)._nextPutAll_(_st(" subclass: #").__comma(_st(self)._classNameFor_(aClass)));
 _st($1)._lf();
-$2=_st($1)._nextPutAll_(" instanceVariableNames: '");
+_st($1)._tab();
+$2=_st($1)._nextPutAll_("instanceVariableNames: '");
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
@@ -436,7 +437,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(
 $3=aStream;
 _st($3)._nextPutAll_("'");
 _st($3)._lf();
-_st($3)._nextPutAll_(_st(_st(" package: '").__comma(_st(aClass)._category())).__comma("'!"));
+_st($3)._tab();
+_st($3)._nextPutAll_(_st(_st("package: '").__comma(_st(aClass)._category())).__comma("'!"));
 $4=_st($3)._lf();
 $5=_st(_st(aClass)._comment())._notEmpty();
 if(smalltalk.assert($5)){
@@ -450,8 +452,8 @@ $7;
 _st(aStream)._lf();
 return self}, function($ctx1) {$ctx1.fill(self,"exportDefinitionOf:on:",{aClass:aClass,aStream:aStream},smalltalk.ChunkExporter)})},
 args: ["aClass", "aStream"],
-source: "exportDefinitionOf: aClass on: aStream\x0a\x09\x22Chunk format.\x22\x0a\x0a\x09aStream\x0a\x09\x09nextPutAll: (self classNameFor: aClass superclass);\x0a\x09\x09nextPutAll: ' subclass: #', (self classNameFor: aClass); lf;\x0a\x09\x09nextPutAll: ' instanceVariableNames: '''.\x0a\x09aClass instanceVariableNames\x0a\x09\x09do: [:each | aStream nextPutAll: each]\x0a\x09\x09separatedBy: [aStream nextPutAll: ' '].\x0a\x09aStream\x0a\x09\x09nextPutAll: ''''; lf;\x0a\x09\x09nextPutAll: ' package: ''', aClass category, '''!'; lf.\x0a\x09aClass comment notEmpty ifTrue: [\x0a\x09\x09aStream\x0a\x09\x09nextPutAll: '!', (self classNameFor: aClass), ' commentStamp!';lf;\x0a\x09\x09nextPutAll: (self chunkEscape: aClass comment), '!';lf].\x0a\x09aStream lf",
-messageSends: ["nextPutAll:", "classNameFor:", "superclass", ",", "lf", "do:separatedBy:", "instanceVariableNames", "category", "ifTrue:", "chunkEscape:", "comment", "notEmpty"],
+source: "exportDefinitionOf: aClass on: aStream\x0a\x09\x22Chunk format.\x22\x0a\x0a\x09aStream\x0a\x09\x09nextPutAll: (self classNameFor: aClass superclass);\x0a\x09\x09nextPutAll: ' subclass: #', (self classNameFor: aClass); lf;\x0a\x09\x09tab; nextPutAll: 'instanceVariableNames: '''.\x0a\x09aClass instanceVariableNames\x0a\x09\x09do: [:each | aStream nextPutAll: each]\x0a\x09\x09separatedBy: [aStream nextPutAll: ' '].\x0a\x09aStream\x0a\x09\x09nextPutAll: ''''; lf;\x0a\x09\x09tab; nextPutAll: 'package: ''', aClass category, '''!'; lf.\x0a\x09aClass comment notEmpty ifTrue: [\x0a\x09\x09aStream\x0a\x09\x09nextPutAll: '!', (self classNameFor: aClass), ' commentStamp!';lf;\x0a\x09\x09nextPutAll: (self chunkEscape: aClass comment), '!';lf].\x0a\x09aStream lf",
+messageSends: ["nextPutAll:", "classNameFor:", "superclass", ",", "lf", "tab", "do:separatedBy:", "instanceVariableNames", "category", "ifTrue:", "chunkEscape:", "comment", "notEmpty"],
 referencedClasses: []
 }),
 smalltalk.ChunkExporter);

+ 13 - 0
js/Kernel-Collections.deploy.js

@@ -4212,5 +4212,18 @@ return self}, function($ctx1) {$ctx1.fill(self,"space",{},smalltalk.StringStream
 messageSends: ["nextPut:"]}),
 smalltalk.StringStream);
 
+smalltalk.addMethod(
+"_tab",
+smalltalk.method({
+selector: "tab",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(self)._nextPutAll_(_st((smalltalk.String || String))._tab());
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"tab",{},smalltalk.StringStream)})},
+messageSends: ["nextPutAll:", "tab"]}),
+smalltalk.StringStream);
+
 
 

+ 18 - 0
js/Kernel-Collections.js

@@ -5712,5 +5712,23 @@ referencedClasses: []
 }),
 smalltalk.StringStream);
 
+smalltalk.addMethod(
+"_tab",
+smalltalk.method({
+selector: "tab",
+category: 'writing',
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(self)._nextPutAll_(_st((smalltalk.String || String))._tab());
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"tab",{},smalltalk.StringStream)})},
+args: [],
+source: "tab\x0a\x09^self nextPutAll: String tab\x0a",
+messageSends: ["nextPutAll:", "tab"],
+referencedClasses: ["String"]
+}),
+smalltalk.StringStream);
+
 
 

+ 28 - 28
st/IDE.st

@@ -1,7 +1,7 @@
 Smalltalk current createPackage: 'IDE'!
 Widget subclass: #ClassesList
- instanceVariableNames: 'browser ul nodes'
- package: 'IDE'!
+	instanceVariableNames: 'browser ul nodes'
+	package: 'IDE'!
 
 !ClassesList methodsFor: 'accessing'!
 
@@ -63,8 +63,8 @@ on: aBrowser
 ! !
 
 Widget subclass: #ClassesListNode
- instanceVariableNames: 'browser theClass level nodes'
- package: 'IDE'!
+	instanceVariableNames: 'browser theClass level nodes'
+	package: 'IDE'!
 
 !ClassesListNode methodsFor: ''!
 
@@ -150,8 +150,8 @@ on: aClass browser: aBrowser classes: aCollection level: anInteger
 ! !
 
 ErrorHandler subclass: #DebugErrorHandler
- instanceVariableNames: ''
- package: 'IDE'!
+	instanceVariableNames: ''
+	package: 'IDE'!
 
 !DebugErrorHandler methodsFor: 'error handling'!
 
@@ -169,8 +169,8 @@ initialize
 ! !
 
 Widget subclass: #SourceArea
- instanceVariableNames: 'editor div receiver onDoIt'
- package: 'IDE'!
+	instanceVariableNames: 'editor div receiver onDoIt'
+	package: 'IDE'!
 
 !SourceArea methodsFor: 'accessing'!
 
@@ -338,8 +338,8 @@ setupCodeMirror
 ! !
 
 Widget subclass: #TabManager
- instanceVariableNames: 'selectedTab tabs opened ul input'
- package: 'IDE'!
+	instanceVariableNames: 'selectedTab tabs opened ul input'
+	package: 'IDE'!
 
 !TabManager methodsFor: 'accessing'!
 
@@ -554,8 +554,8 @@ new
 ! !
 
 Widget subclass: #TabWidget
- instanceVariableNames: 'div'
- package: 'IDE'!
+	instanceVariableNames: 'div'
+	package: 'IDE'!
 
 !TabWidget methodsFor: 'accessing'!
 
@@ -628,8 +628,8 @@ open
 ! !
 
 TabWidget subclass: #Browser
- instanceVariableNames: 'selectedPackage selectedClass selectedProtocol selectedMethod packagesList classesList protocolsList methodsList sourceArea tabsList selectedTab saveButton classButtons methodButtons unsavedChanges'
- package: 'IDE'!
+	instanceVariableNames: 'selectedPackage selectedClass selectedProtocol selectedMethod packagesList classesList protocolsList methodsList sourceArea tabsList selectedTab saveButton classButtons methodButtons unsavedChanges'
+	package: 'IDE'!
 
 !Browser methodsFor: 'accessing'!
 
@@ -1312,8 +1312,8 @@ openOn: aClass
 ! !
 
 TabWidget subclass: #Debugger
- instanceVariableNames: 'error selectedContext sourceArea ul ul2 inspector saveButton unsavedChanges selectedVariable selectedVariableName inspectButton'
- package: 'IDE'!
+	instanceVariableNames: 'error selectedContext sourceArea ul ul2 inspector saveButton unsavedChanges selectedVariable selectedVariableName inspectButton'
+	package: 'IDE'!
 
 !Debugger methodsFor: 'accessing'!
 
@@ -1528,8 +1528,8 @@ updateVariablesList
 ! !
 
 TabWidget subclass: #IDETranscript
- instanceVariableNames: 'textarea'
- package: 'IDE'!
+	instanceVariableNames: 'textarea'
+	package: 'IDE'!
 
 !IDETranscript methodsFor: 'accessing'!
 
@@ -1598,8 +1598,8 @@ open
 ! !
 
 TabWidget subclass: #Inspector
- instanceVariableNames: 'label variables object selectedVariable variablesList valueTextarea diveButton sourceArea'
- package: 'IDE'!
+	instanceVariableNames: 'label variables object selectedVariable variablesList valueTextarea diveButton sourceArea'
+	package: 'IDE'!
 
 !Inspector methodsFor: 'accessing'!
 
@@ -1751,8 +1751,8 @@ on: anObject
 ! !
 
 TabWidget subclass: #ProgressBar
- instanceVariableNames: 'percent progressDiv div'
- package: 'IDE'!
+	instanceVariableNames: 'percent progressDiv div'
+	package: 'IDE'!
 
 !ProgressBar methodsFor: 'accessing'!
 
@@ -1788,8 +1788,8 @@ updatePercent: aNumber
 ! !
 
 TabWidget subclass: #ReferencesBrowser
- instanceVariableNames: 'implementors senders implementorsList input timer selector sendersList referencedClasses referencedClassesList matches matchesList'
- package: 'IDE'!
+	instanceVariableNames: 'implementors senders implementorsList input timer selector sendersList referencedClasses referencedClassesList matches matchesList'
+	package: 'IDE'!
 
 !ReferencesBrowser methodsFor: 'accessing'!
 
@@ -1999,8 +1999,8 @@ search: aString
 ! !
 
 TabWidget subclass: #TestRunner
- instanceVariableNames: 'selectedCategories packagesList selectedClasses classesList selectedMethods progressBar methodsList result statusDiv'
- package: 'IDE'!
+	instanceVariableNames: 'selectedCategories packagesList selectedClasses classesList selectedMethods progressBar methodsList result statusDiv'
+	package: 'IDE'!
 
 !TestRunner methodsFor: 'accessing'!
 
@@ -2241,8 +2241,8 @@ updateStatusDiv
 ! !
 
 TabWidget subclass: #Workspace
- instanceVariableNames: 'sourceArea'
- package: 'IDE'!
+	instanceVariableNames: 'sourceArea'
+	package: 'IDE'!
 
 !Workspace methodsFor: 'accessing'!
 

+ 2 - 2
st/Importer-Exporter.st

@@ -198,13 +198,13 @@ exportDefinitionOf: aClass on: aStream
 	aStream
 		nextPutAll: (self classNameFor: aClass superclass);
 		nextPutAll: ' subclass: #', (self classNameFor: aClass); lf;
-		nextPutAll: ' instanceVariableNames: '''.
+		tab; nextPutAll: 'instanceVariableNames: '''.
 	aClass instanceVariableNames
 		do: [:each | aStream nextPutAll: each]
 		separatedBy: [aStream nextPutAll: ' '].
 	aStream
 		nextPutAll: ''''; lf;
-		nextPutAll: ' package: ''', aClass category, '''!!'; lf.
+		tab; nextPutAll: 'package: ''', aClass category, '''!!'; lf.
 	aClass comment notEmpty ifTrue: [
 		aStream
 		nextPutAll: '!!', (self classNameFor: aClass), ' commentStamp!!';lf;

+ 4 - 0
st/Kernel-Collections.st

@@ -1889,5 +1889,9 @@ nextPutAll: aString
 
 space
 	self nextPut: ' '
+!
+
+tab
+	^self nextPutAll: String tab
 ! !