sys

A set of unix utils in hare!
Log | Files | Refs | README

escape.ha (366B)


      1 use strings;
      2 
      3 export fn escape(s: str) str = {
      4 	let bytes = strings::toutf8(s);
      5 	if (len(bytes) <= 1) return s;
      6 	if (bytes[0]: rune != '\\') 
      7 		return s;
      8 
      9 
     10 	switch (bytes[1]: rune) {
     11 	case 'n' => return "\n";
     12 	case 't' => return "\t";
     13 	case 'v' => return "\v";
     14 	case 'r' => return "\r";
     15 	case '0' => return "\0";
     16 	case '\\' => return "\\";
     17 	case => return s;
     18 	};
     19 };