def new_char()
case
when current_char == '|' && @in_quotes == false
self.current_param = self.data
self.data = ""
self.params << ""
when current_char == ':' && @in_quotes == false && self.params.size <= 1
if self.data.blank? || self.data.include?(":")
self.data << current_char
else
self.function_name = self.data
self.data = ""
end
when current_char == '=' && @in_quotes == false && !is_function?
self.current_param = self.data
self.data = ""
self.name_current_param()
when current_char == '}' && previous_char == '}'
if @close_size == @tag_size
self.data.chop!
self.current_param = self.data
self.data = ""
return false
else
@close_size += 1
end
else
self.data << current_char
if @tag_start
if @tag_size > 3
if @tag_size == 5
@options[:buffer].buffers << WikiBuffer::Var.new(self.data,@options)
@options[:buffer].buffers[-1].tag_start = false
self.data = ""
@tag_size = 3
return true
end
end
@tag_start = false
end
end
return true
end