diff options
author | Benjamin <b.mpickford@outlook.com> | 2019-11-18 06:18:01 +1000 |
---|---|---|
committer | Wim <wim@42.be> | 2019-11-17 21:18:01 +0100 |
commit | 0917dc876613fd71c9726a34bf0138b4f5121be9 (patch) | |
tree | 1eacaadaa4869e8f74ccf65c684c2a80f90787f9 /vendor/gitlab.com/golang-commonmark/markdown/strikethrough.go | |
parent | aba86855b5f71c9809d892a7eebc6b69872fcd5b (diff) | |
download | matterbridge-msglm-0917dc876613fd71c9726a34bf0138b4f5121be9.tar.gz matterbridge-msglm-0917dc876613fd71c9726a34bf0138b4f5121be9.tar.bz2 matterbridge-msglm-0917dc876613fd71c9726a34bf0138b4f5121be9.zip |
Update markdown parsing library to github.com/gomarkdown/markdown (#944)
Diffstat (limited to 'vendor/gitlab.com/golang-commonmark/markdown/strikethrough.go')
-rw-r--r-- | vendor/gitlab.com/golang-commonmark/markdown/strikethrough.go | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/vendor/gitlab.com/golang-commonmark/markdown/strikethrough.go b/vendor/gitlab.com/golang-commonmark/markdown/strikethrough.go deleted file mode 100644 index 18079945..00000000 --- a/vendor/gitlab.com/golang-commonmark/markdown/strikethrough.go +++ /dev/null @@ -1,101 +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 ruleStrikeThrough(s *StateInline, silent bool) bool { - src := s.Src - start := s.Pos - marker := src[start] - - if silent { - return false - } - - if src[start] != '~' { - return false - } - - canOpen, canClose, length := s.scanDelims(start, true) - origLength := length - ch := string(marker) - if length < 2 { - return false - } - - if length%2 != 0 { - s.PushToken(&Text{ - Content: ch, - }) - length-- - } - - for i := 0; i < length; i += 2 { - s.PushToken(&Text{ - Content: ch + ch, - }) - - s.Delimiters = append(s.Delimiters, Delimiter{ - Marker: marker, - Length: -1, - Jump: i, - Token: len(s.Tokens) - 1, - Level: s.Level, - End: -1, - Open: canOpen, - Close: canClose, - }) - } - - s.Pos += origLength - - return true - -} - -func ruleStrikethroughPostprocess(s *StateInline) { - var loneMarkers []int - delimiters := s.Delimiters - max := len(delimiters) - - for i := 0; i < max; i++ { - startDelim := delimiters[i] - - if startDelim.Marker != '~' { - continue - } - - if startDelim.End == -1 { - continue - } - - endDelim := delimiters[startDelim.End] - - s.Tokens[startDelim.Token] = &StrikethroughOpen{} - s.Tokens[endDelim.Token] = &StrikethroughClose{} - - if text, ok := s.Tokens[endDelim.Token-1].(*Text); ok && text.Content == "~" { - loneMarkers = append(loneMarkers, endDelim.Token-1) - } - } - - for len(loneMarkers) > 0 { - i := loneMarkers[len(loneMarkers)-1] - loneMarkers = loneMarkers[:len(loneMarkers)-1] - j := i + 1 - - for j < len(s.Tokens) { - if _, ok := s.Tokens[j].(*StrikethroughClose); !ok { - break - } - j++ - } - - j-- - - if i != j { - s.Tokens[i], s.Tokens[j] = s.Tokens[j], s.Tokens[i] - } - } -} |