go/src/cmd/vendor/rsc.io/markdown/link.go

func parseLinkRefDef(p buildState, s string) (int, bool) {}

func parseLinkTitle(s string, i int) (title string, char byte, next int, found bool) {}

func parseLinkLabel(p *parseState, s string, i int) (string, int, bool) {}

func normalizeLabel(s string) string {}

func parseLinkDest(s string, i int) (string, int, bool) {}

func parseAutoLinkURI(s string, i int) (Inline, int, bool) {}

func parseAutoLinkEmail(s string, i int) (Inline, int, bool) {}

func isUser(c byte) bool {}

func isHexDigit(c byte) bool {}

func isDigit(c byte) bool {}

func skipDomainElem(s string) (int, bool) {}

func isScheme(c byte) bool {}

func isURL(c byte) bool {}

type AutoLink

func (*AutoLink) Inline() {}

func (x *AutoLink) PrintHTML(buf *bytes.Buffer) {}

func (x *AutoLink) printMarkdown(buf *bytes.Buffer) {}

func (x *AutoLink) PrintText(buf *bytes.Buffer) {}

type Link

func (*Link) Inline() {}

func (x *Link) PrintHTML(buf *bytes.Buffer) {}

func (x *Link) printMarkdown(buf *bytes.Buffer) {}

func (x *Link) printRemainingMarkdown(buf *bytes.Buffer) {}

func printLinkTitleMarkdown(buf *bytes.Buffer, title string, titleChar byte) {}

func (x *Link) PrintText(buf *bytes.Buffer) {}

type Image

func (*Image) Inline() {}

func (x *Image) PrintHTML(buf *bytes.Buffer) {}

func (x *Image) printMarkdown(buf *bytes.Buffer) {}

func (x *Image) PrintText(buf *bytes.Buffer) {}

// autoLinkMore rewrites any extended autolinks in the body
// and returns the result.
//
// body is a list of Plain, Emph, Strong, and Del nodes.
// Two Plains only appear consecutively when one is a
// potential emphasis marker that ended up being plain after all, like "_" or "**".
// There are no Link nodes.
//
// The GitHub “spec” declares that “autolinks can only come at the
// beginning of a line, after whitespace, or any of the delimiting
// characters *, _, ~, and (”. However, the GitHub web site does not
// enforce this rule: text like "[email protected] is my email" links the
// text following the $ as an email address. It appears the actual rule
// is that autolinks cannot come after ASCII letters, although they can
// come after numbers or Unicode letters.
// Since the only point of implementing GitHub Flavored Markdown
// is to match GitHub's behavior, we do what they do, not what they say,
// at least for now.
func (p *parseState) autoLinkText(list []Inline) []Inline {}

func (p *parseState) autoLinkPlain(s string) []Inline {}

func (p *parseState) parseAutoProto(s string, i int, vd *validDomainChecker) (link *Link, after string, found bool) {}

// parseAutoWWW parses an extended www autolink.
// https://github.github.com/gfm/#extended-www-autolink
func (p *parseState) parseAutoHTTP(scheme, s string, textstart, start, min int, vd *validDomainChecker) (link *Link, after string, found bool) {}

type validDomainChecker

func (v *validDomainChecker) skip(i int) {}

// parseValidDomain parses a valid domain.
// https://github.github.com/gfm/#valid-domain
//
// If s starts with a valid domain, parseValidDomain returns
// the length of that domain and true. If s does not start with
// a valid domain, parseValidDomain returns n, false,
// where n is the length of a prefix guaranteed not to be acceptable
// to any future call to parseValidDomain.
//
// “A valid domain consists of segments of alphanumeric characters,
// underscores (_) and hyphens (-) separated by periods (.).
// There must be at least one period, and no underscores may be
// present in the last two segments of the domain.”
//
// The spec does not spell out whether segments can be empty.
// Empirically, in GitHub's implementation they can.
func (v *validDomainChecker) parseValidDomain(start int) (n int, found bool) {}

func (p *parseState) parseAutoEmail(s string, i int) (before string, link *Link, after string, ok bool) {}

func (p *parseState) parseAutoMailto(s string, i int) (link *Link, after string, ok bool) {}

func (p *parseState) parseAutoXmpp(s string, i int) (link *Link, after string, ok bool) {}