function! sj#argparser#go_vars#Construct(line) " 0, 0 for start, end, since we're giving it the full body let parser = sj#argparser#common#Construct(0, 0, a:line) call extend(parser, { \ 'comment': '', \ \ 'Process': function('sj#argparser#go_vars#Process'), \ }) return parser endfunction function! sj#argparser#go_vars#Process() dict while !self.Finished() if self.body[0] == ',' call self.PushArg() call self.Next() continue elseif self.body[0] =~ "[\"'{\[(]" call self.JumpPair("\"'{[(<", "\"'}])>") elseif self.body =~ '^\s*\/\/' let self.comment = sj#Trim(self.body) break endif call self.PushChar() endwhile if len(sj#Trim(self.current_arg)) > 0 call self.PushArg() endif endfunction