1
0
Fork 0
mirror of https://github.com/Reuh/anselme.git synced 2025-10-27 16:49:31 +00:00

Remove text litterals as events buffers may contain code blocks (choices events) and we don't want this to end up in the save file

This commit is contained in:
Étienne Fildadut 2021-12-06 16:15:35 +01:00
parent 9bd9759115
commit bc5e68ffcb
6 changed files with 11 additions and 54 deletions

View file

@ -65,7 +65,7 @@ local function eval(state, exp)
type = "list",
value = l
}
-- event buffer with from a text line
-- event buffer (internal type, only issued from a text or choice line)
elseif exp.type == "text" then
local l = {}
events:push_buffer(state, l)

View file

@ -92,12 +92,6 @@ local function expression(s, state, namespace, current_priority, operating_on)
local l, e = parse_text(d, state, namespace, "string") -- parse interpolated expressions
if not l then return l, e end
return expression(r, state, namespace, current_priority, l)
-- text
elseif s:match("^t%\"") then
local d, r = get_text_in_litteral(s, 3)
local l, e = parse_text(d, state, namespace, "text", nil, true) -- parse interpolated expressions and subtext
if not l then return l, e end
return expression(r, state, namespace, current_priority, l)
-- paranthesis
elseif s:match("^%b()") then
local content, r = s:match("^(%b())(.*)$")

View file

@ -6,6 +6,5 @@ return [[
:string="string"
:list="list"
:pair="pair"
:event buffer="event buffer"
:function reference="function reference"
]]

View file

@ -131,13 +131,6 @@ types.anselme = {
return { [k] = v }
end
},
["event buffer"] = {
format = function(val)
local v, e = events:write_buffer(anselme.running.state, val)
if not v then return v, e end
return ""
end,
},
type = {
format = function(val)
local k, ke = format(val[1])
@ -151,7 +144,16 @@ types.anselme = {
if not k and ke then return k, ke end
return k
end
}
},
["function reference"] = nil,
-- internal types
["event buffer"] = {
format = function(val) -- triggered from subtexts
local v, e = events:write_buffer(anselme.running.state, val)
if not v then return v, e end
return ""
end
},
}
package.loaded[...] = types

View file

@ -1,6 +0,0 @@
:a = t"Some text."
:b = t"Tagged text" # 1
a: {a}
b: {b}

View file

@ -1,32 +0,0 @@
local _={}
_[13]={1}
_[12]={}
_[11]={}
_[10]={}
_[9]={tags=_[13],text="Tagged text"}
_[8]={tags=_[12],text="b: "}
_[7]={tags=_[11],text="Some text."}
_[6]={tags=_[10],text="a: "}
_[5]={_[8],_[9]}
_[4]={_[6],_[7]}
_[3]={"return"}
_[2]={"text",_[5]}
_[1]={"text",_[4]}
return {_[1],_[2],_[3]}
--[[
{ "text", { {
tags = {},
text = "a: "
}, {
tags = {},
text = "Some text."
} } }
{ "text", { {
tags = {},
text = "b: "
}, {
tags = { 1 },
text = "Tagged text"
} } }
{ "return" }
]]--