()
| 329 | } |
| 330 | |
| 331 | func (p *parser) parseCat() error { |
| 332 | s := p.s |
| 333 | t, err := expectTagContents(s) |
| 334 | if err != nil { |
| 335 | return err |
| 336 | } |
| 337 | filename, err := strconv.Unquote(string(t.Value)) |
| 338 | if err != nil { |
| 339 | return fmt.Errorf("invalid cat value %q at %s: %s", t.Value, s.Context(), err) |
| 340 | } |
| 341 | |
| 342 | data, err := readFile(s.filePath, filename) |
| 343 | if err != nil { |
| 344 | return fmt.Errorf("cannot cat file %q at %s: %s", filename, s.Context(), err) |
| 345 | } |
| 346 | p.emitText(data) |
| 347 | return nil |
| 348 | } |
| 349 | |
| 350 | func (p *parser) parseSwitch() error { |
| 351 | s := p.s |
no test coverage detected