colloquy-1.35.30/
colloquy-1.35.30/data/lang/
colloquy-1.35.30/data/misc/
colloquy-1.35.30/docs/
-- simple string stacks for colloquy

stringStack = {
   new = function()
     return {
       add = stringStack.add,
       create = stringStack.create,
       stack = {},
     }
   end,

   add = function(self, string)
     local i;
     tinsert(self.stack, string);
     for i = self.stack.n - 1, 1, -1 do
       if (strlen(self.stack[i]) > strlen(self.stack[i + 1])) then break end;
       self.stack[i] = self.stack[i] .. tremove(self.stack);
     end;
   end,

   create = function(self)
     local i;
     for i = self.stack.n - 1, 1, -1 do
       self.stack[i] = self.stack[i] .. tremove(self.stack);
     end;
     return self.stack[1];
   end,

};