MCPcopy
hub / github.com/rgburke/grv / processStringWord

Method processStringWord

cmd/grv/config_scan.go:541–573  ·  view source on GitHub ↗
(str string)

Source from the content-addressed store, hash-verified

539}
540
541func (scanner *ConfigScanner) processStringWord(str string) (string, error) {
542 var buffer bytes.Buffer
543 chars := []rune(str)
544
545 if len(chars) < 2 || chars[0] != '"' || chars[len(chars)-1] != '"' {
546 return str, fmt.Errorf("Invalid string word: %v", str)
547 }
548
549 chars = chars[1 : len(chars)-1]
550 escape := false
551
552 for _, char := range chars {
553 switch {
554 case escape:
555 switch char {
556 case 'n':
557 buffer.WriteRune('\n')
558 case 't':
559 buffer.WriteRune('\t')
560 default:
561 buffer.WriteRune(char)
562 }
563
564 escape = false
565 case char == '\\':
566 escape = true
567 default:
568 buffer.WriteRune(char)
569 }
570 }
571
572 return buffer.String(), nil
573}

Callers 1

scanStringWordMethod · 0.95

Calls 1

StringMethod · 0.65

Tested by

no test coverage detected