github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/utils/escape/escape.go (about) 1 package escape 2 3 import "strings" 4 5 // CommandLine takes in command line arguments as a slice and escapes the parameters 6 func CommandLine(s []string) { 7 for i := range s { 8 s[i] = strings.Replace(s[i], `\`, `\\`, -1) 9 s[i] = strings.Replace(s[i], `$`, `\$`, -1) 10 s[i] = strings.Replace(s[i], `@`, `\@`, -1) 11 s[i] = strings.Replace(s[i], `|`, `\|`, -1) 12 s[i] = strings.Replace(s[i], `?`, `\?`, -1) 13 s[i] = strings.Replace(s[i], `*`, `\*`, -1) 14 s[i] = strings.Replace(s[i], `'`, `\'`, -1) 15 s[i] = strings.Replace(s[i], `"`, `\"`, -1) 16 s[i] = strings.Replace(s[i], `(`, `\(`, -1) 17 s[i] = strings.Replace(s[i], `)`, `\)`, -1) 18 s[i] = strings.Replace(s[i], `<`, `\<`, -1) 19 s[i] = strings.Replace(s[i], `>`, `\>`, -1) 20 s[i] = strings.Replace(s[i], `#`, `\#`, -1) 21 s[i] = strings.Replace(s[i], ` `, `\ `, -1) 22 s[i] = strings.Replace(s[i], "\t", `\t`, -1) 23 s[i] = strings.Replace(s[i], "\r", `\r`, -1) 24 s[i] = strings.Replace(s[i], "\n", `\n`, -1) 25 } 26 } 27 28 // Table takes in terminal-rendered tables cells and escapes the contents 29 func Table(s []string) { 30 for i := range s { 31 s[i] = strings.Replace(s[i], `\`, `\\`, -1) 32 s[i] = strings.Replace(s[i], `$`, `\$`, -1) 33 s[i] = strings.Replace(s[i], `@`, `\@`, -1) 34 s[i] = strings.Replace(s[i], `"`, `\"`, -1) 35 s[i] = strings.Replace(s[i], `<`, `\<`, -1) 36 s[i] = strings.Replace(s[i], `>`, `\>`, -1) 37 s[i] = strings.Replace(s[i], "\t", `\t`, -1) 38 s[i] = strings.Replace(s[i], "\r", `\r`, -1) 39 s[i] = strings.Replace(s[i], "\n", `\n`, -1) 40 } 41 }