1234567891011121314151617181920212223242526272829303132 |
- 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
- }
|