Let the Line strip its own text
This commit is contained in:
parent
6f7978a1eb
commit
92c33a222f
|
@ -181,6 +181,12 @@ module Haml
|
||||||
def tabs
|
def tabs
|
||||||
@tabs ||= parser.compute_tabs(self)
|
@tabs ||= parser.compute_tabs(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def strip!(from)
|
||||||
|
self.text = text[from..-1]
|
||||||
|
self.text.lstrip!
|
||||||
|
self
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# @private
|
# @private
|
||||||
|
@ -218,57 +224,26 @@ module Haml
|
||||||
when ELEMENT; push tag(line)
|
when ELEMENT; push tag(line)
|
||||||
when COMMENT; push comment(line.text[1..-1].lstrip)
|
when COMMENT; push comment(line.text[1..-1].lstrip)
|
||||||
when SANITIZE
|
when SANITIZE
|
||||||
if line.text[1, 2] == '=='
|
return push plain(line.strip!(3), :escape_html) if line.text[1, 2] == '=='
|
||||||
line.text = line.text[3..-1].lstrip
|
return push script(line.strip!(2), :escape_html) if line.text[1] == SCRIPT
|
||||||
return push plain(line, :escape_html)
|
return push flat_script(line.strip!(2), :escape_html) if line.text[1] == FLAT_SCRIPT
|
||||||
end
|
return push plain(line.strip!(1), :escape_html) if line.text[1] == ?\s
|
||||||
if line.text[1] == SCRIPT
|
|
||||||
line.text = line.text[2..-1].lstrip
|
|
||||||
return push script(line, :escape_html)
|
|
||||||
end
|
|
||||||
if line.text[1] == FLAT_SCRIPT
|
|
||||||
line.text = line.text[2..-1].lstrip
|
|
||||||
return push flat_script(line, :escape_html)
|
|
||||||
end
|
|
||||||
if line.text[1] == ?\s
|
|
||||||
line.text = line.text[1..-1].lstrip
|
|
||||||
return push plain(line, :escape_html)
|
|
||||||
end
|
|
||||||
push plain(line)
|
push plain(line)
|
||||||
when SCRIPT
|
when SCRIPT
|
||||||
if line.text[1] == SCRIPT
|
return push plain(line.strip!(2)) if line.text[1] == SCRIPT
|
||||||
line.text = line.text[2..-1].lstrip
|
|
||||||
return push plain(line)
|
|
||||||
end
|
|
||||||
line.text = line.text[1..-1]
|
line.text = line.text[1..-1]
|
||||||
push script(line)
|
push script(line)
|
||||||
when FLAT_SCRIPT
|
when FLAT_SCRIPT; push flat_script(line.strip!(1))
|
||||||
line.text = line.text[1..-1]
|
|
||||||
push flat_script(line)
|
|
||||||
when SILENT_SCRIPT; push silent_script(line)
|
when SILENT_SCRIPT; push silent_script(line)
|
||||||
when FILTER; push filter(line.text[1..-1].downcase)
|
when FILTER; push filter(line.text[1..-1].downcase)
|
||||||
when DOCTYPE
|
when DOCTYPE
|
||||||
return push doctype(line.text) if line.text[0, 3] == '!!!'
|
return push doctype(line.text) if line.text[0, 3] == '!!!'
|
||||||
if line.text[1, 2] == '=='
|
return push plain(line.strip!(3), false) if line.text[1, 2] == '=='
|
||||||
line.text = line.text[3..-1].lstrip
|
return push script(line.strip!(2), false) if line.text[1] == SCRIPT
|
||||||
return push plain(line, false)
|
return push flat_script(line.strip!(2), false) if line.text[1] == FLAT_SCRIPT
|
||||||
end
|
return push plain(line.strip!(1), false) if line.text[1] == ?\s
|
||||||
if line.text[1] == SCRIPT
|
|
||||||
line.text = line.text[2..-1].lstrip
|
|
||||||
return push script(line, false)
|
|
||||||
end
|
|
||||||
if line.text[1] == FLAT_SCRIPT
|
|
||||||
line.text = line.text[2..-1].lstrip
|
|
||||||
return push flat_script(line, false)
|
|
||||||
end
|
|
||||||
if line.text[1] == ?\s
|
|
||||||
line.text = line.text[1..-1].lstrip
|
|
||||||
return push plain(line, false)
|
|
||||||
end
|
|
||||||
push plain(line)
|
|
||||||
when ESCAPE
|
|
||||||
line.text = line.text[1..-1]
|
|
||||||
push plain(line)
|
push plain(line)
|
||||||
|
when ESCAPE; push plain(line.strip!(1))
|
||||||
else; push plain(line)
|
else; push plain(line)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue