utils/node_modules/@microsoft/tsdoc/lib/parser/Token.d.ts
2024-02-07 01:33:07 -05:00

172 lines
4.9 KiB
TypeScript

import { TextRange } from './TextRange';
/**
* Distinguishes different types of Token objects.
*/
export declare enum TokenKind {
/**
* A token representing the end of the input. The Token.range will be an empty range
* at the end of the provided input.
*/
EndOfInput = 2001,
/**
* A token representing a virtual newline.
* The Token.range will be an empty range, because the actual newline character may
* be noncontiguous due to the doc comment delimiter trimming.
*/
Newline = 2002,
/**
* A token representing one or more spaces and tabs (but not newlines or end of input).
*/
Spacing = 2003,
/**
* A token representing one or more ASCII letters, numbers, and underscores.
*/
AsciiWord = 2004,
/**
* A single ASCII character that behaves like punctuation, e.g. doesn't need whitespace
* around it when adjacent to a letter. The Token.range will always be a string of length 1.
*/
OtherPunctuation = 2005,
/**
* A token representing a sequence of non-ASCII printable characters that are not punctuation.
*/
Other = 2006,
/**
* The backslash character `\`.
* The Token.range will always be a string of length 1.
*/
Backslash = 2007,
/**
* The less-than character `<`.
* The Token.range will always be a string of length 1.
*/
LessThan = 2008,
/**
* The greater-than character `>`.
* The Token.range will always be a string of length 1.
*/
GreaterThan = 2009,
/**
* The equals character `=`.
* The Token.range will always be a string of length 1.
*/
Equals = 2010,
/**
* The single-quote character `'`.
* The Token.range will always be a string of length 1.
*/
SingleQuote = 2011,
/**
* The double-quote character `"`.
* The Token.range will always be a string of length 1.
*/
DoubleQuote = 2012,
/**
* The slash character `/`.
* The Token.range will always be a string of length 1.
*/
Slash = 2013,
/**
* The hyphen character `-`.
* The Token.range will always be a string of length 1.
*/
Hyphen = 2014,
/**
* The at-sign character `@`.
* The Token.range will always be a string of length 1.
*/
AtSign = 2015,
/**
* The left curly bracket character `{`.
* The Token.range will always be a string of length 1.
*/
LeftCurlyBracket = 2016,
/**
* The right curly bracket character `}`.
* The Token.range will always be a string of length 1.
*/
RightCurlyBracket = 2017,
/**
* The backtick character.
* The Token.range will always be a string of length 1.
*/
Backtick = 2018,
/**
* The period character.
* The Token.range will always be a string of length 1.
*/
Period = 2019,
/**
* The colon character.
* The Token.range will always be a string of length 1.
*/
Colon = 2020,
/**
* The comma character.
* The Token.range will always be a string of length 1.
*/
Comma = 2021,
/**
* The left square bracket character.
* The Token.range will always be a string of length 1.
*/
LeftSquareBracket = 2022,
/**
* The right square bracket character.
* The Token.range will always be a string of length 1.
*/
RightSquareBracket = 2023,
/**
* The pipe character `|`.
* The Token.range will always be a string of length 1.
*/
Pipe = 2024,
/**
* The left parenthesis character.
* The Token.range will always be a string of length 1.
*/
LeftParenthesis = 2025,
/**
* The right parenthesis character.
* The Token.range will always be a string of length 1.
*/
RightParenthesis = 2026,
/**
* The pound character ("#").
* The Token.range will always be a string of length 1.
*/
PoundSymbol = 2027,
/**
* The plus character ("+").
* The Token.range will always be a string of length 1.
*/
Plus = 2028,
/**
* The dollar sign character ("$").
* The Token.range will always be a string of length 1.
*/
DollarSign = 2029
}
/**
* Represents a contiguous range of characters extracted from one of the doc comment lines
* being processed by the Tokenizer. There is a token representing a newline, but otherwise
* a single token cannot span multiple lines.
*/
export declare class Token {
/**
* The kind of token
*/
readonly kind: TokenKind;
/**
* The contiguous input range corresponding to the token. This range will never
* contain a newline character.
*/
readonly range: TextRange;
/**
* The doc comment "line" that this Token was extracted from.
*/
readonly line: TextRange;
constructor(kind: TokenKind, range: TextRange, line: TextRange);
toString(): string;
}
//# sourceMappingURL=Token.d.ts.map