# HG changeset patch # User Matthew Wild # Date 1445987328 0 # Node ID 0dab1dc183c1348ee341abba06ead29b8238719f # Parent b37504fa30315208ceee86488bdb01f952b06fda parser, objects.client: Experimental support for more liberal object names diff -r b37504fa3031 -r 0dab1dc183c1 scansion/objects/client.lua --- a/scansion/objects/client.lua Tue Oct 27 23:07:46 2015 +0000 +++ b/scansion/objects/client.lua Tue Oct 27 23:08:48 2015 +0000 @@ -11,7 +11,7 @@ for k, v in pairs(stanza.attr) do local expr = v:match("^%$%{(.+)%}$"); if expr then - local name, value_name = expr:match("^(.-)'s (.+)$"); + local name, value_name = expr:match("^(.+)'s (.+)$"); assert(name, "Unable to parse expression: "..expr); local key = value_name:lower():gsub(" ", "_"); assert(script.objects[name], "Unknown object called "..name); diff -r b37504fa3031 -r 0dab1dc183c1 scansion/parser.lua --- a/scansion/parser.lua Tue Oct 27 23:07:46 2015 +0000 +++ b/scansion/parser.lua Tue Oct 27 23:08:48 2015 +0000 @@ -45,7 +45,7 @@ end else last_object = nil; - local name, action, extra = line:match("^(%a+) (%a+):?%s?(.*)$"); + local name, action, extra = line:match("^([^:]+) (%a+):?%s?(.*)$"); if not name then return nil, "Unable to parse action on line "..line_number; end