MCPcopy Create free account
hub / github.com/GongShichen/LuminaCode / parseSedSubstituteFlags

Function parseSedSubstituteFlags

tools/bash/sed_validation.go:189–218  ·  view source on GitHub ↗
(expr string)

Source from the content-addressed store, hash-verified

187}
188
189func parseSedSubstituteFlags(expr string) (string, bool) {
190 if len(expr) < 4 || expr[0] != 's' {
191 return "", false
192 }
193 delimiter := expr[1]
194 if (delimiter >= 'a' && delimiter <= 'z') || (delimiter >= 'A' && delimiter <= 'Z') ||
195 (delimiter >= '0' && delimiter <= '9') || delimiter == ' ' || delimiter == '\t' || delimiter == '\n' || delimiter == '\r' {
196 return "", false
197 }
198 parts := 0
199 escaped := false
200 for i := 2; i < len(expr); i++ {
201 ch := expr[i]
202 if escaped {
203 escaped = false
204 continue
205 }
206 if ch == '\\' {
207 escaped = true
208 continue
209 }
210 if ch == delimiter {
211 parts++
212 if parts == 3 {
213 return expr[i+1:], true
214 }
215 }
216 }
217 return "", false
218}

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected