Open humdingerb opened 11 months ago
I've recently played a bit with Zeal, in my opinion it would be a better way to handle the Haiku offline documentation and the integration with Genio. A docset (the internal format used by Zeal) can be produced out from a doxygen project. This is just a guess of course, we haven't seriously analysed it yet.
Once I had a look at the way the website implements the search: according to the first letter entered in the search box, a text file (json) is loaded and parsed to find the similar words and the linked url.
This could also be extended to include the option to search in C/C++/Yab/whatever standard documentation files.
For example, if a class from the C++ standard library is queried, it should spawn an instance of https://en.cppreference.com/w/ or any other reliable site containing the information.
Genio now has an experimental support for scripting and extensions. The new version 3.0 will ship with a Python extension accessible via the new Tools menu. No context menu is available at the moment but the extension can provide a default shortcut in the style of Tracker Add-Ons and it requires Zeal to work properly. It captures the symbol under the caret or the selection from the selected editor and launches Zeal with this as a parameter.
Please refer to this thread to know more about Zeal and how to install the Haiku Book docset.
I suppose this will pose a similar question as with clangd/lsp: How will the Genio package handle this? Both clangd and a HaikuBook reference would be very valuable to have with Genio out of the box for all C++ developers. Python-only devs won't need it, as far as I understand. Though, with the Python-bindings coming along, the HaikuBook may be valuable (I don't know because I know nothing about Python and if the C++ API docs would be useful for it....).
For this release we decided NOT to include Zeal (since it has lots of dependencies, like QT) nor the extensions. The extensions will be initially downloadable from some places we've yet to decide.
It'd be nice to be able to right click some Haiku API class, function etc. and open the Haiku Book at the right page. The Haiku Book could be packaged for offline usage, "doxygen" in haiku/docs/user generates the pages.
The Haiku Book uses some javascript for its search. No idea if it could be converted to c++ and directly used to search the html files. All this is of course way out of my league...
I'm probably not the first one with that wish, and the fact it's not there yet, tells me that it may be complicated... :)