splitAndNormalize splits code text into lines and normalizes each one.
(code string)
| 218 | |
| 219 | // splitAndNormalize splits code text into lines and normalizes each one. |
| 220 | func splitAndNormalize(code string) []string { |
| 221 | raw := strings.Split(code, "\n") |
| 222 | result := make([]string, 0, len(raw)) |
| 223 | for _, line := range raw { |
| 224 | n := normalizeLine(line) |
| 225 | if n == "" { |
| 226 | continue |
| 227 | } |
| 228 | result = append(result, n) |
| 229 | } |
| 230 | return result |
| 231 | } |
| 232 | |
| 233 | // normalizeLine removes leading/trailing whitespace and strips any leading |
| 234 | // '+' or '-' diff marker. |