@@ -30,12 +30,19 @@ const (
3030 AttributeFilterFloat
3131)
3232
33+ type attributeRenderType uint8
34+
35+ const (
36+ attributeRenderTypeBlock attributeRenderType = iota
37+ attributeRenderTypeInline
38+ )
39+
3340func shouldRenderAttributeType (at AttributeFilter , include AttributeFilter , exclude AttributeFilter ) bool {
3441 return ((at & include ) == at ) && ((at & exclude ) != at )
3542}
3643
37- func renderAttributes (cxt Target , attributes []asciidoc.Attribute , inline bool ) error {
38- _ , err := renderSelectAttributes (cxt , attributes , AttributeFilterAll , AttributeFilterNone , inline )
44+ func renderAttributes (cxt Target , attributes []asciidoc.Attribute , renderType attributeRenderType ) error {
45+ _ , err := renderSelectAttributes (cxt , attributes , AttributeFilterAll , AttributeFilterNone , renderType )
3946 return err
4047}
4148
@@ -67,12 +74,12 @@ func getAttributeType(name asciidoc.AttributeName) AttributeFilter {
6774 return AttributeFilterNone
6875}
6976
70- func renderSelectAttributes (cxt Target , attributes []asciidoc.Attribute , include AttributeFilter , exclude AttributeFilter , inline bool ) (n int , err error ) {
77+ func renderSelectAttributes (cxt Target , attributes []asciidoc.Attribute , include AttributeFilter , exclude AttributeFilter , renderType attributeRenderType ) (n int , err error ) {
7178 if len (attributes ) == 0 {
7279 return
7380 }
7481
75- type attributeClass uint32
82+ type attributeClass uint8
7683
7784 const (
7885 attributeClassNone attributeClass = iota
@@ -136,7 +143,7 @@ func renderSelectAttributes(cxt Target, attributes []asciidoc.Attribute, include
136143 continue
137144 }
138145 for _ , ta := range anchors {
139- err = renderAttributeAnchor (cxt , ta , include , exclude , inline )
146+ err = renderAttributeAnchor (cxt , ta , include , exclude , renderType )
140147 if err != nil {
141148 return
142149 }
@@ -170,7 +177,7 @@ func renderSelectAttributes(cxt Target, attributes []asciidoc.Attribute, include
170177 if len (filtered ) == 0 {
171178 continue
172179 }
173- if ! inline {
180+ if renderType != attributeRenderTypeInline {
174181 cxt .EnsureNewLine ()
175182 }
176183 cxt .FlushWrap ()
@@ -216,7 +223,7 @@ func renderSelectAttributes(cxt Target, attributes []asciidoc.Attribute, include
216223 n ++
217224 }
218225 cxt .WriteString ("]" )
219- if ! inline {
226+ if renderType != attributeRenderTypeInline {
220227 cxt .WriteString ("\n " )
221228 }
222229 cxt .EndBlock ()
@@ -229,10 +236,10 @@ func renderSelectAttributes(cxt Target, attributes []asciidoc.Attribute, include
229236 return
230237}
231238
232- func renderAttributeAnchor (cxt Target , anchor * asciidoc.AnchorAttribute , include AttributeFilter , exclude AttributeFilter , inline bool ) (err error ) {
239+ func renderAttributeAnchor (cxt Target , anchor * asciidoc.AnchorAttribute , include AttributeFilter , exclude AttributeFilter , renderType attributeRenderType ) (err error ) {
233240 id := anchor .ID
234241 if len (id ) > 0 && shouldRenderAttributeType (AttributeFilterID , include , exclude ) {
235- if ! inline {
242+ if renderType != attributeRenderTypeInline {
236243 cxt .EnsureNewLine ()
237244 }
238245 cxt .FlushWrap ()
@@ -255,7 +262,7 @@ func renderAttributeAnchor(cxt Target, anchor *asciidoc.AnchorAttribute, include
255262 }
256263 }
257264 cxt .WriteString ("]]" )
258- if ! inline {
265+ if renderType != attributeRenderTypeInline {
259266 cxt .WriteRune ('\n' )
260267 }
261268 cxt .EndBlock ()
0 commit comments