diff options
Diffstat (limited to 'vendor/gitlab.com/golang-commonmark/markdown/emphasis.go')
-rw-r--r-- | vendor/gitlab.com/golang-commonmark/markdown/emphasis.go | 89 |
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{} - } - } -} |