RawLine returns the affected line from the original template, if available.
()
| 60 | |
| 61 | // RawLine returns the affected line from the original template, if available. |
| 62 | func (e *Error) RawLine() (line string, available bool, outErr error) { |
| 63 | if e.Line <= 0 || e.Filename == "<string>" || e.Template == nil { |
| 64 | return "", false, nil |
| 65 | } |
| 66 | |
| 67 | _, _, fd, err := e.Template.set.resolveTemplate(e.Template, e.Filename) |
| 68 | if err != nil { |
| 69 | return "", false, err |
| 70 | } |
| 71 | if closer, ok := fd.(io.Closer); ok { |
| 72 | defer func() { |
| 73 | err := closer.Close() |
| 74 | if err != nil && outErr == nil { |
| 75 | outErr = err |
| 76 | } |
| 77 | }() |
| 78 | } |
| 79 | |
| 80 | scanner := bufio.NewScanner(fd) |
| 81 | l := 0 |
| 82 | for scanner.Scan() { |
| 83 | l++ |
| 84 | if l == e.Line { |
| 85 | return scanner.Text(), true, nil |
| 86 | } |
| 87 | } |
| 88 | return "", false, nil |
| 89 | } |
nothing calls this directly
no test coverage detected