IDynamicLexer Interface
Provides the base requirements for a dynamic lexer, one that is pattern based.
public interface IDynamicLexer : IMergeableLexer, ILexer, IKeyedObject
Properties
CanLineFeedMatchAnyLineTerminator
Whether a line feed ('\n') character in regex patterns should match any line terminator, not just LF-only characters.
bool CanLineFeedMatchAnyLineTerminator { get; set; }
Property Value
- bool:
The default value is
true.
Remarks
This property simplifies regex patterns by replacing '\n' usage in two scenarios.
First, a in a character class will add all other line terminators characters to the character class.
Second, a \n outside of a character class will match any valid line terminator sequence.\n
See Also
DefaultLexicalState
The root ILexicalState for when the language is entered.
DynamicLexicalState? DefaultLexicalState { get; set; }
Property Value
See Also
Key
A string that identifies the lexer, generally the related language name.
LexicalMacros
The collection of lexical macros.
IDynamicLexicalMacroCollection LexicalMacros { get; }
Property Value
See Also
LexicalStates
The collection of lexical states.
IDynamicLexicalStateCollection LexicalStates { get; }
Property Value
See Also
Inherited Members
- IMergeableLexer.CreateChangeBatch()
- IMergeableLexer.CreateDocumentEndToken(int, TextPosition, ILexicalState)
- IMergeableLexer.CreateToken(int, int, TextPosition, TextPosition, MergeableLexerFlags, ILexicalState, IMergeableTokenLexerData)
- IMergeableLexer.GetAllLexicalStateTransitions()
- IMergeableLexer.GetDefaultToken(ITextBufferReader, ILexicalState)
- IMergeableLexer.GetNextToken(ITextBufferReader, ILexicalState)
- IMergeableLexer.LexicalStateIdProvider
- IMergeableLexer.Changed
- ILexer.Parse(TextSnapshotRange, ILexerTarget)
- ILexer.TokenIdProvider
Extension Methods
- ObjectExtensions.TryConvertToDouble(object, out double)
- ObjectExtensions.TryConvertToDouble(object, IFormatProvider, out double)