lib/faml/filter_compilers/escaped.rb
# frozen_string_literal: true
require_relative 'base'
module Faml
module FilterCompilers
class Escaped < Base
include Temple::Utils
def compile(ast)
temple = [:multi, [:newline]]
compile_texts(temple, ast.lineno, ast.texts)
temple << [:static, "\n"]
escape_code = Temple::Filters::Escapable.new(use_html_safe: false).instance_variable_get(:@escape_code)
sym = unique_name
[:multi,
[:capture, sym, temple],
[:dynamic, escape_code % sym],
]
end
end
register(:escaped, Escaped)
end
end