Commit Graph

10 Commits

Author SHA1 Message Date
Daniel James
a17fd624c7 Quickbook: Track dependencies in state. Refs #6691
- Use cananoical filenames where possible.
- Remove duplicates.
- Include SVG files.
- Less hacky.

[SVN r77490]
2012-03-22 23:19:30 +00:00
Daniel James
fc8d7bf0ef Quickbook: Rough stab at outputting dependencies. Refs #6691
Adds `--output-deps` flag. To write out dependencies to `deps.txt`:
{{{
quickbook --output-deps deps.txt source.qbk
}}}

If `--output-deps` is specified, quickbook won't generate an output file
unless one is specified with `--output-file`. If there is an error it
will return an error code, but it will still write out all the opened
files.

Known issues:
- If the same file is included/imported twice it may or may not list it
  twice. Should be consistent.
- Doesn't include SVG files. It probably should as they can affect the
  output.
- Need to check some of the path issues for things such as xinclude
  paths which depend on the output file path.
- Needs tests and documentation.

[SVN r77442]
2012-03-20 23:43:33 +00:00
Daniel James
9b332bdcf9 Quickbook: Merge from trunk.
[SVN r77380]
2012-03-18 18:44:50 +00:00
Daniel James
672caeec17 Quickbook: Code block callouts.
[SVN r75897]
2011-12-11 11:16:01 +00:00
Daniel James
2f1ab31350 Quickbook: More error checking for file handling.
[SVN r75769]
2011-12-02 08:28:57 +00:00
Daniel James
44cdb88eec Quickbook: Deal with unbalanced code snippets.
[SVN r75627]
2011-11-22 23:49:26 +00:00
Daniel James
23e168a340 Quickbook: Use intrusive_ptr for files.
[SVN r75616]
2011-11-22 23:46:13 +00:00
Daniel James
650c3088c2 Quickbook: Track position in code blocks and snippets.
[SVN r75614]
2011-11-22 23:45:37 +00:00
Daniel James
3ee432e250 Quickbook: Parse templates using the version they were defined for.
Needs to store the version in the file object, since it's only known
after the file is read in, had to make files non-const. Put some checks
in to make sure this isn't abused but pretty messy.

[SVN r75260]
2011-11-02 08:46:38 +00:00
Daniel James
4dea2a8ad5 Quickbook: Keep files in memory, stop tracking position in iterators.
Files are now permanently loaded. Quickbook substrings are stored as
references into the file. Now positions are stored as iterators into
the original file, the line and column is calculated when messages are
output.

This doesn't have much effect on efficiency but it simplifies a few
things.

[SVN r75253]
2011-11-02 07:57:47 +00:00