From f01dca9b678192619485da436e8aa52174d518a5 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Thu, 10 Mar 2022 20:47:48 -0600 Subject: [PATCH] CsvLexer: Consolidate regex pattern --- csvlexer/csv.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/csvlexer/csv.py b/csvlexer/csv.py index b3184f9..544b0fd 100755 --- a/csvlexer/csv.py +++ b/csvlexer/csv.py @@ -36,36 +36,38 @@ class CsvLexer(RegexLexer): aliases = ['csv', 'comma-separated', 'comma-separated-values'] filenames = ['*.csv'] + csv_variable = r'(,)([^,\n]*)' + tokens = { 'root': [ (r'^[^,\n]*', Operator, 'second'), ], 'second': [ - (r'(,)([^,\n]*)', bygroups(Punctuation, Name.Constant), 'third'), + (csv_variable, bygroups(Punctuation, Name.Constant), 'third'), ], 'third': [ - (r'(,)([^,\n]*)', bygroups(Punctuation, Keyword.Declaration), 'fourth'), + (csv_variable, bygroups(Punctuation, Keyword.Declaration), 'fourth'), ], 'fourth': [ - (r'(,)([^,\n]*)', bygroups(Punctuation, Literal.Number), 'fifth'), + (csv_variable, bygroups(Punctuation, Literal.Number), 'fifth'), ], 'fifth': [ - (r'(,)([^,\n]*)', bygroups(Punctuation, Literal.String.Single), 'sixth'), + (csv_variable, bygroups(Punctuation, Literal.String.Single), 'sixth'), ], 'sixth': [ - (r'(,)([^,\n]*)', bygroups(Punctuation, Name.Constant), 'seventh'), + (csv_variable, bygroups(Punctuation, Name.Constant), 'seventh'), ], 'seventh': [ - (r'(,)([^,\n]*)', bygroups(Punctuation, Keyword.Namespace), 'eighth'), + (csv_variable, bygroups(Punctuation, Keyword.Namespace), 'eighth'), ], 'eighth': [ - (r'(,)([^,\n]*)', bygroups(Punctuation, Literal.Number), 'ninth'), + (csv_variable, bygroups(Punctuation, Literal.Number), 'ninth'), ], 'ninth': [ - (r'(,)([^,\n]*)', bygroups(Punctuation, Literal.String.Single), 'tenth'), + (csv_variable, bygroups(Punctuation, Literal.String.Single), 'tenth'), ], 'tenth': [ - (r'(,)([^,\n]*)', bygroups(Punctuation, Keyword.Type), 'unsupported'), + (csv_variable, bygroups(Punctuation, Keyword.Type), 'unsupported'), ], 'unsupported': [ (r'(.+)', bygroups(Punctuation)),