Grafoscopio/src/Grafoscopio/GrafoscopioAttributeBranchV...

136 lines
3.6 KiB
Smalltalk

Class {
#name : #GrafoscopioAttributeBranchVisitor,
#superclass : #Object,
#instVars : [
'attributes',
'level',
'listLevel',
'index',
'text',
'styler'
],
#category : #'Grafoscopio-Pillar-Style'
}
{ #category : #accessing }
GrafoscopioAttributeBranchVisitor >> analyzeBranch: aBranch at: anIndex [
index := anIndex.
self halt.
^ [ aBranch
inject: OrderedCollection new
into: [ :attrs :node |
node accept: self.
attrs addAll: (attributes at: node).
attrs ] ]
ensure: [ index := 0 ]
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> attributes [
^ attributes
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> index: anIndex [
index := anIndex
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> initialize [
attributes := Dictionary new.
styler := GrafoscopioPillarStyler defaultStyler.
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> text: aGrafoscopioPillarASText [
text := aGrafoscopioPillarASText
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitCodeblock: aPRCodeblock [
attributes
at: aPRCodeblock
ifAbsentPut: [ styler attributesForCodeBlock: aPRCodeblock ].
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitCommentedLine: aPRCommentedLine [
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitDocument: aPRDocument [
attributes at: aPRDocument ifAbsentPut: [ styler attributesForDocument: aPRDocument ]
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitExternalLink: aPRExternalLink [
attributes
at: aPRExternalLink
ifAbsentPut: [ styler attributesForExternalLink: aPRExternalLink ]
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitFigure: aPRFigure [
attributes at: aPRFigure ifAbsentPut: [ styler attributesForFigure: aPRFigure ]
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitFormatText: aGrafoscopioFormatTextNode [
attributes
at: aGrafoscopioFormatTextNode
ifAbsentPut: [ styler attributesForFormatText: aGrafoscopioFormatTextNode ]
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitHeader: aPRHeader [
attributes
at: aPRHeader
ifAbsentPut: [ styler attributesForHeader: aPRHeader ].
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitInternalLink: aPRInternalLink [
attributes
at: aPRInternalLink
ifAbsentPut: [ styler attributesForInternalLink: aPRInternalLink ]
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitLineBreak: aPRLineBreak [
attributes
at: aPRLineBreak
ifAbsentPut: [ styler attributesForLineBreak: aPRLineBreak ]
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitListItem: aPRListItem [
attributes
at: aPRListItem
ifAbsentPut: [ styler attributesForListItem: aPRListItem at: index ]
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitParagraph: aPRParagraph [
attributes
at: aPRParagraph
ifAbsentPut: [ styler attributesForParagraph: aPRParagraph ]
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitText: aPRText [
attributes
at: aPRText
ifAbsentPut: [ styler attributesForText: aPRText ]
]
{ #category : #'as yet unclassified' }
GrafoscopioAttributeBranchVisitor >> visitUnorderedList: aPRUnorderedList [
attributes
at: aPRUnorderedList
ifAbsentPut: [ styler attributesForUnorderedList: aPRUnorderedList ]
]