For the record, this is much more fun if you don't actually know what is on your clipboard, so I would consider taking a bit of code from some huge project you're working on and pasting it here cheating. But you're free to do so, at the expense of my respect and that of other forum members playing fair.
With that, let's see what's on my clipboard.
defs = {} for category, groupText in data:gmatch('%[([%w-_]+)%]([^%[%]]*)') do defs[category] = {} for definition, props in groupText:gmatch('#%s*([^:]+)%s*:(/>/>/>/>/>.-);') do defs[category][definition] = {} for key, value in props:gmatch('%s*([^:]+)%s*:%s*([^:]+)%s*') do defs[category][definition][key] = value end end end
And it's pastie time!