quote.go 585 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package quote
  2. /* Quote quotes string if it contains white space character. */
  3. import(
  4. "os"
  5. "io"
  6. "fmt"
  7. "unicode"
  8. "bufio"
  9. "surdeus.su/core/cli/mtool"
  10. )
  11. func HasWhiteSpace(s string) bool {
  12. for _, r := range s {
  13. if(unicode.IsSpace(r)){
  14. return true
  15. }
  16. }
  17. return false
  18. }
  19. func Run(flagSet *mtool.Flags) {
  20. flagSet.Parse()
  21. r := bufio.NewReader(os.Stdin)
  22. for{
  23. l, e := r.ReadString('\n')
  24. if e==io.EOF {
  25. break
  26. }
  27. last := len(l) - 1
  28. if l[last] == '\n' {
  29. l = l[:last]
  30. }
  31. if HasWhiteSpace(l) {
  32. fmt.Printf("'%s'\n", l)
  33. }else {
  34. fmt.Println(l)
  35. }
  36. }
  37. }