MCPcopy
hub / github.com/russross/blackfriday / codeSpan

Function codeSpan

inline.go:131–175  ·  view source on GitHub ↗
(p *Markdown, data []byte, offset int)

Source from the content-addressed store, hash-verified

129}
130
131func codeSpan(p *Markdown, data []byte, offset int) (int, *Node) {
132 data = data[offset:]
133
134 nb := 0
135
136 // count the number of backticks in the delimiter
137 for nb < len(data) && data[nb] == '`' {
138 nb++
139 }
140
141 // find the next delimiter
142 i, end := 0, 0
143 for end = nb; end < len(data) && i < nb; end++ {
144 if data[end] == '`' {
145 i++
146 } else {
147 i = 0
148 }
149 }
150
151 // no matching delimiter?
152 if i < nb && end >= len(data) {
153 return 0, nil
154 }
155
156 // trim outside whitespace
157 fBegin := nb
158 for fBegin < end && data[fBegin] == ' ' {
159 fBegin++
160 }
161
162 fEnd := end - nb
163 for fEnd > fBegin && data[fEnd-1] == ' ' {
164 fEnd--
165 }
166
167 // render the code span
168 if fBegin != fEnd {
169 code := NewNode(Code)
170 code.Literal = data[fBegin:fEnd]
171 return end, code
172 }
173
174 return end, nil
175}
176
177// newline preceded by two spaces becomes <br>
178func maybeLineBreak(p *Markdown, data []byte, offset int) (int, *Node) {

Callers

nothing calls this directly

Calls 1

NewNodeFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…