Tonel is a file-per-class format for monticello repositories.
Installing
Pharo > 6.1
Tonel comes out of the box in Pharo > 6.1
Pharo 4.0 to 6.0
Metacello new baseline: 'Metacello'; repository: 'github://Metacello/metacello:pharo-6.1_dev/repository'; get. Metacello new baseline: 'Metacello'; repository: 'github://Metacello/metacello:pharo-6.1_dev/repository'; onConflict: [:ex | ex allow]; load. Metacello new repository: 'github://pharo-vcs/tonel'; baseline: 'Tonel'; load.
Tonel Spec
[comment]
type { typeDefinition }
(
[{ methodMetadata }]
method [
methodBody ]
)*
-
comment
comment declaration is this:
" comment string "
it's optional (but normally there, in a good design ;)
-
type
Class|Trait|Extension
-
typeDefinition
STON file with class/trait/extension metadata
-
methodMetadata
STON file with method metadata it's optional (but also, recommended)
-
method
method declaration is this:
Class[ class] >> selector
-
methodBody
the method body (we do not parse contents, that's a classbuilder task)
Miscelanous
When using Iceberg to save Smalltalk in this format it is customary to follow the convention of saving Tonel source in a in immediate project sub directory called src. To cause Iceberg to use Tonel format you must additionaly create a file called .properties in this directory containing the following directive: