TextState.cs 408 B

1234567891011121314151617181920212223
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Text.RegularExpressions;
  5. namespace Larkdown.Parser.Lexer
  6. {
  7. class TextState : State
  8. {
  9. public override State Next(Lexer lexer)
  10. {
  11. var text = lexer.Read(new Regex("\\G.*"));
  12. lexer.Emit(new Token(TokenType.Text, text));
  13. if (lexer.Peek() == '\n')
  14. {
  15. lexer.Read();
  16. }
  17. return new LineStartState();
  18. }
  19. }
  20. }