@@ -29,70 +29,6 @@ class AttributeDict(dict):
2929    __delattr__  =  dict .__delitem__ 
3030
3131
32- pat_vim2py  =  {
33-     "[0-9a-zA-Z]" : "[0-9a-zA-Z]" ,
34-     "[@*!=><&~#]" : "[@*!=><&~#]" ,
35-     "\\ <ARGOPT\\ >" : "\\ bARGOPT\\ b" ,
36-     "\\ <BANG\\ >" : "\\ bBANG\\ b" ,
37-     "\\ <EDITCMD\\ >" : "\\ bEDITCMD\\ b" ,
38-     "\\ <NOTRLCOM\\ >" : "\\ bNOTRLCOM\\ b" ,
39-     "\\ <TRLBAR\\ >" : "\\ bTRLBAR\\ b" ,
40-     "\\ <USECTRLV\\ >" : "\\ bUSECTRLV\\ b" ,
41-     "\\ <USERCMD\\ >" : "\\ bUSERCMD\\ b" ,
42-     "\\ <\\ (XFILE\\ |FILES\\ |FILE1\\ )\\ >" : "\\ b(XFILE|FILES|FILE1)\\ b" ,
43-     "\\ S" : "\\ S" ,
44-     "\\ a" : "[A-Za-z]" ,
45-     "\\ d" : "\\ d" ,
46-     "\\ h" : "[A-Za-z_]" ,
47-     "\\ s" : "\\ s" ,
48-     "\\ v^d%[elete][lp]$" : "^d(elete|elet|ele|el|e)[lp]$" ,
49-     "\\ v^s%(c[^sr][^i][^p]|g|i[^mlg]|I|r[^e])" :
50-         "^s(c[^sr][^i][^p]|g|i[^mlg]|I|r[^e])" ,
51-     "\\ w" : "[0-9A-Za-z_]" ,
52-     "\\ w\\ |[:#]" : "[0-9A-Za-z_]|[:#]" ,
53-     "\\ x" : "[0-9A-Fa-f]" ,
54-     "^++" : r"^\+\+" ,
55-     "^++bad=\\ (keep\\ |drop\\ |.\\ )\\ >" : "^\\ +\\ +bad=(keep|drop|.)\\ b" ,
56-     "^++bad=drop" : "^\\ +\\ +bad=drop" ,
57-     "^++bad=keep" : "^\\ +\\ +bad=keep" ,
58-     "^++bin\\ >" : "^\\ +\\ +bin\\ b" ,
59-     "^++edit\\ >" : "^\\ +\\ +edit\\ b" ,
60-     "^++enc=\\ S" : "^\\ +\\ +enc=\\ S" ,
61-     "^++encoding=\\ S" : "^\\ +\\ +encoding=\\ S" ,
62-     "^++ff=\\ (dos\\ |unix\\ |mac\\ )\\ >" : "^\\ +\\ +ff=(dos|unix|mac)\\ b" ,
63-     "^++fileformat=\\ (dos\\ |unix\\ |mac\\ )\\ >" :
64-         "^\\ +\\ +fileformat=(dos|unix|mac)\\ b" ,
65-     "^++nobin\\ >" : "^\\ +\\ +nobin\\ b" ,
66-     "^[A-Z]" : "^[A-Z]" ,
67-     "^\\ $\\ w\\ +" : "^\\ $[0-9A-Za-z_]+" ,
68-     "^\\ (!\\ |global\\ |vglobal\\ )$" : "^(!|global|vglobal)$" ,
69-     "^\\ (WHILE\\ |FOR\\ )$" : "^(WHILE|FOR)$" ,
70-     "^\\ (vimgrep\\ |vimgrepadd\\ |lvimgrep\\ |lvimgrepadd\\ )$" :
71-         "^(vimgrep|vimgrepadd|lvimgrep|lvimgrepadd)$" ,
72-     "^\\ d" : "^\\ d" ,
73-     "^\\ h" : "^[A-Za-z_]" ,
74-     "^\\ s" : "^\\ s" ,
75-     "^\\ s*\\ \\ " : "^\\ s*\\ \\ " ,
76-     "^[ \\ t]$" : "^[ \\ t]$" ,
77-     "^[A-Za-z]$" : "^[A-Za-z]$" ,
78-     "^[0-9A-Za-z]$" : "^[0-9A-Za-z]$" ,
79-     "^[0-9]$" : "^[0-9]$" ,
80-     "^[0-9A-Fa-f]$" : "^[0-9A-Fa-f]$" ,
81-     "^[0-9A-Za-z_]$" : "^[0-9A-Za-z_]$" ,
82-     "^[A-Za-z_]$" : "^[A-Za-z_]$" ,
83-     "^[0-9A-Za-z_:#]$" : "^[0-9A-Za-z_:#]$" ,
84-     "^[A-Za-z_][0-9A-Za-z_]*$" : "^[A-Za-z_][0-9A-Za-z_]*$" ,
85-     "^[A-Z]$" : "^[A-Z]$" ,
86-     "^[a-z]$" : "^[a-z]$" ,
87-     "^[vgslabwt]:$\\ |^\\ ([vgslabwt]:\\ )\\ ?[A-Za-z_][0-9A-Za-z_#]*$" :
88-         "^[vgslabwt]:$|^([vgslabwt]:)?[A-Za-z_][0-9A-Za-z_#]*$" ,
89-     "^[0-7]$" : "^[0-7]$" ,
90-     "^[0-9A-Fa-f][0-9A-Fa-f]$" : "^[0-9A-Fa-f][0-9A-Fa-f]$" ,
91-     r"^\.[0-9A-Fa-f]$" : r"^\.[0-9A-Fa-f]$" ,
92-     "^[0-9A-Fa-f][^0-9A-Fa-f]$" : "^[0-9A-Fa-f][^0-9A-Fa-f]$" ,
93- }
94- 
95- 
9632def  viml_add (lst , item ):
9733    lst .append (item )
9834
@@ -114,15 +50,15 @@ def viml_equalci(a, b):
11450
11551
11652def  viml_eqreg (s , reg ):
117-     return  re .search (pat_vim2py [ reg ] , s , re .IGNORECASE )
53+     return  re .search (reg , s , re .IGNORECASE )
11854
11955
12056def  viml_eqregh (s , reg ):
121-     return  re .search (pat_vim2py [ reg ] , s )
57+     return  re .search (reg , s )
12258
12359
12460def  viml_eqregq (s , reg ):
125-     return  re .search (pat_vim2py [ reg ] , s , re .IGNORECASE )
61+     return  re .search (reg , s , re .IGNORECASE )
12662
12763
12864def  viml_escape (s , chars ):
@@ -378,64 +314,64 @@ def viml_stridx(a, b):
378314
379315
380316def  isalpha (c ):
381-     return  viml_eqregh (c , "^[A-Za-z]$" )
317+     return  viml_eqregh (c , r "^[A-Za-z]$" )
382318
383319
384320def  isalnum (c ):
385-     return  viml_eqregh (c , "^[0-9A-Za-z]$" )
321+     return  viml_eqregh (c , r "^[0-9A-Za-z]$" )
386322
387323
388324def  isdigit (c ):
389-     return  viml_eqregh (c , "^[0-9]$" )
325+     return  viml_eqregh (c , r "^[0-9]$" )
390326
391327
392328def  isodigit (c ):
393-     return  viml_eqregh (c , "^[0-7]$" )
329+     return  viml_eqregh (c , r "^[0-7]$" )
394330
395331
396332def  isxdigit (c ):
397-     return  viml_eqregh (c , "^[0-9A-Fa-f]$" )
333+     return  viml_eqregh (c , r "^[0-9A-Fa-f]$" )
398334
399335
400336def  iswordc (c ):
401-     return  viml_eqregh (c , "^[0-9A-Za-z_]$" )
337+     return  viml_eqregh (c , r "^[0-9A-Za-z_]$" )
402338
403339
404340def  iswordc1 (c ):
405-     return  viml_eqregh (c , "^[A-Za-z_]$" )
341+     return  viml_eqregh (c , r "^[A-Za-z_]$" )
406342
407343
408344def  iswhite (c ):
409-     return  viml_eqregh (c , "^[ \ \ t]$" )
345+     return  viml_eqregh (c , r "^[ \t]$" )
410346
411347
412348def  isnamec (c ):
413-     return  viml_eqregh (c , "^[0-9A-Za-z_:#]$" )
349+     return  viml_eqregh (c , r "^[0-9A-Za-z_:#]$" )
414350
415351
416352def  isnamec1 (c ):
417-     return  viml_eqregh (c , "^[A-Za-z_]$" )
353+     return  viml_eqregh (c , r "^[A-Za-z_]$" )
418354
419355
420356def  isargname (s ):
421-     return  viml_eqregh (s , "^[A-Za-z_][0-9A-Za-z_]*$" )
357+     return  viml_eqregh (s , r "^[A-Za-z_][0-9A-Za-z_]*$" )
422358
423359
424360def  isvarname (s ):
425-     return  viml_eqregh (s , "^[vgslabwt]:$\\ |^ \\ ([vgslabwt]:\\ ) \\ ?[A-Za-z_][0-9A-Za-z_#]*$" )
361+     return  viml_eqregh (s , r "^[vgslabwt]:$|^ ([vgslabwt]:) ?[A-Za-z_][0-9A-Za-z_#]*$" )
426362
427363
428364# FIXME: 
429365def  isidc (c ):
430-     return  viml_eqregh (c , "^[0-9A-Za-z_]$" )
366+     return  viml_eqregh (c , r "^[0-9A-Za-z_]$" )
431367
432368
433369def  isupper (c ):
434-     return  viml_eqregh (c , "^[A-Z]$" )
370+     return  viml_eqregh (c , r "^[A-Z]$" )
435371
436372
437373def  islower (c ):
438-     return  viml_eqregh (c , "^[a-z]$" )
374+     return  viml_eqregh (c , r "^[a-z]$" )
439375
440376
441377def  ExArg ():
@@ -862,12 +798,12 @@ def parse_command(self):
862798            self .ea .forceit  =  TRUE 
863799        else :
864800            self .ea .forceit  =  FALSE 
865-         if  not  viml_eqregh (self .ea .cmd .flags , " \\ <BANG \\ > " ) and  self .ea .forceit  and  not  viml_eqregh (self .ea .cmd .flags , " \\ <USERCMD \\ > " ):
801+         if  not  viml_eqregh (self .ea .cmd .flags , r"\bBANG\b " ) and  self .ea .forceit  and  not  viml_eqregh (self .ea .cmd .flags , r"\bUSERCMD\b " ):
866802            raise  VimLParserException (Err ("E477: No ! allowed" , self .ea .cmdpos ))
867803        if  self .ea .cmd .name  !=  "!" :
868804            self .reader .skip_white ()
869805        self .ea .argpos  =  self .reader .getpos ()
870-         if  viml_eqregh (self .ea .cmd .flags , " \\ <ARGOPT \\ > " ):
806+         if  viml_eqregh (self .ea .cmd .flags , r"\bARGOPT\b " ):
871807            self .parse_argopt ()
872808        if  self .ea .cmd .name  ==  "write"  or  self .ea .cmd .name  ==  "update" :
873809            if  self .reader .p (0 ) ==  ">" :
@@ -892,7 +828,7 @@ def parse_command(self):
892828                self .reader .getn (1 )
893829                self .ea .amount  +=  1 
894830            self .reader .skip_white ()
895-         if  viml_eqregh (self .ea .cmd .flags , " \\ <EDITCMD \\ > " ) and  not  self .ea .usefilter :
831+         if  viml_eqregh (self .ea .cmd .flags , r"\bEDITCMD\b " ) and  not  self .ea .usefilter :
896832            self .parse_argcmd ()
897833        self ._parse_command (self .ea .cmd .parser )
898834
@@ -1001,18 +937,18 @@ def find_command(self):
1001937        if  c  ==  "k" :
1002938            self .reader .getn (1 )
1003939            name  =  "k" 
1004-         elif  c  ==  "s"  and  viml_eqregh (self .reader .peekn (5 ), " \\ v^s% (c[^sr][^i][^p]|g|i[^mlg]|I|r[^e])" ):
940+         elif  c  ==  "s"  and  viml_eqregh (self .reader .peekn (5 ), r"^s (c[^sr][^i][^p]|g|i[^mlg]|I|r[^e])" ):
1005941            self .reader .getn (1 )
1006942            name  =  "substitute" 
1007-         elif  viml_eqregh (c , "[@*!=><&~#]" ):
943+         elif  viml_eqregh (c , r "[@*!=><&~#]" ):
1008944            self .reader .getn (1 )
1009945            name  =  c 
1010946        elif  self .reader .peekn (2 ) ==  "py" :
1011947            name  =  self .reader .read_alnum ()
1012948        else :
1013949            pos  =  self .reader .tell ()
1014950            name  =  self .reader .read_alpha ()
1015-             if  name  !=  "del"  and  viml_eqregh (name , " \\ v^d%[ elete] [lp]$" ):
951+             if  name  !=  "del"  and  viml_eqregh (name , r"^d( elete|elet|ele|el|e) [lp]$" ):
1016952                self .reader .seek_set (pos )
1017953                name  =  self .reader .getn (viml_len (name ) -  1 )
1018954        if  name  ==  "" :
@@ -1037,7 +973,7 @@ def find_command(self):
1037973                    cmd  =  NIL 
1038974                    break 
1039975        # FIXME: user defined command 
1040-         if  (cmd  is  NIL  or  cmd .name  ==  "Print" ) and  viml_eqregh (name , "^[A-Z]" ):
976+         if  (cmd  is  NIL  or  cmd .name  ==  "Print" ) and  viml_eqregh (name , r "^[A-Z]" ):
1041977            name  +=  self .reader .read_alnum ()
1042978            del  cmd 
1043979            cmd  =  AttributeDict ({"name" : name , "flags" : "USERCMD" , "parser" : "parse_cmd_usercmd" })
@@ -1053,36 +989,36 @@ def parse_hashbang(self):
1053989    def  parse_argopt (self ):
1054990        while  self .reader .p (0 ) ==  "+"  and  self .reader .p (1 ) ==  "+" :
1055991            s  =  self .reader .peekn (20 )
1056-             if  viml_eqregh (s , "^+ +bin\\  > " ):
992+             if  viml_eqregh (s , r"^\+\ +bin\b " ):
1057993                self .reader .getn (5 )
1058994                self .ea .force_bin  =  1 
1059-             elif  viml_eqregh (s , "^+ +nobin\\  > " ):
995+             elif  viml_eqregh (s , r"^\+\ +nobin\b " ):
1060996                self .reader .getn (7 )
1061997                self .ea .force_bin  =  2 
1062-             elif  viml_eqregh (s , "^+ +edit\\  > " ):
998+             elif  viml_eqregh (s , r"^\+\ +edit\b " ):
1063999                self .reader .getn (6 )
10641000                self .ea .read_edit  =  1 
1065-             elif  viml_eqregh (s , "^+ +ff=\\ (dos\\ |unix\\ |mac\\ ) \\ > " ):
1001+             elif  viml_eqregh (s , r"^\+\ +ff=(dos|unix|mac)\b " ):
10661002                self .reader .getn (5 )
10671003                self .ea .force_ff  =  self .reader .read_alpha ()
1068-             elif  viml_eqregh (s , "^+ +fileformat=\\ (dos\\ |unix\\ |mac\\ ) \\ > " ):
1004+             elif  viml_eqregh (s , r"^\+\ +fileformat=(dos|unix|mac)\b " ):
10691005                self .reader .getn (13 )
10701006                self .ea .force_ff  =  self .reader .read_alpha ()
1071-             elif  viml_eqregh (s , "^+ +enc=\ \ S" ):
1007+             elif  viml_eqregh (s , r"^\+\ +enc=\S" ):
10721008                self .reader .getn (6 )
10731009                self .ea .force_enc  =  self .reader .read_nonwhite ()
1074-             elif  viml_eqregh (s , "^+ +encoding=\ \ S" ):
1010+             elif  viml_eqregh (s , r"^\+\ +encoding=\S" ):
10751011                self .reader .getn (11 )
10761012                self .ea .force_enc  =  self .reader .read_nonwhite ()
1077-             elif  viml_eqregh (s , "^+ +bad=\\ (keep\\ |drop\\ |. \\ ) \\ > " ):
1013+             elif  viml_eqregh (s , r"^\+\ +bad=(keep|drop|.)\b " ):
10781014                self .reader .getn (6 )
1079-                 if  viml_eqregh (s , "^+ +bad=keep" ):
1015+                 if  viml_eqregh (s , r"^\+\ +bad=keep" ):
10801016                    self .ea .bad_char  =  self .reader .getn (4 )
1081-                 elif  viml_eqregh (s , "^+ +bad=drop" ):
1017+                 elif  viml_eqregh (s , r"^\+\ +bad=drop" ):
10821018                    self .ea .bad_char  =  self .reader .getn (4 )
10831019                else :
10841020                    self .ea .bad_char  =  self .reader .getn (1 )
1085-             elif  viml_eqregh (s , "^+ +" ):
1021+             elif  viml_eqregh (s , r"^\+\ +" ):
10861022                raise  VimLParserException (Err ("E474: Invalid Argument" , self .reader .getpos ()))
10871023            else :
10881024                break 
@@ -1147,7 +1083,7 @@ def parse_cmd_modifier_range(self):
11471083    # TODO: 
11481084    def  parse_cmd_common (self ):
11491085        end  =  self .reader .getpos ()
1150-         if  viml_eqregh (self .ea .cmd .flags , " \\ <TRLBAR \\ > " ) and  not  self .ea .usefilter :
1086+         if  viml_eqregh (self .ea .cmd .flags , r"\bTRLBAR\b " ) and  not  self .ea .usefilter :
11511087            end  =  self .separate_nextcmd ()
11521088        elif  self .ea .cmd .name  ==  "!"  or  self .ea .cmd .name  ==  "global"  or  self .ea .cmd .name  ==  "vglobal"  or  self .ea .usefilter :
11531089            while  TRUE :
@@ -1187,24 +1123,24 @@ def separate_nextcmd(self):
11871123                if  c  ==  "<EOF>"  or  c  ==  "<EOL>" :
11881124                    break 
11891125                self .reader .get ()
1190-             elif  self .reader .peekn (2 ) ==  "`="  and  viml_eqregh (self .ea .cmd .flags , " \\ < \\ (XFILE\\ |FILES\\ |FILE1\\ ) \\ > " ):
1126+             elif  self .reader .peekn (2 ) ==  "`="  and  viml_eqregh (self .ea .cmd .flags , r"\b (XFILE|FILES|FILE1)\b " ):
11911127                self .reader .getn (2 )
11921128                self .parse_expr ()
11931129                c  =  self .reader .peekn (1 )
11941130                if  c  !=  "`" :
11951131                    raise  VimLParserException (Err (viml_printf ("unexpected character: %s" , c ), self .reader .getpos ()))
11961132                self .reader .getn (1 )
1197-             elif  c  ==  "|"  or  c  ==  "\n "  or  c  ==  "\" "  and  not  viml_eqregh (self .ea .cmd .flags , " \\ <NOTRLCOM \\ > " ) and  (self .ea .cmd .name  !=  "@"  and  self .ea .cmd .name  !=  "*"  or  self .reader .getpos () !=  self .ea .argpos ) and  (self .ea .cmd .name  !=  "redir"  or  self .reader .getpos ().i  !=  self .ea .argpos .i  +  1  or  pc  !=  "@" ):
1133+             elif  c  ==  "|"  or  c  ==  "\n "  or  c  ==  "\" "  and  not  viml_eqregh (self .ea .cmd .flags , r"\bNOTRLCOM\b " ) and  (self .ea .cmd .name  !=  "@"  and  self .ea .cmd .name  !=  "*"  or  self .reader .getpos () !=  self .ea .argpos ) and  (self .ea .cmd .name  !=  "redir"  or  self .reader .getpos ().i  !=  self .ea .argpos .i  +  1  or  pc  !=  "@" ):
11981134                has_cpo_bar  =  FALSE 
11991135                # &cpoptions =~ 'b' 
1200-                 if  (not  has_cpo_bar  or  not  viml_eqregh (self .ea .cmd .flags , " \\ <USECTRLV \\ > " )) and  pc  ==  "\\ " :
1136+                 if  (not  has_cpo_bar  or  not  viml_eqregh (self .ea .cmd .flags , r"\bUSECTRLV\b " )) and  pc  ==  "\\ " :
12011137                    self .reader .get ()
12021138                else :
12031139                    break 
12041140            else :
12051141                self .reader .get ()
12061142            pc  =  c 
1207-         if  not  viml_eqregh (self .ea .cmd .flags , " \\ <NOTRLCOM \\ > " ):
1143+         if  not  viml_eqregh (self .ea .cmd .flags , r"\bNOTRLCOM\b " ):
12081144            end  =  nospend 
12091145        return  end 
12101146
@@ -3151,7 +3087,7 @@ def __init__(self, lines):
31513087                viml_add (self .pos , [lnum  +  1 , col  +  1 , offset ])
31523088                col  +=  viml_len (c )
31533089                offset  +=  viml_len (c )
3154-             while  lnum  +  1  <  viml_len (lines ) and  viml_eqregh (lines [lnum  +  1 ], "^\\  s* \\ \\ " ):
3090+             while  lnum  +  1  <  viml_len (lines ) and  viml_eqregh (lines [lnum  +  1 ], r "^\s* \\" ):
31553091                skip  =  TRUE 
31563092                col  =  0 
31573093                for  c  in  viml_split (lines [lnum  +  1 ], "\\ zs" ):
@@ -3276,11 +3212,11 @@ def read_blob(self):
32763212        r  =  "" 
32773213        while  1 :
32783214            s  =  self .peekn (2 )
3279-             if  viml_eqregh (s , "^[0-9A-Fa-f][0-9A-Fa-f]$" ):
3215+             if  viml_eqregh (s , r "^[0-9A-Fa-f][0-9A-Fa-f]$" ):
32803216                r  +=  self .getn (2 )
3281-             elif  viml_eqregh (s , "^ \ \ .[0-9A-Fa-f]$" ):
3217+             elif  viml_eqregh (s , r"^ \.[0-9A-Fa-f]$" ):
32823218                r  +=  self .getn (1 )
3283-             elif  viml_eqregh (s , "^[0-9A-Fa-f][^0-9A-Fa-f]$" ):
3219+             elif  viml_eqregh (s , r "^[0-9A-Fa-f][^0-9A-Fa-f]$" ):
32843220                raise  VimLParserException (Err ("E973: Blob literal should have an even number of hex characters:"  +  s , self .getpos ()))
32853221            else :
32863222                break 
0 commit comments