@@ -1820,6 +1820,30 @@ function! s:VimLParser.parse_wincmd()
1820
1820
call self .add_node (node)
1821
1821
endfunction
1822
1822
1823
+ " FIXME: validate argument
1824
+ function ! s: VimLParser .parse_cmd_syntax ()
1825
+ let end = self .reader.getpos ()
1826
+ while 1
1827
+ let end = self .reader.getpos ()
1828
+ let c = self .reader.peek ()
1829
+ if c == " /" || c == " '" || c == " \" "
1830
+ call self .reader.getn (1 )
1831
+ call self .parse_pattern (c )
1832
+ elseif c == " ="
1833
+ call self .reader.getn (1 )
1834
+ call self .parse_pattern (" " )
1835
+ elseif self .ends_excmds (c )
1836
+ break
1837
+ endif
1838
+ call self .reader.getn (1 )
1839
+ endwhile
1840
+ let node = s: Node (s: NODE_EXCMD )
1841
+ let node.pos = self .ea .cmdpos
1842
+ let node.ea = self .ea
1843
+ let node.str = self .reader.getstr (self .ea .linepos, end )
1844
+ call self .add_node (node)
1845
+ endfunction
1846
+
1823
1847
let s: VimLParser .neovim_additional_commands = [
1824
1848
\ {' name' : ' tnoremap' , ' minlen' : 8 , ' flags' : ' EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN' , ' parser' : ' parse_cmd_common' }]
1825
1849
@@ -2249,7 +2273,7 @@ let s:VimLParser.builtin_commands = [
2249
2273
\ {' name' : ' suspend' , ' minlen' : 3 , ' flags' : ' TRLBAR|BANG|CMDWIN' , ' parser' : ' parse_cmd_common' },
2250
2274
\ {' name' : ' sview' , ' minlen' : 2 , ' flags' : ' BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR' , ' parser' : ' parse_cmd_common' },
2251
2275
\ {' name' : ' swapname' , ' minlen' : 2 , ' flags' : ' TRLBAR|CMDWIN' , ' parser' : ' parse_cmd_common' },
2252
- \ {' name' : ' syntax' , ' minlen' : 2 , ' flags' : ' EXTRA|NOTRLCOM|CMDWIN' , ' parser' : ' parse_cmd_common ' },
2276
+ \ {' name' : ' syntax' , ' minlen' : 2 , ' flags' : ' EXTRA|NOTRLCOM|CMDWIN' , ' parser' : ' parse_cmd_syntax ' },
2253
2277
\ {' name' : ' syntime' , ' minlen' : 5 , ' flags' : ' NEEDARG|WORD1|TRLBAR|CMDWIN' , ' parser' : ' parse_cmd_common' },
2254
2278
\ {' name' : ' syncbind' , ' minlen' : 4 , ' flags' : ' TRLBAR' , ' parser' : ' parse_cmd_common' },
2255
2279
\ {' name' : ' t' , ' minlen' : 1 , ' flags' : ' RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY' , ' parser' : ' parse_cmd_common' },
0 commit comments