chiark / gitweb /
Vladimír Vondruš [Thu, 12 Apr 2018 14:12:28 +0000 (16:12 +0200)]
doxygen, m.math: update math rendering tests.
For some reason the paths are in a different order now.
Vladimír Vondruš [Mon, 9 Apr 2018 10:55:45 +0000 (12:55 +0200)]
doxygen: prevent particular Doxyfile values from becoming empty.
In particular the HTML_EXTRA_STYLESHEET, which is set to empty by the
doxygen -g
generated Doxyfile.
Vladimír Vondruš [Mon, 9 Apr 2018 10:05:38 +0000 (12:05 +0200)]
doxygen: be more failproof for depth attribute returned from dvisvgm.
Sometimes the regex doesn't match and returns None, even though I tried
reaallyy hard to make it match. This fixes it for good.
Vladimír Vondruš [Mon, 9 Apr 2018 10:04:37 +0000 (12:04 +0200)]
doxygen: make it possible to highlight Jinja templates.
There's no well-known extension for these and Doxygen \code{.ext}
*requires* an extension inside {} otherwise it blows up.
Vladimír Vondruš [Mon, 9 Apr 2018 10:00:19 +0000 (12:00 +0200)]
doxygen: don't crash when encountering xrefs in the form of @_1@.
Triggered by Android NDK docs.
Vladimír Vondruš [Thu, 8 Mar 2018 10:29:16 +0000 (11:29 +0100)]
Build status avoid jumpy relayout when loading.
Vladimír Vondruš [Thu, 8 Mar 2018 10:28:28 +0000 (11:28 +0100)]
Build status: no point in showing long stuff like 117 minutes.
Vladimír Vondruš [Sun, 11 Feb 2018 23:05:04 +0000 (00:05 +0100)]
doxygen: don't mark things containing \bug as deprecated.
Ugh am I stupid?!
Vladimír Vondruš [Sun, 11 Feb 2018 21:43:36 +0000 (22:43 +0100)]
doxygen: the search might lead to the same page, so restore the scrollbar.
Vladimír Vondruš [Sun, 11 Feb 2018 21:42:41 +0000 (22:42 +0100)]
doxygen: eat T / Tab only if no modifier keys are pressed.
Otherwise Ctrl-T and Shift-Tab for opening a new / going to another tab
don't work as they should.
Vladimír Vondruš [Sun, 11 Feb 2018 19:58:47 +0000 (20:58 +0100)]
doxygen: improve the search help text.
Vladimír Vondruš [Sun, 11 Feb 2018 17:46:33 +0000 (18:46 +0100)]
doxygen: count also all aliases to the search symbol count.
Vladimír Vondruš [Sun, 11 Feb 2018 17:40:20 +0000 (18:40 +0100)]
doxygen: minor cleanup.
Vladimír Vondruš [Sun, 11 Feb 2018 17:39:22 +0000 (18:39 +0100)]
doc: \section commands elsewhere than top-level docs are not supported.
The visual layout is not ready for such thing at all.
Vladimír Vondruš [Sun, 11 Feb 2018 17:38:45 +0000 (18:38 +0100)]
doxygen: propagate keywords from inside sections as well.
Vladimír Vondruš [Sun, 11 Feb 2018 17:26:48 +0000 (18:26 +0100)]
doxygen: minor cleanup.
Vladimír Vondruš [Sun, 11 Feb 2018 17:09:29 +0000 (18:09 +0100)]
doxygen: go back in history when closing search.
Instead of polluting it even more. Makes back button and context
preservation behave much better now.
Vladimír Vondruš [Sun, 11 Feb 2018 17:03:09 +0000 (18:03 +0100)]
doxygen: render the aliases in search better.
In particular it's more important what's the alias than what's the name
it points to.
Vladimír Vondruš [Sun, 11 Feb 2018 10:42:10 +0000 (11:42 +0100)]
doxygen: properly bubble up also enum-values-as-keywords from sections.
Vladimír Vondruš [Sat, 10 Feb 2018 23:26:38 +0000 (00:26 +0100)]
doxygen: properly bubble search keywords from sections upwards.
Vladimír Vondruš [Sat, 10 Feb 2018 23:23:28 +0000 (00:23 +0100)]
doxygen: test that search keywords inside sections are bubbled up.
They aren't.
Vladimír Vondruš [Sat, 10 Feb 2018 22:23:20 +0000 (23:23 +0100)]
doxygen: test another case of result URL merging.
This time min() on line 279.
Vladimír Vondruš [Sat, 10 Feb 2018 16:32:10 +0000 (17:32 +0100)]
doxygen: this is not needed, it was tested elsewhere.
Vladimír Vondruš [Sat, 10 Feb 2018 16:31:36 +0000 (17:31 +0100)]
doxygen: fix heavily nested result URL combining.
The test passes again.
Vladimír Vondruš [Sat, 10 Feb 2018 16:29:06 +0000 (17:29 +0100)]
doxygen: test that nested namespaces have the URL properly combined.
They don't.
Vladimír Vondruš [Sat, 10 Feb 2018 16:22:39 +0000 (17:22 +0100)]
doxygen: document why a test is skipped.
Vladimír Vondruš [Sat, 10 Feb 2018 16:11:46 +0000 (17:11 +0100)]
doxygen: support rendering namespace members in file scope.
Vladimír Vondruš [Sat, 10 Feb 2018 15:58:46 +0000 (16:58 +0100)]
doxygen: properly qualify base/derived classes in other namespaces.
Previously the prefix was unconditionally omitted, which is confusing in
case a class from one namespace derives from a classs in another
namespace.
Vladimír Vondruš [Sat, 10 Feb 2018 12:51:58 +0000 (13:51 +0100)]
doxygen: be more strict when parsing symbol IDs.
In particular, expect that symbol ID base URL is the same as base URL of
the enclosing compound. If that's not the case, there's something wrong
and docs for it should be generated elsewhere.
Vladimír Vondruš [Sat, 10 Feb 2018 15:06:42 +0000 (16:06 +0100)]
doxygen: be compatible with stock HTML output for undocumented symbols.
In particular, if given compound has neither brief nor detailed docs,
produce output for it only if it's a page or a group (because those need
to be explicitly created). Before only file/dir docs behaved like this,
not namespaces or classes.
Vladimír Vondruš [Sat, 10 Feb 2018 15:00:17 +0000 (16:00 +0100)]
doxygen: don't populate search data when search is disabled.
Vladimír Vondruš [Sat, 10 Feb 2018 11:04:39 +0000 (12:04 +0100)]
doxygen: explicitly encode all output files as UTF-8.
Arvid Gerstmann [Sat, 10 Feb 2018 08:06:45 +0000 (09:06 +0100)]
Fix encoding error on Windows
Vladimír Vondruš [Fri, 9 Feb 2018 21:43:17 +0000 (22:43 +0100)]
doxygen: implement remaining kinds of section commands.
In particular:
- \author, \authors, \copyright
- \version, \since
- \date
- \pre, \post, \invariant
- \par and RCS entries (`$Id: something $`)
The \par is now also able to append to previous sections of any kind if
its title is omitted.
Vladimír Vondruš [Fri, 9 Feb 2018 20:49:38 +0000 (21:49 +0100)]
doxygen: hide unreachable code from coverage, remove old debug output.
Vladimír Vondruš [Fri, 9 Feb 2018 20:49:19 +0000 (21:49 +0100)]
doxygen: support the \retval command.
Vladimír Vondruš [Fri, 9 Feb 2018 20:41:01 +0000 (21:41 +0100)]
doxygen: kill dead code.
Vladimír Vondruš [Fri, 9 Feb 2018 13:08:33 +0000 (14:08 +0100)]
doxygen: use python3 executable for more scripts.
Arvid Gerstmann [Tue, 6 Feb 2018 11:28:03 +0000 (12:28 +0100)]
Use Python3 executable, instead of Python
macOS & Linux define the Python executable to be Python 2.x, and since
dox2html5 does not work with Python 2.x, explicitly use the Python 3.x
executable to ensure it's working.
Vladimír Vondruš [Mon, 5 Feb 2018 01:59:07 +0000 (02:59 +0100)]
doxygen: explicitly save symbol count.
With all the aliases the autodetected number was quite off.
Vladimír Vondruš [Mon, 5 Feb 2018 01:12:53 +0000 (02:12 +0100)]
Doc++
Vladimír Vondruš [Mon, 5 Feb 2018 00:10:47 +0000 (01:10 +0100)]
doxygen: implement \m_keyword, \m_keywords and \m_enum_values_as_keywords.
Vladimír Vondruš [Sun, 4 Feb 2018 22:54:59 +0000 (23:54 +0100)]
doxygen: support for aliases in search.
Not yet wired to the complete doxygen extraction, though.
Vladimír Vondruš [Sun, 4 Feb 2018 22:46:36 +0000 (23:46 +0100)]
doxygen: every item added to the map should have proper type.
Vladimír Vondruš [Sun, 4 Feb 2018 22:46:04 +0000 (23:46 +0100)]
doxygen: save search data size as bytes.
Vladimír Vondruš [Sun, 4 Feb 2018 22:26:55 +0000 (23:26 +0100)]
doxygen: simplify search (de)serialization code.
Vladimír Vondruš [Sun, 4 Feb 2018 21:19:34 +0000 (22:19 +0100)]
doxygen: save some bits.
Vladimír Vondruš [Sun, 4 Feb 2018 21:09:52 +0000 (22:09 +0100)]
doxygen: add compound to search data during the actual parse.
So it's prepared for adding extra search stuff that needs to be parsed,
such as search keywords.
I went through the test case and manually reordered by hand to ensure no
functionality was lost while doing this. It was not, quite the opposite
-- groups were not properly marked as deprecated. Now they are. The file
size stays the same, as it should.
Vladimír Vondruš [Sun, 4 Feb 2018 21:15:37 +0000 (22:15 +0100)]
doxygen: verify size of search data in the integration test.
Vladimír Vondruš [Sun, 4 Feb 2018 20:14:52 +0000 (21:14 +0100)]
doxygen: add functions twice to the search data.
With the breadth-first traversal for search result gathering we need to
handle two things:
1. Show a function named min() among other three-letter names (such as
BlendEquation::Min), so in fact have it just as "min" in the trie.
2. But make it still possible to search for min() with the parentheses
after in order to filter out non-function results, so in fact have
it *also* as "min()" in the trie.
This required that the result prefix merging was updated to allow
self-referencing (an item being a complete alias of another item).
That's now allowed only if the suffix length differ and is allowed only
from one side to avoid a cycle. Suffix length differs, because one
result has the () suffix while the other hasn't.
In order to prevent the function from appearing twice in the results, a
lookahead barrier is added to the ( character. That was nicely simple.
Vladimír Vondruš [Sun, 4 Feb 2018 21:07:42 +0000 (22:07 +0100)]
doxygen: avoid trailing spaces in search pretty-print.
Vladimír Vondruš [Sun, 4 Feb 2018 13:44:49 +0000 (14:44 +0100)]
doxygen: sort globbed files when testing.
Makes the results predictable. Wasn't a problem before, but now the
search results are indexed based on that.
Vladimír Vondruš [Sun, 4 Feb 2018 10:44:38 +0000 (11:44 +0100)]
doxygen: huh why are the hashes completely different again?!
Vladimír Vondruš [Sun, 4 Feb 2018 10:02:13 +0000 (11:02 +0100)]
doxygen: implemented result map prefix merging.
Vladimír Vondruš [Sun, 4 Feb 2018 09:30:40 +0000 (10:30 +0100)]
doxygen: there will never be more barriers.
Vladimír Vondruš [Sat, 3 Feb 2018 17:51:13 +0000 (18:51 +0100)]
doxygen: stupid Doxygen.
What the fucking shit.
Vladimír Vondruš [Sat, 3 Feb 2018 17:45:08 +0000 (18:45 +0100)]
doxygen: gathering search results breadth-first.
Instead of depth-first. So the shortest results are first.
Vladimír Vondruš [Sat, 3 Feb 2018 11:53:58 +0000 (12:53 +0100)]
doxygen: save result count instead of node size to search binary.
Makes the code much simpler and allows for up to 256 children and 256
results in each node, instead of limiting its size to 512 bytes (thus
e.g. 64 children and 127 results or some other combination).
I like it when things get better, more flexible and simpler by removing
a bunch of complicated code.
Vladimír Vondruš [Sat, 3 Feb 2018 11:25:51 +0000 (12:25 +0100)]
doc: updated Doxygen docs.
Vladimír Vondruš [Sat, 3 Feb 2018 11:24:29 +0000 (12:24 +0100)]
doxygen: propagate function deletion status to the search.
Also renamed the internal flags to be less annoyingly long.
Vladimír Vondruš [Fri, 2 Feb 2018 23:01:09 +0000 (00:01 +0100)]
doxygen: extract deprecation info and show it everywhere.
* In symbol/filesystem tree listing
* In member listing
* In the search
Vladimír Vondruš [Sat, 3 Feb 2018 09:48:49 +0000 (10:48 +0100)]
doxygen: don't show dirs with / at the end in search.
Not needed since we have the type labels now.
Vladimír Vondruš [Sat, 3 Feb 2018 09:46:23 +0000 (10:46 +0100)]
doxygen: disable unneeded Doxygen output in tests.
Vladimír Vondruš [Fri, 2 Feb 2018 16:30:03 +0000 (17:30 +0100)]
doxygen: avoid wrapping the top navbar on small screen sizes.
Now with the search button it's a bit more crowded.
Vladimír Vondruš [Fri, 2 Feb 2018 10:29:53 +0000 (11:29 +0100)]
doxygen: include symbol type in the search data.
Vladimír Vondruš [Wed, 31 Jan 2018 10:23:08 +0000 (11:23 +0100)]
css: styling for Doxygen search result labels.
Vladimír Vondruš [Tue, 30 Jan 2018 22:56:06 +0000 (23:56 +0100)]
doxygen: make search lookahead barriers and subtree merging configurable.
So I can see the difference.
Vladimír Vondruš [Tue, 30 Jan 2018 22:51:14 +0000 (23:51 +0100)]
doxygen: improve the trie pretty print flexibility, add colors.
I'm using that for the blog post, so it saves me some time :)
Vladimír Vondruš [Mon, 29 Jan 2018 23:38:39 +0000 (00:38 +0100)]
doxygen: proper UTF-8 support in search.
Vladimír Vondruš [Mon, 29 Jan 2018 13:09:46 +0000 (14:09 +0100)]
doxygen: show count of found results and search time.
Vladimír Vondruš [Mon, 29 Jan 2018 12:45:09 +0000 (13:45 +0100)]
doxygen: prevent page scroll (and layout jumps) on showing search.
Vladimír Vondruš [Mon, 29 Jan 2018 12:35:01 +0000 (13:35 +0100)]
doxygen: implement lookahead barriers for search.
Vladimír Vondruš [Sun, 28 Jan 2018 21:45:02 +0000 (22:45 +0100)]
doxygen: don't include function parameter names in search results.
Too damn long.
Vladimír Vondruš [Sun, 28 Jan 2018 21:30:18 +0000 (22:30 +0100)]
doxygen: strip HTML tags from function param types in search.
Vladimír Vondruš [Sun, 28 Jan 2018 19:56:27 +0000 (20:56 +0100)]
doxygen: search result clarity improvements.
* Function/macro params and suffix (such as const&&) is included in
search results.
* Directories are displayed with / at the end.
* Parent pages are included in the name.
In order to properly highlight the typed value, a new "suffix length"
field is introduced in the result map, saying how much text there
is after the matching trie entry.
Also, in order to display the right angle quote for subpages, a bunch of
UTF-8-awareness fixes was done across the code.
Vladimír Vondruš [Sat, 27 Jan 2018 16:41:00 +0000 (17:41 +0100)]
package/ci: JS testing on Travis.
Vladimír Vondruš [Sat, 27 Jan 2018 16:40:36 +0000 (17:40 +0100)]
doxygen: updated docs about unit testing and coverage to include JS.
Vladimír Vondruš [Mon, 29 Jan 2018 22:46:10 +0000 (23:46 +0100)]
doxygen: fix case where pages are subpages of index.
Avoid the assertion, include the index page in the page tree and link to
index.html instead of indexpage.html.
Vladimír Vondruš [Mon, 29 Jan 2018 18:39:17 +0000 (19:39 +0100)]
doxygen: don't die if a page doesn't have a title.
But use its name instead.
Vladimír Vondruš [Tue, 23 Jan 2018 09:35:16 +0000 (10:35 +0100)]
doxygen: initial client-side search implementation.
Vladimír Vondruš [Sat, 20 Jan 2018 22:53:54 +0000 (23:53 +0100)]
doxygen: save half of node size, as it is aligned to 16bit.
Makes it possible to run on the whole Magnum symbol tree.
Vladimír Vondruš [Sat, 20 Jan 2018 22:55:35 +0000 (23:55 +0100)]
doxygen: assert that the search trie consists only of lowercase data.
Can't use `assert c.islower()` as that returns False on non-alnum chars.
Huh.
Vladimír Vondruš [Sat, 20 Jan 2018 22:39:00 +0000 (23:39 +0100)]
doxygen: serializing search result map and everything together.
Vladimír Vondruš [Sat, 20 Jan 2018 17:56:23 +0000 (18:56 +0100)]
doxygen: ability to print trie stats in the pretty printer.
Vladimír Vondruš [Sat, 20 Jan 2018 14:54:23 +0000 (15:54 +0100)]
doxygen: implement subtree merging.
Reduces size of the test case from 514 bytes to 340. Also the
visualization tool can visualize where the trees were cut off.
Vladimír Vondruš [Sat, 20 Jan 2018 22:49:08 +0000 (23:49 +0100)]
doxygen: ability to use the pretty trie printer from a command-line.
Vladimír Vondruš [Fri, 19 Jan 2018 21:54:42 +0000 (22:54 +0100)]
doxygen: initial Trie building & serialization implementation.
Vladimír Vondruš [Tue, 30 Jan 2018 11:48:38 +0000 (12:48 +0100)]
doxygen: loudly ignore member groups without a \name instead of asserting.
Vladimír Vondruš [Mon, 29 Jan 2018 22:47:32 +0000 (23:47 +0100)]
doxygen: render Reference in TOC only if there is some reference.
Vladimír Vondruš [Mon, 29 Jan 2018 22:23:35 +0000 (23:23 +0100)]
doxygen: don't be so strict about directory parents.
There can be quite a mess.
Vladimír Vondruš [Mon, 29 Jan 2018 22:04:58 +0000 (23:04 +0100)]
doxygen: fix section merging with return value docs involved.
Vladimír Vondruš [Mon, 29 Jan 2018 21:12:39 +0000 (22:12 +0100)]
doxygen: more flexible table rendering.
Support more consecutive table header rows, allow <th> elements inside
<tbody>.
Vladimír Vondruš [Mon, 29 Jan 2018 20:56:25 +0000 (21:56 +0100)]
doxygen: support `\param x, y, z Description`.
Oh, so that explains the massive complexity of the XML output. Ugh.
Vladimír Vondruš [Mon, 29 Jan 2018 20:39:55 +0000 (21:39 +0100)]
doxygen: don't die on empty elements.
Include the block ones in the output, remove the inline ones.
Vladimír Vondruš [Mon, 29 Jan 2018 20:28:58 +0000 (21:28 +0100)]
doxygen: support math formulas in custom environment.
And also be more generous with spacing.
Vladimír Vondruš [Mon, 29 Jan 2018 20:15:27 +0000 (21:15 +0100)]
doxygen: groups can have inner classes, too.
Vladimír Vondruš [Mon, 29 Jan 2018 20:15:01 +0000 (21:15 +0100)]
doxygen: more flexible function argument array parsing.
Vladimír Vondruš [Mon, 29 Jan 2018 20:03:39 +0000 (21:03 +0100)]
doxygen: be less strict when parsing \param and \return.
They can be scattered around the documentation block, in different
paragraphs. Combine them together and reorder as they should be.
Vladimír Vondruš [Mon, 29 Jan 2018 19:49:14 +0000 (20:49 +0100)]
doxygen: don't die on XML parse error.
Doxygen is able to highlight PNGs as C++ code. It's amazing, of
course, but the result is a terrible mess (of course). So let's have
another drink and ignore those *amazing things*.
Vladimír Vondruš [Mon, 29 Jan 2018 18:53:24 +0000 (19:53 +0100)]
doxygen: complain instead of blowing up if more \return-s are present.