summaryrefslogtreecommitdiffstats
path: root/vendor/gitlab.com/golang-commonmark/markdown/emphasis.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gitlab.com/golang-commonmark/markdown/emphasis.go')
-rw-r--r--vendor/gitlab.com/golang-commonmark/markdown/emphasis.go89
1 files changed, 0 insertions, 89 deletions
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/emphasis.go b/vendor/gitlab.com/golang-commonmark/markdown/emphasis.go
deleted file mode 100644
index ea9cda21..00000000
--- a/vendor/gitlab.com/golang-commonmark/markdown/emphasis.go
+++ /dev/null
@@ -1,89 +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
-
-type Delimiter struct {
- Length int
- Jump int
- Token int
- Level int
- End int
- Open bool
- Close bool
- Marker byte
-}
-
-func ruleEmphasis(s *StateInline, silent bool) bool {
- src := s.Src
- start := s.Pos
- marker := src[start]
-
- if silent {
- return false
- }
-
- if marker != '_' && marker != '*' {
- return false
- }
-
- canOpen, canClose, length := s.scanDelims(s.Pos, marker == '*')
- for i := 0; i < length; i++ {
- s.PushToken(&Text{Content: string(marker)})
-
- s.Delimiters = append(s.Delimiters, Delimiter{
- Marker: marker,
- Length: length,
- Jump: i,
- Token: len(s.Tokens) - 1,
- Level: s.Level,
- End: -1,
- Open: canOpen,
- Close: canClose,
- })
- }
-
- s.Pos += length
-
- return true
-}
-
-func ruleEmphasisPostprocess(s *StateInline) {
- delimiters := s.Delimiters
- max := len(delimiters)
- for i := max - 1; i >= 0; i-- {
- startDelim := delimiters[i]
- if startDelim.Marker != '_' && startDelim.Marker != '*' {
- continue
- }
-
- if startDelim.End == -1 {
- continue
- }
-
- endDelim := delimiters[startDelim.End]
-
- isStrong := i > 0 &&
- delimiters[i-1].End == startDelim.End+1 &&
- delimiters[i-1].Token == startDelim.Token-1 &&
- delimiters[startDelim.End+1].Token == endDelim.Token+1 &&
- delimiters[i-1].Marker == startDelim.Marker
-
- if isStrong {
- s.Tokens[startDelim.Token] = &StrongOpen{}
- s.Tokens[endDelim.Token] = &StrongClose{}
-
- if text, ok := s.Tokens[delimiters[i-1].Token].(*Text); ok {
- text.Content = ""
- }
- if text, ok := s.Tokens[delimiters[startDelim.End+1].Token].(*Text); ok {
- text.Content = ""
- }
- i--
- } else {
- s.Tokens[startDelim.Token] = &EmphasisOpen{}
- s.Tokens[endDelim.Token] = &EmphasisClose{}
- }
- }
-}