Commit Graph

55 Commits

Author SHA1 Message Date
Daniel James
cf6b21e786 Quickbook: Update version.
[SVN r75698]
2011-11-27 21:48:00 +00:00
Daniel James
32721bd39e Quickbook: Deal with invalid command line macros.
[SVN r75624]
2011-11-22 23:48:25 +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
43f9288487 Quickbook: Fix SVG handling.
- Fixes extension check.
- Looks for images relative to quickbook file instead of the current
  working directory, so that it will work when run from another
  directory.
- Allow user to specify the image location.
- Use `bbk_value` for synthesized attributes rather than `qbk_value`.
  It's the right thing to do, but doesn't make any practical difference.

Still not happy with image path handling. I feel that they should be
relative to the quickbook file and be rewritten - in a similar manner to
`xinclude`.

[SVN r75612]
2011-11-22 23:44:57 +00:00
Daniel James
a041edab9c Quickbook: Fail gracefully if document info is missing.
I also tweaked `pre` and `post` a bit while I was at it.

[SVN r75538]
2011-11-17 21:07:01 +00:00
Daniel James
476e11c3ab Quickbook: Make source mode a document attribute and fix implementation.
In quickbook 1.6, nested documents default to C++, regardless of the
parent's source mode so that they are interpreted as if they are
standalone documents.

[SVN r75528]
2011-11-17 21:04:02 +00:00
Daniel James
0ce22a2c67 Quickbook: Deal with doc attributes without doc info block.
[SVN r75526]
2011-11-17 21:03:25 +00:00
Daniel James
9711cead8b Quickbook: Parse lists with paragraphs.
Quite a big change. I moved the list logic into the grammar so that it's
easier to tell how to parse different blocks. Also reworked some of the
block vs. phrase stuff - it's a lot cleaner now which helped implement
this.  It generates terrible markup at the moment, but at least the
parser is in place.

[SVN r75446]
2011-11-10 18:17:00 +00:00
Daniel James
f1386c3ce5 Quickbook: no-self-linked-headers flag.
[SVN r75438]
2011-11-10 18:14:34 +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
Daniel James
3ae7265139 Quickbook: New version of id_manager. Fixes #1221.
This encapsulates more in the id and section handling code. Fixes a few
edge cases and separates implementation of the new and old section
handling code. Always normalizes and truncates generated ids in quickbook
1.6.

[SVN r75251]
2011-11-02 07:49:22 +00:00
Daniel James
894862e309 Quickbook: Sort a placeholder for doc_id.
[SVN r75250]
2011-11-02 07:45:03 +00:00
Daniel James
cd03beb84e Quickbook: Move doc_id into section_info.
And doc_id state saving into quickbook.cpp.

[SVN r75248]
2011-11-02 07:44:26 +00:00
Daniel James
a44ec6d363 Quickbook: Move section_info into id_generator.
And shuffle things round a bit to avoid adding too many dependents to
id_generator. For 1.6 I want section_info to use id_generator to nest
ids properly when there are duplicate section ids.

[SVN r75246]
2011-11-02 07:43:41 +00:00
Daniel James
3ab3116ee4 Quickbook: Reset section info for nested documents.
So when including a document inside a section, the section's id is not
used. Also cleans up the messy handling of section.min_leveln.

[SVN r75245]
2011-11-02 07:43:03 +00:00
Daniel James
bdca375f24 Quickbook: Set version for dev.
[SVN r75229]
2011-11-01 19:01:44 +00:00
Daniel James
77694a9ce4 Quickbook: Close any open sections at end of document.
[SVN r75220]
2011-11-01 18:59:08 +00:00
Daniel James
a2b3c3aa04 Quickbook: Merge from trunk to quickbook-dev.
[SVN r73365]
2011-07-25 21:41:36 +00:00
Daniel James
09165188f1 Quickbook: merge from trunk to dev.
[SVN r72762]
2011-06-26 11:07:04 +00:00
Daniel James
d90650a679 Quickbook: In 1.6, override document id with id from include element.
[SVN r71013]
2011-04-05 20:03:18 +00:00
Daniel James
066d27a264 Quickbook: Better error messages when loading a file.
[SVN r70978]
2011-04-04 22:11:09 +00:00
Daniel James
a615a0a6e3 Quickbook: Nested documents in 1.6.
If an included file has a docinfo block, use that docinfo. I'm not
entirely sure if the nested file be treated as if it's completely
standalone - i.e. should macros and templates defined in the parent be
used?

Also, there's some odd behaviour in quickbook if the docinfo block in an
included file has a parse error. It just goes back to the start and
parses as a file without a docinfo block. I think it would be better if
this was a hard error, but what should happen in someone has defined a
template with the same name as a docinfo block? That's actually valid in
existing quickbook, so the dodgy docinfo block might just be a template
call.

[SVN r70963]
2011-04-03 21:15:14 +00:00
Daniel James
72958f8dfa Quickbook: 'alpha' version.
[SVN r70622]
2011-03-27 10:54:08 +00:00
Daniel James
bee5d0dd77 Quickbook: Small cleanups.
Mostly avoiding warnings, and removing unnecessary includes.

[SVN r70526]
2011-03-24 21:24:24 +00:00
Daniel James
ce9dcf4c2f Quickbook: windows fixes.
[SVN r70208]
2011-03-19 19:24:20 +00:00
Daniel James
35cae039f4 Quickbook: support escapes in simple markup.
[SVN r70204]
2011-03-19 19:13:38 +00:00
Daniel James
3b09b15f55 Quickbook: A couple of hidden flags for testing.
[SVN r70187]
2011-03-19 15:09:54 +00:00
Daniel James
f7c5e244e8 Quickbook: merge further 'value' development.
[SVN r70185]
2011-03-19 14:43:12 +00:00
Daniel James
f41178fa4d Quickbook: include boost version in version info.
[SVN r70052]
2011-03-17 09:08:05 +00:00
Daniel James
98266fe89a Quickbook: version bump.
[SVN r70050]
2011-03-17 09:06:50 +00:00
Daniel James
496cdb2ed6 Merge improved unicode support on windows for quickbook.
[SVN r70044]
2011-03-17 00:12:56 +00:00
Daniel James
f8635bcb41 Another testing flag to allow testing xinclude.
Not ideal, since not testing normal use. But at least it would have
caught the error fixed in [68308].

[SVN r69181]
2011-02-22 20:47:15 +00:00
Daniel James
e4bddcebe5 Flag for testing errors.
quickbook-fail-test couldn't distinguish between correctly handled
errors and bugs, so add quickbook-error-test which will only succeed for
quickbook errors.

[SVN r69180]
2011-02-22 20:45:26 +00:00
Daniel James
0ce7cd0969 Use values for some more block markup.
[SVN r69172]
2011-02-22 20:33:24 +00:00
Daniel James
e50fefdecb Fix default output filename.
[SVN r68565]
2011-01-30 11:43:34 +00:00
Daniel James
5d7385cff4 Support for wide output streams on windows.
[SVN r68563]
2011-01-30 11:38:17 +00:00
Daniel James
d94c4726f8 Windows support for unicode filenames.
[SVN r68397]
2011-01-23 16:49:34 +00:00
Daniel James
70c5398ec3 Replace input_path with manual path conversion.
[SVN r68395]
2011-01-23 16:47:23 +00:00
Daniel James
9557da3e43 Use filesystem alias more consistently.
[SVN r68394]
2011-01-23 16:45:57 +00:00
Daniel James
9505be4e85 Use fs::path in more places.
[SVN r68393]
2011-01-23 16:44:32 +00:00
Daniel James
024feb181b Change the way the filename is stored.
No longer stored in the iterator which means there's less messing around
with pointers and strings. Always stored as a fs::path which will help
with support for unicode. Also passed to outwarn and outerr as fs::path
so they can handle writing unicode filenames to the output.

[SVN r68392]
2011-01-23 16:42:51 +00:00
Daniel James
6daf40dd41 Use filesystem 3 in quickbook.
And remove cygwin 1.5 support.

[SVN r67661]
2011-01-04 22:34:36 +00:00
Daniel James
51d09f5631 Use a single grammar.
Speeds up quickbook a fair bit, hopefully will make up for the anchors
change which was quite costly.

[SVN r67634]
2011-01-03 22:11:44 +00:00
Daniel James
7e453b0150 Create a single grammar class.
Like on the spirit 2 branch, although this is a bit of an odd thing to
do with classic spirit. Still also requiring the expected scanner.

[SVN r67327]
2010-12-19 13:29:25 +00:00
Daniel James
a9f093e78e Release note for 'lang' support.
[SVN r67171]
2010-12-11 14:43:41 +00:00
Daniel James
8e4af74075 Only create output file after a successful parse.
[SVN r65420]
2010-09-14 20:46:31 +00:00
Daniel James
57fb3c3c02 Cherry pick some reorganisation from the spirit 2 branch.
Based on [57774], [59562], [58046], [59566].

[SVN r65358]
2010-09-09 00:10:30 +00:00
Daniel James
ac0ea799eb Use explicit namespaces.
[SVN r65357]
2010-09-09 00:09:34 +00:00