Class { #name : #PPCMList, #superclass : #PPCMDelegateNode, #instVars : [ 'type', 'start' ], #category : #'PetitMarkdown-AST' } { #category : #visiting } PPCMList >> accept: visitor [ ^ visitor visitList: self ] { #category : #accessing } PPCMList >> isBlockLevel [ ^ true ] { #category : #'as yet unclassified' } PPCMList >> isLooseItem: item [ | document size | "empty item case" (item children size == 0) ifTrue: [ ^ false ]. document := item child. size := document children size. size < 3 ifTrue: [ ^ false ]. (1 to: size - 2) do: [ :idx | ((document children at: idx) isBlockLevel and: [(document children at: idx + 1) isBlankLine and: [(document children at: idx + 2) isBlockLevel] ]) ifTrue: [ ^ true ] ]. ^ false ] { #category : #'as yet unclassified' } PPCMList >> isLooseList [ | size | size := children size. size < 3 ifTrue: [ ^ false ]. (1 to: size - 2) do: [ :idx | ((children at: idx) isBlockLevel and: [(children at: idx + 1) isBlankLine and: [(children at: idx + 2) isBlockLevel] ]) ifTrue: [ ^ true ] ]. ^ false ] { #category : #'as yet unclassified' } PPCMList >> isTight [ "blanks in the list?" self isLooseList ifTrue: [ ^ false ]. "blanks in the items?" self children do: [ :listItem | (self isLooseItem: listItem) ifTrue: [ ^ false ] ]. ^ true ] { #category : #accessing } PPCMList >> start [ ^ start ] { #category : #accessing } PPCMList >> start: anObject [ start := anObject ] { #category : #accessing } PPCMList >> type [ ^ type ] { #category : #accessing } PPCMList >> type: string [ type := string ] { #category : #accessing } PPCMList >> viewBody [ | aText | aText := (self className, ' type: ', self type) asRopedText. self children do: [ :child | aText append: ' ' asRopedText. aText append: (child className asRopedText foreground: BrGlamorousColors disabledButtonTextColor). aText append: ('= "' asRopedText foreground: BrGlamorousColors disabledButtonTextColor). aText append: (child className asRopedText foreground: BrGlamorousColors disabledButtonTextColor). aText append: ('"' asRopedText foreground: BrGlamorousColors disabledButtonTextColor) ]. ^ aText ]