|  | @@ -55,11 +55,17 @@ class colored(object):
 | 
	
		
			
				|  |  |      def no_color(self):
 | 
	
		
			
				|  |  |          return reduce(self._fold_no_color, self.s)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    def embed(self):
 | 
	
		
			
				|  |  | +        prefix = ""
 | 
	
		
			
				|  |  | +        if self.enabled:
 | 
	
		
			
				|  |  | +            prefix = self.op
 | 
	
		
			
				|  |  | +        return prefix + str(reduce(self._add, self.s))
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      def __str__(self):
 | 
	
		
			
				|  |  | -        prefix, suffix = "", ""
 | 
	
		
			
				|  |  | +        suffix = ""
 | 
	
		
			
				|  |  |          if self.enabled:
 | 
	
		
			
				|  |  | -            prefix, suffix = self.op, RESET_SEQ
 | 
	
		
			
				|  |  | -        return prefix + str(reduce(self._add, self.s)) + suffix
 | 
	
		
			
				|  |  | +            suffix = RESET_SEQ
 | 
	
		
			
				|  |  | +        return self.embed() + suffix
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def node(self, s, op):
 | 
	
		
			
				|  |  |          return self.__class__(enabled=self.enabled, op=op, *s)
 | 
	
	
		
			
				|  | @@ -128,7 +134,7 @@ class colored(object):
 | 
	
		
			
				|  |  |          return self.node(s, fg(40 + WHITE))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def reset(self, *s):
 | 
	
		
			
				|  |  | -        return self.node(s, RESET_SEQ)
 | 
	
		
			
				|  |  | +        return self.node(s or [""], RESET_SEQ)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def __add__(self, other):
 | 
	
		
			
				|  |  |          return str(self) + str(other)
 |