%% name = KPeg::StringEscape

%% {

attr_reader :text

}

segment = < /[w ]+/ > { text } # Don’t use s because that matchs n

| "\\" { "\\\\" }
| "\n" { "\\n" }
| "\r" { "\\r" }
| "\t" { "\\t" }
| "\b" { "\\b" }
| "\"" { "\\\"" }
| < . > { text }

root = segment*:s { @text = s.join }

embed_seg = “#” { “\#” }

| segment

embed = embed_seg*:s { @text = s.join }