package parser

import (
	
	
	
)

type autoLinkParser struct {
}

var defaultAutoLinkParser = &autoLinkParser{}
NewAutoLinkParser returns a new InlineParser that parses autolinks surrounded by '<' and '>' .
func () InlineParser {
	return defaultAutoLinkParser
}

func ( *autoLinkParser) () []byte {
	return []byte{'<'}
}

func ( *autoLinkParser) ( ast.Node,  text.Reader,  Context) ast.Node {
	,  := .PeekLine()
	 := util.FindEmailIndex([1:])
	 := ast.AutoLinkType(ast.AutoLinkEmail)
	if  < 0 {
		 = util.FindURLIndex([1:])
		 = ast.AutoLinkURL
	}
	if  < 0 {
		return nil
	}
	++
	if  >= len() || [] != '>' {
		return nil
	}
	 := ast.NewTextSegment(text.NewSegment(.Start+1, .Start+))
	.Advance( + 1)
	return ast.NewAutoLink(, )