module MarkdownIt::Helpers::ParseLinkLabel
Public Instance Methods
parseLinkLabel(state, start, disableNested = false)
click to toggle source
# File lib/motion-markdown-it/helpers/parse_link_label.rb, line 10 def parseLinkLabel(state, start, disableNested = false) labelEnd = -1 max = state.posMax oldPos = state.pos state.pos = start + 1 level = 1 while (state.pos < max) marker = charCodeAt(state.src, state.pos) if (marker == 0x5D) # ] level -= 1 if (level == 0) found = true break end end prevPos = state.pos state.md.inline.skipToken(state) if (marker == 0x5B) # [ if (prevPos == state.pos - 1) # increase level if we find text `[`, which is not a part of any token level += 1 elsif (disableNested) state.pos = oldPos return -1 end end end if (found) labelEnd = state.pos end # restore old state state.pos = oldPos return labelEnd end