detectLanguage picks a Chroma lexer name from a leading-character peek. Returns "" when no lexer applies — caller skips highlighting in that case.
(s string)
| 38 | // detectLanguage picks a Chroma lexer name from a leading-character peek. |
| 39 | // Returns "" when no lexer applies — caller skips highlighting in that case. |
| 40 | func detectLanguage(s string) string { |
| 41 | t := strings.TrimSpace(s) |
| 42 | if len(t) == 0 { |
| 43 | return "" |
| 44 | } |
| 45 | if t[0] == '{' || t[0] == '[' { |
| 46 | return "json" |
| 47 | } |
| 48 | if strings.HasPrefix(t, "--- ") { |
| 49 | return "diff" |
| 50 | } |
| 51 | return "" |
| 52 | } |