summaryrefslogtreecommitdiffstats
path: root/vendor/gitlab.com/golang-commonmark/markdown/link.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gitlab.com/golang-commonmark/markdown/link.go')
-rw-r--r--vendor/gitlab.com/golang-commonmark/markdown/link.go132
1 files changed, 0 insertions, 132 deletions
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/link.go b/vendor/gitlab.com/golang-commonmark/markdown/link.go
deleted file mode 100644
index 8ab2c04b..00000000
--- a/vendor/gitlab.com/golang-commonmark/markdown/link.go
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright 2015 The Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package markdown
-
-func ruleLink(s *StateInline, silent bool) bool {
- pos := s.Pos
- oldPos := s.Pos
- max := s.PosMax
- start := s.Pos
- parseReference := true
- src := s.Src
-
- if src[pos] != '[' {
- return false
- }
-
- labelStart := pos + 1
- labelEnd := parseLinkLabel(s, pos, true)
-
- if labelEnd < 0 {
- return false
- }
-
- pos = labelEnd + 1
-
- var title, href, label string
- if pos < max && src[pos] == '(' {
- parseReference = false
-
- pos++
- for pos < max {
- code := src[pos]
- if !byteIsSpace(code) && code != '\n' {
- break
- }
- pos++
- }
- if pos >= max {
- return false
- }
-
- start = pos
- url, _, endpos, ok := parseLinkDestination(src, pos, s.PosMax)
- if ok {
- url = normalizeLink(url)
- if validateLink(url) {
- pos = endpos
- href = url
- }
- }
-
- start = pos
- for pos < max {
- code := src[pos]
- if !byteIsSpace(code) && code != '\n' {
- break
- }
- pos++
- }
-
- title, _, endpos, ok = parseLinkTitle(src, pos, s.PosMax)
- if pos < max && start != pos && ok {
- pos = endpos
- for pos < max {
- code := src[pos]
- if !byteIsSpace(code) && code != '\n' {
- break
- }
- pos++
- }
- }
-
- if pos >= max || src[pos] != ')' {
- parseReference = true
- }
-
- pos++
- }
-
- if parseReference {
- if s.Env.References == nil {
- return false
- }
-
- if pos < max && src[pos] == '[' {
- start := pos + 1
- pos = parseLinkLabel(s, pos, false)
- if pos >= 0 {
- label = src[start:pos]
- pos++
- } else {
- pos = labelEnd + 1
- }
- } else {
- pos = labelEnd + 1
- }
-
- if label == "" {
- label = src[labelStart:labelEnd]
- }
-
- ref, ok := s.Env.References[normalizeReference(label)]
- if !ok {
- s.Pos = oldPos
- return false
- }
-
- href = ref["href"]
- title = ref["title"]
- }
-
- if !silent {
- s.Pos = labelStart
- s.PosMax = labelEnd
-
- s.PushOpeningToken(&LinkOpen{
- Href: href,
- Title: title,
- })
-
- s.Md.Inline.Tokenize(s)
-
- s.PushClosingToken(&LinkClose{})
- }
-
- s.Pos = pos
- s.PosMax = max
-
- return true
-}