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:
parent
9bd9759115
commit
bc5e68ffcb
6 changed files with 11 additions and 54 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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())(.*)$")
|
||||
|
|
|
|||
|
|
@ -6,6 +6,5 @@ return [[
|
|||
:string="string"
|
||||
:list="list"
|
||||
:pair="pair"
|
||||
:event buffer="event buffer"
|
||||
:function reference="function reference"
|
||||
]]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
:a = t"Some text."
|
||||
:b = t"Tagged text" # 1
|
||||
|
||||
a: {a}
|
||||
|
||||
b: {b}
|
||||
|
|
@ -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" }
|
||||
]]--
|
||||
Loading…
Add table
Add a link
Reference in a new issue