function! sj#argparser#html_args#Construct(start_index, end_index, line) let parser = sj#argparser#common#Construct(a:start_index, a:end_index, a:line) call extend(parser, { \ 'Process': function('sj#argparser#html_args#Process'), \ }) return parser endfunction function! sj#argparser#html_args#Process() dict while !self.Finished() if self.body =~ '^\s*/\=>' " end of the tag, push it onto the last argument let self.current_arg .= self.body break elseif self.body[0] == ' ' if self.current_arg != '' call self.PushArg() endif call self.Next() continue elseif self.body[0] =~ '["''{]' call self.JumpPair('"''{', '"''}') endif call self.PushChar() endwhile if len(self.current_arg) > 0 call self.PushArg() endif endfunction