chiark / gitweb /
Vladimír Vondruš [Fri, 27 Apr 2018 14:40:13 +0000 (16:40 +0200)]
doxygen: use state.current_compound.url instead of state.current_url.
Makes it more flexible for future additions.
Vladimír Vondruš [Wed, 25 Apr 2018 15:06:47 +0000 (17:06 +0200)]
Doc++
Vladimír Vondruš [Wed, 25 Apr 2018 11:40:23 +0000 (13:40 +0200)]
doxygen: JAVADOC_AUTOBRIEF is... wow. I need to take a shower.
Or, don't blow up on an unfortunate series of bad events.
1. If a file has a copyright header starting with /// and delimited with
**** and JAVADOC_AUTOBRIEF is set to ON, Doxygen treats the first ***
line as a brief documentation, which then made m.css fail because it
doesn't expect stuff like <para><hruler/></para> inside
<briefdescriptions>. The <hruler/> is still not implemented yet,
though.
2. Who would have thought that
/// A brief docs.
/// @{
/// Some detailed docs.
would be understood as a two-paragraph brief?!
3. And who would have thought that
/// ============
/// The Thing
/// ============
would create a brief containing some === characters and a <heading>
inside?! Here I just give up and ignore the whole thing.
Vladimír Vondruš [Wed, 25 Apr 2018 11:18:01 +0000 (13:18 +0200)]
doxygen: actually, just abort when CREATE_SUBDIRS is enabled.
Vladimír Vondruš [Wed, 25 Apr 2018 11:11:55 +0000 (13:11 +0200)]
doxygen: it's CREATE_SUBDIRS, not GENERATE_SUBDIRS. Stupid me.
Vladimír Vondruš [Wed, 25 Apr 2018 09:24:37 +0000 (11:24 +0200)]
Treat *.h files as C++.
Vladimír Vondruš [Wed, 25 Apr 2018 09:21:08 +0000 (11:21 +0200)]
Make the GitHub language bar prettier.
Vladimír Vondruš [Wed, 25 Apr 2018 06:22:44 +0000 (08:22 +0200)]
doxygen: warn if GENERATE_SUBDIRS is enabled.
Vladimír Vondruš [Wed, 25 Apr 2018 06:22:08 +0000 (08:22 +0200)]
doc: minimal Troubleshooting section for the Pelican theme.
Vladimír Vondruš [Wed, 25 Apr 2018 06:21:30 +0000 (08:21 +0200)]
doc: a new Troubleshooting section for the Doxygen theme.
So I don't have to repeat myself :)
Vladimír Vondruš [Wed, 25 Apr 2018 06:21:05 +0000 (08:21 +0200)]
doc: more prominent link to the Doxygen theme "demo".
Vladimír Vondruš [Thu, 12 Apr 2018 20:14:26 +0000 (22:14 +0200)]
doxygen: fix <h2></h3>.
Amazing when such a glaring issue gets unnoticed in hundreds of test
files.
Vladimír Vondruš [Thu, 12 Apr 2018 16:15:19 +0000 (18:15 +0200)]
doxygen: minor cleanup.
Vladimír Vondruš [Thu, 12 Apr 2018 16:14:53 +0000 (18:14 +0200)]
doxygen: implement support for the \exception keyword.
Vladimír Vondruš [Thu, 12 Apr 2018 14:35:21 +0000 (16:35 +0200)]
doxygen: verify that \param etc. is extracted out of a list as well.
Previously this was asserting because I didn't expect Doxygen to be so
shitty and put these *inside* of some random list without ending that
list first. This also uncovers a lot of other nasty Doxygen bugs, so I'm
just creating a very restricted repro case that doesn't trigger them.
I lost all hope with Doxygen. Kill it with fire and start over.
Vladimír Vondruš [Thu, 12 Apr 2018 14:44:01 +0000 (16:44 +0200)]
doxygen: safety assert so we don't miss \retval that's in weird places.
Missed that when implementing \retval support in
5e6d0bcaae00412c3acbd371f11ef6276af6d0b9.
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.