StéphaneDucasse
StéphaneDucasse
And it would be good like that the tree is more homogeneous and visitors do not have to pay attention to difference.
For example ``` MicMonospaceFormatBlock>> children "should be deprecated" ^ Array with: (MicTextBlock new bodyString: self bodyString) ``` ``` UnevaluatedBlock >> children "to be nicely polymorphic all nodes have children" ^#()...
In particular make sure that the backpointer from the child to the parent is well managed.
``` withLinesIn: aString do: aBlock separatedBy: anotherBlock "this method shows that the body of code block is weak because it should encapsulate the way it internally represents lines. Now this...
On mic resources ``` contents [^ self fileReference isDirectory ifTrue: [''] ifFalse: [self fileReference contents] ] on: FileDoesNotExistException do: [ :error | error resignalAs: (MicResourceReferenceError new messageText: 'Microdown file not...
MicInlineDelimiter is used for parsing token ``` tokenize: rawString | inlineString splits from | inlineString := self class backslashEncode: rawString. splits := MicInlineDelimiter allRegex matchingRangesIn: inlineString. tokens := OrderedCollection new....