mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-10-26 05:33:43 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			32 lines
		
	
	
		
			620 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			620 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package ansiterm
 | |
| 
 | |
| type oscStringState struct {
 | |
| 	baseState
 | |
| }
 | |
| 
 | |
| func (oscState oscStringState) Handle(b byte) (s state, e error) {
 | |
| 	oscState.parser.logf("OscString::Handle %#x", b)
 | |
| 	nextState, err := oscState.baseState.Handle(b)
 | |
| 	if nextState != nil || err != nil {
 | |
| 		return nextState, err
 | |
| 	}
 | |
| 
 | |
| 	switch {
 | |
| 	case isOscStringTerminator(b):
 | |
| 		return oscState.parser.ground, nil
 | |
| 	}
 | |
| 
 | |
| 	return oscState, nil
 | |
| }
 | |
| 
 | |
| // See below for OSC string terminators for linux
 | |
| // http://man7.org/linux/man-pages/man4/console_codes.4.html
 | |
| func isOscStringTerminator(b byte) bool {
 | |
| 
 | |
| 	if b == ANSI_BEL || b == 0x5C {
 | |
| 		return true
 | |
| 	}
 | |
| 
 | |
| 	return false
 | |
| }
 | 
