mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-04 10:03:42 +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
 | 
						|
}
 |