// Code generated by "enumer -text -type TokenType"; DO NOT EDIT.

package chroma

import (
	"fmt"
	"strings"
)

const _TokenTypeName = "IgnoreNoneOtherErrorCodeLineLineLinkLineTableTDLineTableLineHighlightLineNumbersTableLineNumbersLinePreWrapperBackgroundEOFTypeKeywordKeywordConstantKeywordDeclarationKeywordNamespaceKeywordPseudoKeywordReservedKeywordTypeNameNameAttributeNameClassNameConstantNameDecoratorNameEntityNameExceptionNameKeywordNameLabelNameNamespaceNameOperatorNameOtherNamePseudoNamePropertyNameTagNameBuiltinNameBuiltinPseudoNameVariableNameVariableAnonymousNameVariableClassNameVariableGlobalNameVariableInstanceNameVariableMagicNameFunctionNameFunctionMagicLiteralLiteralDateLiteralOtherLiteralStringLiteralStringAffixLiteralStringAtomLiteralStringBacktickLiteralStringBooleanLiteralStringCharLiteralStringDelimiterLiteralStringDocLiteralStringDoubleLiteralStringEscapeLiteralStringHeredocLiteralStringInterpolLiteralStringNameLiteralStringOtherLiteralStringRegexLiteralStringSingleLiteralStringSymbolLiteralNumberLiteralNumberBinLiteralNumberFloatLiteralNumberHexLiteralNumberIntegerLiteralNumberIntegerLongLiteralNumberOctLiteralNumberByteOperatorOperatorWordOperatorReservedPunctuationCommentCommentHashbangCommentMultilineCommentSingleCommentSpecialCommentPreprocCommentPreprocFileGenericGenericDeletedGenericEmphGenericErrorGenericHeadingGenericInsertedGenericOutputGenericPromptGenericStrongGenericSubheadingGenericTracebackGenericUnderlineTextTextWhitespaceTextSymbolTextPunctuation"
const _TokenTypeLowerName = "ignorenoneothererrorcodelinelinelinklinetabletdlinetablelinehighlightlinenumberstablelinenumberslineprewrapperbackgroundeoftypekeywordkeywordconstantkeyworddeclarationkeywordnamespacekeywordpseudokeywordreservedkeywordtypenamenameattributenameclassnameconstantnamedecoratornameentitynameexceptionnamekeywordnamelabelnamenamespacenameoperatornameothernamepseudonamepropertynametagnamebuiltinnamebuiltinpseudonamevariablenamevariableanonymousnamevariableclassnamevariableglobalnamevariableinstancenamevariablemagicnamefunctionnamefunctionmagicliteralliteraldateliteralotherliteralstringliteralstringaffixliteralstringatomliteralstringbacktickliteralstringbooleanliteralstringcharliteralstringdelimiterliteralstringdocliteralstringdoubleliteralstringescapeliteralstringheredocliteralstringinterpolliteralstringnameliteralstringotherliteralstringregexliteralstringsingleliteralstringsymbolliteralnumberliteralnumberbinliteralnumberfloatliteralnumberhexliteralnumberintegerliteralnumberintegerlongliteralnumberoctliteralnumberbyteoperatoroperatorwordoperatorreservedpunctuationcommentcommenthashbangcommentmultilinecommentsinglecommentspecialcommentpreproccommentpreprocfilegenericgenericdeletedgenericemphgenericerrorgenericheadinggenericinsertedgenericoutputgenericpromptgenericstronggenericsubheadinggenerictracebackgenericunderlinetexttextwhitespacetextsymboltextpunctuation"

var _TokenTypeMap = map[TokenType]string{
	-14:  _TokenTypeName[0:6],
	-13:  _TokenTypeName[6:10],
	-12:  _TokenTypeName[10:15],
	-11:  _TokenTypeName[15:20],
	-10:  _TokenTypeName[20:28],
	-9:   _TokenTypeName[28:36],
	-8:   _TokenTypeName[36:47],
	-7:   _TokenTypeName[47:56],
	-6:   _TokenTypeName[56:69],
	-5:   _TokenTypeName[69:85],
	-4:   _TokenTypeName[85:96],
	-3:   _TokenTypeName[96:100],
	-2:   _TokenTypeName[100:110],
	-1:   _TokenTypeName[110:120],
	0:    _TokenTypeName[120:127],
	1000: _TokenTypeName[127:134],
	1001: _TokenTypeName[134:149],
	1002: _TokenTypeName[149:167],
	1003: _TokenTypeName[167:183],
	1004: _TokenTypeName[183:196],
	1005: _TokenTypeName[196:211],
	1006: _TokenTypeName[211:222],
	2000: _TokenTypeName[222:226],
	2001: _TokenTypeName[226:239],
	2002: _TokenTypeName[239:248],
	2003: _TokenTypeName[248:260],
	2004: _TokenTypeName[260:273],
	2005: _TokenTypeName[273:283],
	2006: _TokenTypeName[283:296],
	2007: _TokenTypeName[296:307],
	2008: _TokenTypeName[307:316],
	2009: _TokenTypeName[316:329],
	2010: _TokenTypeName[329:341],
	2011: _TokenTypeName[341:350],
	2012: _TokenTypeName[350:360],
	2013: _TokenTypeName[360:372],
	2014: _TokenTypeName[372:379],
	2100: _TokenTypeName[379:390],
	2101: _TokenTypeName[390:407],
	2200: _TokenTypeName[407:419],
	2201: _TokenTypeName[419:440],
	2202: _TokenTypeName[440:457],
	2203: _TokenTypeName[457:475],
	2204: _TokenTypeName[475:495],
	2205: _TokenTypeName[495:512],
	2300: _TokenTypeName[512:524],
	2301: _TokenTypeName[524:541],
	3000: _TokenTypeName[541:548],
	3001: _TokenTypeName[548:559],
	3002: _TokenTypeName[559:571],
	3100: _TokenTypeName[571:584],
	3101: _TokenTypeName[584:602],
	3102: _TokenTypeName[602:619],
	3103: _TokenTypeName[619:640],
	3104: _TokenTypeName[640:660],
	3105: _TokenTypeName[660:677],
	3106: _TokenTypeName[677:699],
	3107: _TokenTypeName[699:715],
	3108: _TokenTypeName[715:734],
	3109: _TokenTypeName[734:753],
	3110: _TokenTypeName[753:773],
	3111: _TokenTypeName[773:794],
	3112: _TokenTypeName[794:811],
	3113: _TokenTypeName[811:829],
	3114: _TokenTypeName[829:847],
	3115: _TokenTypeName[847:866],
	3116: _TokenTypeName[866:885],
	3200: _TokenTypeName[885:898],
	3201: _TokenTypeName[898:914],
	3202: _TokenTypeName[914:932],
	3203: _TokenTypeName[932:948],
	3204: _TokenTypeName[948:968],
	3205: _TokenTypeName[968:992],
	3206: _TokenTypeName[992:1008],
	3207: _TokenTypeName[1008:1025],
	4000: _TokenTypeName[1025:1033],
	4001: _TokenTypeName[1033:1045],
	4002: _TokenTypeName[1045:1061],
	5000: _TokenTypeName[1061:1072],
	6000: _TokenTypeName[1072:1079],
	6001: _TokenTypeName[1079:1094],
	6002: _TokenTypeName[1094:1110],
	6003: _TokenTypeName[1110:1123],
	6004: _TokenTypeName[1123:1137],
	6100: _TokenTypeName[1137:1151],
	6101: _TokenTypeName[1151:1169],
	7000: _TokenTypeName[1169:1176],
	7001: _TokenTypeName[1176:1190],
	7002: _TokenTypeName[1190:1201],
	7003: _TokenTypeName[1201:1213],
	7004: _TokenTypeName[1213:1227],
	7005: _TokenTypeName[1227:1242],
	7006: _TokenTypeName[1242:1255],
	7007: _TokenTypeName[1255:1268],
	7008: _TokenTypeName[1268:1281],
	7009: _TokenTypeName[1281:1298],
	7010: _TokenTypeName[1298:1314],
	7011: _TokenTypeName[1314:1330],
	8000: _TokenTypeName[1330:1334],
	8001: _TokenTypeName[1334:1348],
	8002: _TokenTypeName[1348:1358],
	8003: _TokenTypeName[1358:1373],
}

func (i TokenType) String() string {
	if str, ok := _TokenTypeMap[i]; ok {
		return str
	}
	return fmt.Sprintf("TokenType(%d)", i)
}

// An "invalid array index" compiler error signifies that the constant values have changed.
// Re-run the stringer command to generate them again.
func _TokenTypeNoOp() {
	var x [1]struct{}
	_ = x[Ignore-(-14)]
	_ = x[None-(-13)]
	_ = x[Other-(-12)]
	_ = x[Error-(-11)]
	_ = x[CodeLine-(-10)]
	_ = x[LineLink-(-9)]
	_ = x[LineTableTD-(-8)]
	_ = x[LineTable-(-7)]
	_ = x[LineHighlight-(-6)]
	_ = x[LineNumbersTable-(-5)]
	_ = x[LineNumbers-(-4)]
	_ = x[Line-(-3)]
	_ = x[PreWrapper-(-2)]
	_ = x[Background-(-1)]
	_ = x[EOFType-(0)]
	_ = x[Keyword-(1000)]
	_ = x[KeywordConstant-(1001)]
	_ = x[KeywordDeclaration-(1002)]
	_ = x[KeywordNamespace-(1003)]
	_ = x[KeywordPseudo-(1004)]
	_ = x[KeywordReserved-(1005)]
	_ = x[KeywordType-(1006)]
	_ = x[Name-(2000)]
	_ = x[NameAttribute-(2001)]
	_ = x[NameClass-(2002)]
	_ = x[NameConstant-(2003)]
	_ = x[NameDecorator-(2004)]
	_ = x[NameEntity-(2005)]
	_ = x[NameException-(2006)]
	_ = x[NameKeyword-(2007)]
	_ = x[NameLabel-(2008)]
	_ = x[NameNamespace-(2009)]
	_ = x[NameOperator-(2010)]
	_ = x[NameOther-(2011)]
	_ = x[NamePseudo-(2012)]
	_ = x[NameProperty-(2013)]
	_ = x[NameTag-(2014)]
	_ = x[NameBuiltin-(2100)]
	_ = x[NameBuiltinPseudo-(2101)]
	_ = x[NameVariable-(2200)]
	_ = x[NameVariableAnonymous-(2201)]
	_ = x[NameVariableClass-(2202)]
	_ = x[NameVariableGlobal-(2203)]
	_ = x[NameVariableInstance-(2204)]
	_ = x[NameVariableMagic-(2205)]
	_ = x[NameFunction-(2300)]
	_ = x[NameFunctionMagic-(2301)]
	_ = x[Literal-(3000)]
	_ = x[LiteralDate-(3001)]
	_ = x[LiteralOther-(3002)]
	_ = x[LiteralString-(3100)]
	_ = x[LiteralStringAffix-(3101)]
	_ = x[LiteralStringAtom-(3102)]
	_ = x[LiteralStringBacktick-(3103)]
	_ = x[LiteralStringBoolean-(3104)]
	_ = x[LiteralStringChar-(3105)]
	_ = x[LiteralStringDelimiter-(3106)]
	_ = x[LiteralStringDoc-(3107)]
	_ = x[LiteralStringDouble-(3108)]
	_ = x[LiteralStringEscape-(3109)]
	_ = x[LiteralStringHeredoc-(3110)]
	_ = x[LiteralStringInterpol-(3111)]
	_ = x[LiteralStringName-(3112)]
	_ = x[LiteralStringOther-(3113)]
	_ = x[LiteralStringRegex-(3114)]
	_ = x[LiteralStringSingle-(3115)]
	_ = x[LiteralStringSymbol-(3116)]
	_ = x[LiteralNumber-(3200)]
	_ = x[LiteralNumberBin-(3201)]
	_ = x[LiteralNumberFloat-(3202)]
	_ = x[LiteralNumberHex-(3203)]
	_ = x[LiteralNumberInteger-(3204)]
	_ = x[LiteralNumberIntegerLong-(3205)]
	_ = x[LiteralNumberOct-(3206)]
	_ = x[LiteralNumberByte-(3207)]
	_ = x[Operator-(4000)]
	_ = x[OperatorWord-(4001)]
	_ = x[OperatorReserved-(4002)]
	_ = x[Punctuation-(5000)]
	_ = x[Comment-(6000)]
	_ = x[CommentHashbang-(6001)]
	_ = x[CommentMultiline-(6002)]
	_ = x[CommentSingle-(6003)]
	_ = x[CommentSpecial-(6004)]
	_ = x[CommentPreproc-(6100)]
	_ = x[CommentPreprocFile-(6101)]
	_ = x[Generic-(7000)]
	_ = x[GenericDeleted-(7001)]
	_ = x[GenericEmph-(7002)]
	_ = x[GenericError-(7003)]
	_ = x[GenericHeading-(7004)]
	_ = x[GenericInserted-(7005)]
	_ = x[GenericOutput-(7006)]
	_ = x[GenericPrompt-(7007)]
	_ = x[GenericStrong-(7008)]
	_ = x[GenericSubheading-(7009)]
	_ = x[GenericTraceback-(7010)]
	_ = x[GenericUnderline-(7011)]
	_ = x[Text-(8000)]
	_ = x[TextWhitespace-(8001)]
	_ = x[TextSymbol-(8002)]
	_ = x[TextPunctuation-(8003)]
}

var _TokenTypeValues = []TokenType{Ignore, None, Other, Error, CodeLine, LineLink, LineTableTD, LineTable, LineHighlight, LineNumbersTable, LineNumbers, Line, PreWrapper, Background, EOFType, Keyword, KeywordConstant, KeywordDeclaration, KeywordNamespace, KeywordPseudo, KeywordReserved, KeywordType, Name, NameAttribute, NameClass, NameConstant, NameDecorator, NameEntity, NameException, NameKeyword, NameLabel, NameNamespace, NameOperator, NameOther, NamePseudo, NameProperty, NameTag, NameBuiltin, NameBuiltinPseudo, NameVariable, NameVariableAnonymous, NameVariableClass, NameVariableGlobal, NameVariableInstance, NameVariableMagic, NameFunction, NameFunctionMagic, Literal, LiteralDate, LiteralOther, LiteralString, LiteralStringAffix, LiteralStringAtom, LiteralStringBacktick, LiteralStringBoolean, LiteralStringChar, LiteralStringDelimiter, LiteralStringDoc, LiteralStringDouble, LiteralStringEscape, LiteralStringHeredoc, LiteralStringInterpol, LiteralStringName, LiteralStringOther, LiteralStringRegex, LiteralStringSingle, LiteralStringSymbol, LiteralNumber, LiteralNumberBin, LiteralNumberFloat, LiteralNumberHex, LiteralNumberInteger, LiteralNumberIntegerLong, LiteralNumberOct, LiteralNumberByte, Operator, OperatorWord, OperatorReserved, Punctuation, Comment, CommentHashbang, CommentMultiline, CommentSingle, CommentSpecial, CommentPreproc, CommentPreprocFile, Generic, GenericDeleted, GenericEmph, GenericError, GenericHeading, GenericInserted, GenericOutput, GenericPrompt, GenericStrong, GenericSubheading, GenericTraceback, GenericUnderline, Text, TextWhitespace, TextSymbol, TextPunctuation}

var _TokenTypeNameToValueMap = map[string]TokenType{
	_TokenTypeName[0:6]:            Ignore,
	_TokenTypeLowerName[0:6]:       Ignore,
	_TokenTypeName[6:10]:           None,
	_TokenTypeLowerName[6:10]:      None,
	_TokenTypeName[10:15]:          Other,
	_TokenTypeLowerName[10:15]:     Other,
	_TokenTypeName[15:20]:          Error,
	_TokenTypeLowerName[15:20]:     Error,
	_TokenTypeName[20:28]:          CodeLine,
	_TokenTypeLowerName[20:28]:     CodeLine,
	_TokenTypeName[28:36]:          LineLink,
	_TokenTypeLowerName[28:36]:     LineLink,
	_TokenTypeName[36:47]:          LineTableTD,
	_TokenTypeLowerName[36:47]:     LineTableTD,
	_TokenTypeName[47:56]:          LineTable,
	_TokenTypeLowerName[47:56]:     LineTable,
	_TokenTypeName[56:69]:          LineHighlight,
	_TokenTypeLowerName[56:69]:     LineHighlight,
	_TokenTypeName[69:85]:          LineNumbersTable,
	_TokenTypeLowerName[69:85]:     LineNumbersTable,
	_TokenTypeName[85:96]:          LineNumbers,
	_TokenTypeLowerName[85:96]:     LineNumbers,
	_TokenTypeName[96:100]:         Line,
	_TokenTypeLowerName[96:100]:    Line,
	_TokenTypeName[100:110]:        PreWrapper,
	_TokenTypeLowerName[100:110]:   PreWrapper,
	_TokenTypeName[110:120]:        Background,
	_TokenTypeLowerName[110:120]:   Background,
	_TokenTypeName[120:127]:        EOFType,
	_TokenTypeLowerName[120:127]:   EOFType,
	_TokenTypeName[127:134]:        Keyword,
	_TokenTypeLowerName[127:134]:   Keyword,
	_TokenTypeName[134:149]:        KeywordConstant,
	_TokenTypeLowerName[134:149]:   KeywordConstant,
	_TokenTypeName[149:167]:        KeywordDeclaration,
	_TokenTypeLowerName[149:167]:   KeywordDeclaration,
	_TokenTypeName[167:183]:        KeywordNamespace,
	_TokenTypeLowerName[167:183]:   KeywordNamespace,
	_TokenTypeName[183:196]:        KeywordPseudo,
	_TokenTypeLowerName[183:196]:   KeywordPseudo,
	_TokenTypeName[196:211]:        KeywordReserved,
	_TokenTypeLowerName[196:211]:   KeywordReserved,
	_TokenTypeName[211:222]:        KeywordType,
	_TokenTypeLowerName[211:222]:   KeywordType,
	_TokenTypeName[222:226]:        Name,
	_TokenTypeLowerName[222:226]:   Name,
	_TokenTypeName[226:239]:        NameAttribute,
	_TokenTypeLowerName[226:239]:   NameAttribute,
	_TokenTypeName[239:248]:        NameClass,
	_TokenTypeLowerName[239:248]:   NameClass,
	_TokenTypeName[248:260]:        NameConstant,
	_TokenTypeLowerName[248:260]:   NameConstant,
	_TokenTypeName[260:273]:        NameDecorator,
	_TokenTypeLowerName[260:273]:   NameDecorator,
	_TokenTypeName[273:283]:        NameEntity,
	_TokenTypeLowerName[273:283]:   NameEntity,
	_TokenTypeName[283:296]:        NameException,
	_TokenTypeLowerName[283:296]:   NameException,
	_TokenTypeName[296:307]:        NameKeyword,
	_TokenTypeLowerName[296:307]:   NameKeyword,
	_TokenTypeName[307:316]:        NameLabel,
	_TokenTypeLowerName[307:316]:   NameLabel,
	_TokenTypeName[316:329]:        NameNamespace,
	_TokenTypeLowerName[316:329]:   NameNamespace,
	_TokenTypeName[329:341]:        NameOperator,
	_TokenTypeLowerName[329:341]:   NameOperator,
	_TokenTypeName[341:350]:        NameOther,
	_TokenTypeLowerName[341:350]:   NameOther,
	_TokenTypeName[350:360]:        NamePseudo,
	_TokenTypeLowerName[350:360]:   NamePseudo,
	_TokenTypeName[360:372]:        NameProperty,
	_TokenTypeLowerName[360:372]:   NameProperty,
	_TokenTypeName[372:379]:        NameTag,
	_TokenTypeLowerName[372:379]:   NameTag,
	_TokenTypeName[379:390]:        NameBuiltin,
	_TokenTypeLowerName[379:390]:   NameBuiltin,
	_TokenTypeName[390:407]:        NameBuiltinPseudo,
	_TokenTypeLowerName[390:407]:   NameBuiltinPseudo,
	_TokenTypeName[407:419]:        NameVariable,
	_TokenTypeLowerName[407:419]:   NameVariable,
	_TokenTypeName[419:440]:        NameVariableAnonymous,
	_TokenTypeLowerName[419:440]:   NameVariableAnonymous,
	_TokenTypeName[440:457]:        NameVariableClass,
	_TokenTypeLowerName[440:457]:   NameVariableClass,
	_TokenTypeName[457:475]:        NameVariableGlobal,
	_TokenTypeLowerName[457:475]:   NameVariableGlobal,
	_TokenTypeName[475:495]:        NameVariableInstance,
	_TokenTypeLowerName[475:495]:   NameVariableInstance,
	_TokenTypeName[495:512]:        NameVariableMagic,
	_TokenTypeLowerName[495:512]:   NameVariableMagic,
	_TokenTypeName[512:524]:        NameFunction,
	_TokenTypeLowerName[512:524]:   NameFunction,
	_TokenTypeName[524:541]:        NameFunctionMagic,
	_TokenTypeLowerName[524:541]:   NameFunctionMagic,
	_TokenTypeName[541:548]:        Literal,
	_TokenTypeLowerName[541:548]:   Literal,
	_TokenTypeName[548:559]:        LiteralDate,
	_TokenTypeLowerName[548:559]:   LiteralDate,
	_TokenTypeName[559:571]:        LiteralOther,
	_TokenTypeLowerName[559:571]:   LiteralOther,
	_TokenTypeName[571:584]:        LiteralString,
	_TokenTypeLowerName[571:584]:   LiteralString,
	_TokenTypeName[584:602]:        LiteralStringAffix,
	_TokenTypeLowerName[584:602]:   LiteralStringAffix,
	_TokenTypeName[602:619]:        LiteralStringAtom,
	_TokenTypeLowerName[602:619]:   LiteralStringAtom,
	_TokenTypeName[619:640]:        LiteralStringBacktick,
	_TokenTypeLowerName[619:640]:   LiteralStringBacktick,
	_TokenTypeName[640:660]:        LiteralStringBoolean,
	_TokenTypeLowerName[640:660]:   LiteralStringBoolean,
	_TokenTypeName[660:677]:        LiteralStringChar,
	_TokenTypeLowerName[660:677]:   LiteralStringChar,
	_TokenTypeName[677:699]:        LiteralStringDelimiter,
	_TokenTypeLowerName[677:699]:   LiteralStringDelimiter,
	_TokenTypeName[699:715]:        LiteralStringDoc,
	_TokenTypeLowerName[699:715]:   LiteralStringDoc,
	_TokenTypeName[715:734]:        LiteralStringDouble,
	_TokenTypeLowerName[715:734]:   LiteralStringDouble,
	_TokenTypeName[734:753]:        LiteralStringEscape,
	_TokenTypeLowerName[734:753]:   LiteralStringEscape,
	_TokenTypeName[753:773]:        LiteralStringHeredoc,
	_TokenTypeLowerName[753:773]:   LiteralStringHeredoc,
	_TokenTypeName[773:794]:        LiteralStringInterpol,
	_TokenTypeLowerName[773:794]:   LiteralStringInterpol,
	_TokenTypeName[794:811]:        LiteralStringName,
	_TokenTypeLowerName[794:811]:   LiteralStringName,
	_TokenTypeName[811:829]:        LiteralStringOther,
	_TokenTypeLowerName[811:829]:   LiteralStringOther,
	_TokenTypeName[829:847]:        LiteralStringRegex,
	_TokenTypeLowerName[829:847]:   LiteralStringRegex,
	_TokenTypeName[847:866]:        LiteralStringSingle,
	_TokenTypeLowerName[847:866]:   LiteralStringSingle,
	_TokenTypeName[866:885]:        LiteralStringSymbol,
	_TokenTypeLowerName[866:885]:   LiteralStringSymbol,
	_TokenTypeName[885:898]:        LiteralNumber,
	_TokenTypeLowerName[885:898]:   LiteralNumber,
	_TokenTypeName[898:914]:        LiteralNumberBin,
	_TokenTypeLowerName[898:914]:   LiteralNumberBin,
	_TokenTypeName[914:932]:        LiteralNumberFloat,
	_TokenTypeLowerName[914:932]:   LiteralNumberFloat,
	_TokenTypeName[932:948]:        LiteralNumberHex,
	_TokenTypeLowerName[932:948]:   LiteralNumberHex,
	_TokenTypeName[948:968]:        LiteralNumberInteger,
	_TokenTypeLowerName[948:968]:   LiteralNumberInteger,
	_TokenTypeName[968:992]:        LiteralNumberIntegerLong,
	_TokenTypeLowerName[968:992]:   LiteralNumberIntegerLong,
	_TokenTypeName[992:1008]:       LiteralNumberOct,
	_TokenTypeLowerName[992:1008]:  LiteralNumberOct,
	_TokenTypeName[1008:1025]:      LiteralNumberByte,
	_TokenTypeLowerName[1008:1025]: LiteralNumberByte,
	_TokenTypeName[1025:1033]:      Operator,
	_TokenTypeLowerName[1025:1033]: Operator,
	_TokenTypeName[1033:1045]:      OperatorWord,
	_TokenTypeLowerName[1033:1045]: OperatorWord,
	_TokenTypeName[1045:1061]:      OperatorReserved,
	_TokenTypeLowerName[1045:1061]: OperatorReserved,
	_TokenTypeName[1061:1072]:      Punctuation,
	_TokenTypeLowerName[1061:1072]: Punctuation,
	_TokenTypeName[1072:1079]:      Comment,
	_TokenTypeLowerName[1072:1079]: Comment,
	_TokenTypeName[1079:1094]:      CommentHashbang,
	_TokenTypeLowerName[1079:1094]: CommentHashbang,
	_TokenTypeName[1094:1110]:      CommentMultiline,
	_TokenTypeLowerName[1094:1110]: CommentMultiline,
	_TokenTypeName[1110:1123]:      CommentSingle,
	_TokenTypeLowerName[1110:1123]: CommentSingle,
	_TokenTypeName[1123:1137]:      CommentSpecial,
	_TokenTypeLowerName[1123:1137]: CommentSpecial,
	_TokenTypeName[1137:1151]:      CommentPreproc,
	_TokenTypeLowerName[1137:1151]: CommentPreproc,
	_TokenTypeName[1151:1169]:      CommentPreprocFile,
	_TokenTypeLowerName[1151:1169]: CommentPreprocFile,
	_TokenTypeName[1169:1176]:      Generic,
	_TokenTypeLowerName[1169:1176]: Generic,
	_TokenTypeName[1176:1190]:      GenericDeleted,
	_TokenTypeLowerName[1176:1190]: GenericDeleted,
	_TokenTypeName[1190:1201]:      GenericEmph,
	_TokenTypeLowerName[1190:1201]: GenericEmph,
	_TokenTypeName[1201:1213]:      GenericError,
	_TokenTypeLowerName[1201:1213]: GenericError,
	_TokenTypeName[1213:1227]:      GenericHeading,
	_TokenTypeLowerName[1213:1227]: GenericHeading,
	_TokenTypeName[1227:1242]:      GenericInserted,
	_TokenTypeLowerName[1227:1242]: GenericInserted,
	_TokenTypeName[1242:1255]:      GenericOutput,
	_TokenTypeLowerName[1242:1255]: GenericOutput,
	_TokenTypeName[1255:1268]:      GenericPrompt,
	_TokenTypeLowerName[1255:1268]: GenericPrompt,
	_TokenTypeName[1268:1281]:      GenericStrong,
	_TokenTypeLowerName[1268:1281]: GenericStrong,
	_TokenTypeName[1281:1298]:      GenericSubheading,
	_TokenTypeLowerName[1281:1298]: GenericSubheading,
	_TokenTypeName[1298:1314]:      GenericTraceback,
	_TokenTypeLowerName[1298:1314]: GenericTraceback,
	_TokenTypeName[1314:1330]:      GenericUnderline,
	_TokenTypeLowerName[1314:1330]: GenericUnderline,
	_TokenTypeName[1330:1334]:      Text,
	_TokenTypeLowerName[1330:1334]: Text,
	_TokenTypeName[1334:1348]:      TextWhitespace,
	_TokenTypeLowerName[1334:1348]: TextWhitespace,
	_TokenTypeName[1348:1358]:      TextSymbol,
	_TokenTypeLowerName[1348:1358]: TextSymbol,
	_TokenTypeName[1358:1373]:      TextPunctuation,
	_TokenTypeLowerName[1358:1373]: TextPunctuation,
}

var _TokenTypeNames = []string{
	_TokenTypeName[0:6],
	_TokenTypeName[6:10],
	_TokenTypeName[10:15],
	_TokenTypeName[15:20],
	_TokenTypeName[20:28],
	_TokenTypeName[28:36],
	_TokenTypeName[36:47],
	_TokenTypeName[47:56],
	_TokenTypeName[56:69],
	_TokenTypeName[69:85],
	_TokenTypeName[85:96],
	_TokenTypeName[96:100],
	_TokenTypeName[100:110],
	_TokenTypeName[110:120],
	_TokenTypeName[120:127],
	_TokenTypeName[127:134],
	_TokenTypeName[134:149],
	_TokenTypeName[149:167],
	_TokenTypeName[167:183],
	_TokenTypeName[183:196],
	_TokenTypeName[196:211],
	_TokenTypeName[211:222],
	_TokenTypeName[222:226],
	_TokenTypeName[226:239],
	_TokenTypeName[239:248],
	_TokenTypeName[248:260],
	_TokenTypeName[260:273],
	_TokenTypeName[273:283],
	_TokenTypeName[283:296],
	_TokenTypeName[296:307],
	_TokenTypeName[307:316],
	_TokenTypeName[316:329],
	_TokenTypeName[329:341],
	_TokenTypeName[341:350],
	_TokenTypeName[350:360],
	_TokenTypeName[360:372],
	_TokenTypeName[372:379],
	_TokenTypeName[379:390],
	_TokenTypeName[390:407],
	_TokenTypeName[407:419],
	_TokenTypeName[419:440],
	_TokenTypeName[440:457],
	_TokenTypeName[457:475],
	_TokenTypeName[475:495],
	_TokenTypeName[495:512],
	_TokenTypeName[512:524],
	_TokenTypeName[524:541],
	_TokenTypeName[541:548],
	_TokenTypeName[548:559],
	_TokenTypeName[559:571],
	_TokenTypeName[571:584],
	_TokenTypeName[584:602],
	_TokenTypeName[602:619],
	_TokenTypeName[619:640],
	_TokenTypeName[640:660],
	_TokenTypeName[660:677],
	_TokenTypeName[677:699],
	_TokenTypeName[699:715],
	_TokenTypeName[715:734],
	_TokenTypeName[734:753],
	_TokenTypeName[753:773],
	_TokenTypeName[773:794],
	_TokenTypeName[794:811],
	_TokenTypeName[811:829],
	_TokenTypeName[829:847],
	_TokenTypeName[847:866],
	_TokenTypeName[866:885],
	_TokenTypeName[885:898],
	_TokenTypeName[898:914],
	_TokenTypeName[914:932],
	_TokenTypeName[932:948],
	_TokenTypeName[948:968],
	_TokenTypeName[968:992],
	_TokenTypeName[992:1008],
	_TokenTypeName[1008:1025],
	_TokenTypeName[1025:1033],
	_TokenTypeName[1033:1045],
	_TokenTypeName[1045:1061],
	_TokenTypeName[1061:1072],
	_TokenTypeName[1072:1079],
	_TokenTypeName[1079:1094],
	_TokenTypeName[1094:1110],
	_TokenTypeName[1110:1123],
	_TokenTypeName[1123:1137],
	_TokenTypeName[1137:1151],
	_TokenTypeName[1151:1169],
	_TokenTypeName[1169:1176],
	_TokenTypeName[1176:1190],
	_TokenTypeName[1190:1201],
	_TokenTypeName[1201:1213],
	_TokenTypeName[1213:1227],
	_TokenTypeName[1227:1242],
	_TokenTypeName[1242:1255],
	_TokenTypeName[1255:1268],
	_TokenTypeName[1268:1281],
	_TokenTypeName[1281:1298],
	_TokenTypeName[1298:1314],
	_TokenTypeName[1314:1330],
	_TokenTypeName[1330:1334],
	_TokenTypeName[1334:1348],
	_TokenTypeName[1348:1358],
	_TokenTypeName[1358:1373],
}

// TokenTypeString retrieves an enum value from the enum constants string name.
// Throws an error if the param is not part of the enum.
func TokenTypeString(s string) (TokenType, error) {
	if val, ok := _TokenTypeNameToValueMap[s]; ok {
		return val, nil
	}

	if val, ok := _TokenTypeNameToValueMap[strings.ToLower(s)]; ok {
		return val, nil
	}
	return 0, fmt.Errorf("%s does not belong to TokenType values", s)
}

// TokenTypeValues returns all values of the enum
func TokenTypeValues() []TokenType {
	return _TokenTypeValues
}

// TokenTypeStrings returns a slice of all String values of the enum
func TokenTypeStrings() []string {
	strs := make([]string, len(_TokenTypeNames))
	copy(strs, _TokenTypeNames)
	return strs
}

// IsATokenType returns "true" if the value is listed in the enum definition. "false" otherwise
func (i TokenType) IsATokenType() bool {
	_, ok := _TokenTypeMap[i]
	return ok
}

// MarshalText implements the encoding.TextMarshaler interface for TokenType
func (i TokenType) MarshalText() ([]byte, error) {
	return []byte(i.String()), nil
}

// UnmarshalText implements the encoding.TextUnmarshaler interface for TokenType
func (i *TokenType) UnmarshalText(text []byte) error {
	var err error
	*i, err = TokenTypeString(string(text))
	return err
}
