Browse Source

Support CRLF, LF and CR line endings

pull/160/head
Oliverpool 9 years ago
parent
commit
e981c70bc6
  1. 8
      patacrep/songs/chordpro/lexer.py

8
patacrep/songs/chordpro/lexer.py

@ -80,8 +80,8 @@ class ChordProLexer:
r'[ \t]+' r'[ \t]+'
return token return token
t_tablature_TEXT = r'[^\n]+' t_tablature_TEXT = r'[^\n\r]+'
t_tablature_ENDOFLINE = r'\n' t_tablature_ENDOFLINE = r'(\r\n)|\r|\n'
def __init__(self, *, filename=None): def __init__(self, *, filename=None):
self.__class__.lexer = lex.lex(module=self) self.__class__.lexer = lex.lex(module=self)
@ -90,7 +90,7 @@ class ChordProLexer:
# Define a rule so we can track line numbers # Define a rule so we can track line numbers
@staticmethod @staticmethod
def t_ENDOFLINE(token): def t_ENDOFLINE(token):
r'[\n\r]' r'(\r\n)|\r|\n'
token.lexer.lineno += 1 token.lexer.lineno += 1
return token return token
@ -101,7 +101,7 @@ class ChordProLexer:
@staticmethod @staticmethod
def t_WORD(token): def t_WORD(token):
r'[^{}\n\][\t ]+' r'[^{}\r\n\][\t ]+'
return token return token
def t_LBRACKET(self, __token): def t_LBRACKET(self, __token):

Loading…
Cancel
Save