Andy Williams
0c744c6c1c
docs: Filter the public API to just Efl.*
2017-12-11 16:50:47 +00:00
Andy Williams
b8b183bfcb
docs: remove resolved FIXMEs
2017-12-08 18:23:06 +00:00
Andy Williams
42368d16e8
docs: Complete removal of object type from API URLs
...
We still have the subtypes for now, that is less
likely to cause user confusion as they are unlikely to browse
method names in the address bar.
2017-12-08 18:16:51 +00:00
Andy Williams
3cccf56795
docs: Strip class type from URLs, avoid user confusion
2017-12-08 16:39:05 +00:00
Andy Williams
da29942989
docs: Don't confuse with dokuwiki user namespace
2017-12-08 16:39:05 +00:00
Andy Williams
8093546521
docs: Use more meaningful titles for when we only inherit
2017-12-08 16:39:05 +00:00
Daniel Kolesa
324e3dedea
docs: always pass eos unit in gendoc
2017-12-08 13:18:38 +01:00
Andy Williams
dc821546ad
gendoc: Allow script to be run from other directories
2017-12-08 11:00:50 +00:00
Andy Williams
6cdcaf846b
gendoc: Update to latest eolian syntax
2017-12-08 11:00:50 +00:00
Daniel Kolesa
8a1f93f698
eolian: pass state where necessary
...
This modifies the API so that global state removal is made
possible. It's still used internally for now but externally
the state is contained.
2017-12-05 16:41:42 +01:00
Daniel Kolesa
40214e16c7
elua: correctly wrap gettext funcs
...
Now, we cannot directly register funcs defined by a different
signature than the lua standard (int (*)(lua_State *)) so we
have to correctly wrap those with proper conversions etc.
2017-11-24 10:55:46 +01:00
Andy Williams
93995b0093
docgen: Correct title plugin usage
2017-11-22 09:59:52 +00:00
Daniel Kolesa
a5d77546a8
docgen: better space out includes
2017-11-02 14:36:00 +01:00
Daniel Kolesa
e46d6d41d2
docgen: fix generation and generate notes correctly
2017-11-02 14:29:20 +01:00
Andy Williams
a7bb770e69
Generate docs into /develop/api/*
...
Also move root doc to start.txt for a better entry point
2017-10-25 18:17:25 +01:00
Daniel Kolesa
4f8a9b50f4
eolian: make inherits_get return a list of classes, not strings
...
Most of the time you need to retrieve the class from the string
anyway, so remove this relic of old Eolian and gain some small
performance benefits and extra convenience.
Subtly breaks API but everything should be updated.
2017-10-25 16:25:41 +02:00
Andy Williams
549f167002
Docs location moved
2017-10-21 16:39:07 +01:00
Daniel Kolesa
c48cde4aed
docs: move write_include out of the writer backend
...
This is a large chunk shared between backends.
2017-10-20 14:29:04 +02:00
Daniel Kolesa
dbf48bf9f5
docs: prepare for markdown gendoc backend
2017-10-20 14:17:10 +02:00
Daniel Kolesa
1577c576e6
eolian: remove static_array and terminated_array
...
These types are of questionable value and the API was not entirely
thought out - remove for now, and if a legitimate use is found
later, they may be readded (with a better API), but typically it
seems best to redesign the bad APIs around safe containers...
2017-09-22 18:01:15 +02:00
Daniel Kolesa
4bae2a7385
eolian: merge REGULAR and COMPLEX types
2017-09-22 17:46:02 +02:00
Daniel Kolesa
60d6aeeb2d
elua: update for new eolian ownership system
2017-09-15 17:52:38 +02:00
Daniel Kolesa
e55ab81835
eolian: always implicitly validate database and remove its API
2017-09-13 23:58:47 +02:00
Daniel Kolesa
8b5d555cf5
elua: update eolian bindings and make docgen work again
2017-08-30 19:46:41 +02:00
Daniel Kolesa
10fd3c32e8
eolian: remove c_only
...
Unused and of questionable value.
2017-08-30 19:46:41 +02:00
Daniel Kolesa
e38418dd9d
elua: update eolian bindings with c type serialization change
2017-08-10 12:19:59 +02:00
Daniel Kolesa
a72cac2223
docgen: stub out units so the generator works again
2017-05-30 17:15:54 +02:00
Daniel Kolesa
bf2ac6c937
elua: update for unit api usage
2017-05-30 17:15:53 +02:00
Daniel Kolesa
7da0549970
eolian: make eolian_file_parse return unit
2017-05-30 17:15:53 +02:00
Daniel Kolesa
bf7b3e5dfc
docgen: include C usage snippet on event pages
2017-03-07 17:15:24 +01:00
Daniel Kolesa
2b02dd56fd
docgen: better event C info, show private/protected in listing
2017-03-07 16:42:22 +01:00
Daniel Kolesa
3d3ea8dd92
docgen: run types/vars together with classes in parallel script
2017-03-03 17:51:50 +01:00
Daniel Kolesa
0a252c4463
docgen: add a simple script that does doc generation in parallel
2017-03-03 17:46:40 +01:00
Daniel Kolesa
bfeddb8e09
docgen: only parse the necessary class when generating only one
2017-03-03 17:34:40 +01:00
Daniel Kolesa
7ef2e4dfd4
docgen: do not generate foreign classes' functions and events
...
Only generate the classes' own funcs/events (and overridden). Let other
classes generate their own stuff. This prevents some files from being
generated multiple times, which more than halves generation time.
2017-03-03 16:36:47 +01:00
Daniel Kolesa
81c84999fd
docgen: add a pass to generate individual classes
2017-03-03 16:35:03 +01:00
Daniel Kolesa
bc7561d8d5
docgen: add clist pass to list all classes
2017-03-03 16:18:21 +01:00
Daniel Kolesa
ea436e49d1
docgen: initial support for multipass gen
2017-03-03 16:16:05 +01:00
Daniel Kolesa
79f10fc0a0
docgen: move stats and keyref build into later stage
...
That way we can multipass the doc build without worrying about stats.
2017-03-03 15:53:59 +01:00
Daniel Kolesa
3f5e1b4e1e
docgen: add info about protected/private methods/properties in listing
2017-03-02 16:34:22 +01:00
Daniel Kolesa
4f540c1a7c
docgen: fix broken inheritance graphs
2017-02-24 17:17:52 +01:00
Daniel Kolesa
4f9c3e0679
docgen: more useful event listing
2017-02-24 17:12:28 +01:00
Daniel Kolesa
9124f1f8c6
docgen: disregard override info for displaying property get/set
2017-02-24 16:24:36 +01:00
Daniel Kolesa
5cf08ef1a9
docgen: minor speed optimizations and cleanups
2017-02-24 16:10:00 +01:00
Daniel Kolesa
3f92a51b9a
docgen: merge overridden and other categories for methods/properties
2017-02-24 15:47:25 +01:00
Daniel Kolesa
4405d1fc7e
docgen: initial support for inherited events listing
2017-02-23 18:17:22 +01:00
Daniel Kolesa
dcac79d5b6
docgen: add "Others" section with all remaining callables to class pages
2017-02-23 17:09:32 +01:00
Daniel Kolesa
96c1c30db4
docgen: merge methods and properties in listing
2017-02-23 17:09:32 +01:00
Daniel Kolesa
8e65011a4b
docgen: properly handle overridden property docs
2017-02-23 17:09:32 +01:00
Daniel Kolesa
7249dd94ab
docgen: add a way to get numerical id of a function
2017-02-22 18:29:18 +01:00
Daniel Kolesa
967af33da2
docgen: more useful function listings in class pages
...
Now there are C signatures visible.
2017-02-22 18:29:18 +01:00
Daniel Kolesa
d8a0daaf58
docgen: inherit overridden method/property brief descriptions on class pages
2017-02-21 16:48:52 +01:00
Daniel Kolesa
cbe7859d1c
docgen: add -p to print what exactly is being generated currently
2017-02-16 17:29:23 +01:00
Daniel Kolesa
f297454ac0
docgen: make sure all class retrievals are cached
2017-02-16 17:20:00 +01:00
Daniel Kolesa
0dfb6516a1
docgen: cache function instantiations
2017-02-16 17:12:43 +01:00
Daniel Kolesa
b9090529e5
docgen: cache class retrievals for performance
2017-02-16 16:06:56 +01:00
Daniel Kolesa
9540e96107
docs: avoid possible duplicates when figuring out all impls of a func
2017-02-09 16:04:59 +01:00
Daniel Kolesa
5e50c9d52b
docs: list all existing implements of a method/property
2017-02-09 15:58:52 +01:00
Daniel Kolesa
051f277be2
docs: reverse inheritance hierarchy api in doctree
2017-02-09 15:58:52 +01:00
Daniel Kolesa
995b1e480c
docgen: link to the method an overriden one overrides
2017-01-26 17:52:00 +01:00
Daniel Kolesa
ff8688e169
docgen: autodocument inherited methods/properties
2017-01-26 17:52:00 +01:00
Daniel Kolesa
3090e9c3ae
docs: WIP overridden method/property documentation support in docgen
2017-01-20 17:20:28 +01:00
Daniel Kolesa
c2b6fbccbc
docs: use new implement based doc API
2017-01-20 15:32:00 +01:00
Daniel Kolesa
8207fd9cc5
docs: remove some duplicate doctree methods
2017-01-20 15:15:50 +01:00
Daniel Kolesa
ab7b6815e0
docs: add implement to doctree
2017-01-20 15:10:23 +01:00
Daniel Kolesa
95181f2d36
eolian: move base function doc API into implements
...
This allows us to unify retrieval of docs for both regular and
overridden funcs without having two separate APIs. It's currently
missing validation and docgen is still not adjusted properly for
it either, but at least there's this. Enables retrieval of docs
for overridden funcs by default as well.
2017-01-19 15:09:07 +01:00
Daniel Kolesa
35c5e89269
eolian: remove/add APIs and clean up implements system
...
As there is no need to have separate is_auto, is_empty and
is_pure_virtual for functions and implements (each function has
its own base implement by default) I removed the function ones.
Instead, I added a way to retrieve a function's base implement
so that you can instead do the checks on the implement even when
you only have the function.
I also moved base implement build directly into the parser instead
of the database filler. That allows for significant cleanup. I
also removed distinction of implement pointers in Eolian_Function
for get and set as implements now always contain an entire thing
so the pointer was always the same anyway.
Things should still behave more or less the same, but ordering
of generated functions has changed because ordering of implements
has changed.
2017-01-16 15:55:06 +01:00
Daniel Kolesa
8146db3b77
docs: generate correct eolian function signatures
...
Now signatures don't contain full class name, just func name.
2017-01-13 15:46:18 +01:00
Daniel Kolesa
cb3f8304e0
eolian: change eo file syntax @virtual_pure -> @pure_virtual
2017-01-13 15:44:09 +01:00
Daniel Kolesa
692ae7adb6
eolian: use consistent pure_virtual naming in API
...
Previously one API used just virtual (incorrect) and one used
virtual_pure (which just sounds weird). So unify with a single
name, pure_virtual, similar as in other lanugages.
This does not change eo file syntax yet.
2017-01-13 15:40:29 +01:00
Daniel Kolesa
a70645e154
eolian: consistent and cleaner error values from APIs
...
Now all error/unknown/etc values returned from APIs are zero,
previously it was a mix of zeroes and minus ones. Also, some
enums that had no error/invalid value before have one now, which
allows for better distinction between what is an error and what
is an intended result.
2017-01-13 15:26:05 +01:00
Daniel Kolesa
2f5db8c7d5
docgen: migrate to new Eolian-provided tokenizer
2016-12-09 17:19:03 +01:00
Gustavo Sverzut Barbieri
678e8dfdc3
eo_debug: add lifecycle debug options, allow run-in-tree and use eina_btlog.
...
As usual with our code, EFL_RUN_IN_TREE=1 will lead to usage of
binaries from the current build dir instead of system.
To make user life easier, add -l/--lifecycle-debug and
-L/--lifecycle-no-debug options, as well as -h/--help. The
lifecycle-debug option will export the correct environment variables,
such as EO_LIFECYCLE_DEBUG, EO_LIFECYCLE_NO_DEBUG and
EINA_LOG_LEVELS=eo_lifecycle:4 if no such level was set for that
domain.
Last but not least, pass all command's stderr thru eina_btlog so
backtraces are automatically translated to function names, files and
lines. This one was a bit trickier to respect colors and stdout/stderr
contents, see comments in the script.
2016-12-06 14:06:54 -02:00
Daniel Kolesa
8002b3b24e
eolian: remove parsing of pointers and the corresponding APIs
...
Everything should be done via the new ptr() system now.
2016-11-10 16:20:19 +01:00
Stefan Schmidt
299338a550
elua: docgen: follow is_ref to is_ptr rename
...
Docgen was broken after this rename.
2016-11-10 15:14:42 +01:00
Daniel Kolesa
6ecd3c040d
docs: support for documenting variables
2016-10-21 16:01:03 +02:00
Tom Hacohen
b242f50626
Eo: introducing libeo_dbg.so.
...
This has been in the making for a very long time. Thanks to Marcel for
reminding me to do it.
What is it?
This is a tool to help application developers debug their apps with
everything Eo. Eo is strict, but not as strict as it can be. Many strict
tests and debug are very expensive to implement, and we have so many
hot-paths that even basic "ifs" to check if debugging is enabled will
add significant overhead to normal running applications. This is why I
created this library. All the expensive tests and bookkeeping should be
wrapped around with "#ifdef EO_DEBUG". With this change, libeo.so is
compiled twice, once normally, and once with this define set (as
libeo_dbg.so). This means that normal eo code will not be affected, but
if you decide to debug your application, all you need to do is:
LD_PRELOAD=/path/to/libeo_dbg.so ./app
Or use the convenient wrapper:
eo_debug ./app
Which will load the debug heavy version.
What's currently there: at the moment, EO_DEBUG enables xref and
data_xref and stricter tests when fetching object data.
In the future, I also plan introducing "zombie objects", which
essentially mean that objects are never really deleted, so you can query
them long after they are gone to get more information on what they were.
So if for example you have an object id that you want to query after the
object has been deleted, you can.
I also plan on having a way to disable/enable certain debug mode
features via env vars, and maybe make the test suite link against this
one instead of the normal one, and possibly add more internal hooks for
the test suite to better inspect internal state?
P.S: The amount of errors spewed out when running it on elementary_test
makes me wish I wrote this earlier. :(
@feature
2016-09-22 13:59:46 +01:00
Daniel Kolesa
8b948b779c
docs: fix editable section writer erasing wrong fields
2016-09-09 14:48:33 +02:00
Daniel Kolesa
f89fc6c968
docs: add editable sections where possible
2016-09-09 14:43:02 +02:00
Daniel Kolesa
1041edc6dc
docs: actually close all ref files properly in order to not exceed maximum
2016-09-08 13:34:19 +02:00
Daniel Kolesa
1bdc5a008b
docs: add editable section writing to writer
2016-08-31 16:17:25 +01:00
Daniel Kolesa
8e5d46f690
docs: hide date/user/link in included editable sections
2016-08-31 16:10:04 +01:00
Daniel Kolesa
036a1df57f
docs: initial test for user editable sections
2016-08-31 16:01:53 +01:00
Daniel Kolesa
9ecae0ed28
docs: allow false root in namespace tables
2016-08-31 15:53:39 +01:00
Daniel Kolesa
800dbda6a6
docs: separate auto/user from root namespace
2016-08-31 15:50:31 +01:00
Daniel Kolesa
b193a9f840
docs: generate within the docs:efl:auto namespace (for future editable blocks)
2016-08-31 15:18:10 +01:00
Daniel Kolesa
17d79745a3
docs: add an option to disable title plugin usage
2016-08-26 14:45:45 +01:00
Daniel Kolesa
d69d54ff17
docs: let the writer handle title headings
2016-08-26 14:42:19 +01:00
Daniel Kolesa
cdaa4ab68c
docs: generate proper title for all pages
2016-08-26 14:31:33 +01:00
Daniel Kolesa
b04c0cf241
docs: add writer support for pagetitle plugin
2016-08-26 14:28:11 +01:00
Daniel Kolesa
4d701bca2e
docs: generate reference pages for codelink
2016-08-19 14:39:37 +01:00
Daniel Kolesa
feafdb85a4
docs: generate keyword-link.txt for codelink
2016-08-19 14:19:09 +01:00
Daniel Kolesa
1e42cae8a2
docs: fix invalid links in class reference table
2016-08-19 13:59:55 +01:00
Daniel Kolesa
8a74f38071
docs: add include flag verification
2016-08-18 15:12:24 +01:00
Daniel Kolesa
8ff134472e
docs: add writer support for include plugin
2016-08-18 14:50:24 +01:00
Daniel Kolesa
2bee9169d9
docs: move all of serializers to doctree
2016-08-17 13:50:01 +01:00
Daniel Kolesa
d11cc5ddb5
docs: move type serializer into doctree
2016-08-17 13:42:29 +01:00
Daniel Kolesa
066a2f9fd7
docs: move type cstr retrieval to doctree
2016-08-17 13:34:20 +01:00
Daniel Kolesa
e1a4274e97
docs: add Type to doctree and remove direct eolian api usages
2016-08-16 14:53:04 +01:00
Daniel Kolesa
e592f774ca
docs: reduce the Expression API to just what's necessary
2016-08-16 14:39:04 +01:00
Daniel Kolesa
206d323281
docs: add Expression node type
2016-08-16 14:37:45 +01:00
Daniel Kolesa
ef8a66a41d
docs: correctly wrap struct/enum fields in doctree
2016-08-15 15:12:34 +01:00
Daniel Kolesa
35abb3c34d
docs: add Typedecl to doctree
2016-08-15 15:04:04 +01:00
Daniel Kolesa
570437c64e
docs: use the variable getters in all places
2016-08-15 14:45:36 +01:00
Daniel Kolesa
c98df1c586
docs: add static getters for wrapped variables
2016-08-15 14:41:59 +01:00
Daniel Kolesa
f43b8e24cc
docs: initial Variable in doctree
2016-08-15 14:36:24 +01:00
Daniel Kolesa
5a00524a8b
docs: no need to include eolian in stats
2016-08-15 14:26:19 +01:00
Daniel Kolesa
c122992884
docs: remove the mappings module
2016-08-15 14:25:04 +01:00
Daniel Kolesa
c910db509a
docs: add method to get parameter's direction name
2016-08-15 14:18:36 +01:00
Daniel Kolesa
3e92d64808
docs: generic namespace generator in Node
2016-08-15 14:14:33 +01:00
Daniel Kolesa
bd944a377b
docs: remove some direct eolian api usages
2016-08-15 14:06:20 +01:00
Daniel Kolesa
6f10cb94cd
docs: wrap func params in doctree
2016-08-15 14:03:53 +01:00
Daniel Kolesa
b6d869c3f3
docs: move all eolian init logic into doctree
2016-08-15 13:53:01 +01:00
Daniel Kolesa
e9ddce647c
docs: abstract away directory scan
2016-08-15 13:50:32 +01:00
Daniel Kolesa
c17ee4027a
docs: abstract away object scope enum
2016-08-15 13:48:13 +01:00
Daniel Kolesa
4761f31687
docs: remove some unused funcs in docgen
2016-08-15 13:43:25 +01:00
Daniel Kolesa
c32a8ff125
docs: integrate fallback func doc into Function
2016-08-15 13:38:53 +01:00
Daniel Kolesa
149a0aae52
docs: expose func types via doctree properly
2016-08-12 14:30:48 +01:00
Daniel Kolesa
00049bd798
docs: use more abstracted doctree APIs
2016-08-12 14:22:14 +01:00
Daniel Kolesa
a621f0bd1a
docs: fully utilize Function's type_str_get
2016-08-12 14:19:32 +01:00
Daniel Kolesa
6de8a1f131
docs: namespace generator for funcs in doctree
2016-08-12 14:16:57 +01:00
Daniel Kolesa
6f71222084
docs: always wrap events from events_get
2016-08-12 14:11:31 +01:00
Daniel Kolesa
e0c0b12a94
docs: initial Function in doctree
2016-08-12 14:09:50 +01:00
Daniel Kolesa
ca3f418517
docs: theme string retrieval for doctree classes
2016-08-12 13:51:39 +01:00
Daniel Kolesa
79935e1ab3
docs: abstract away class types within doctree
2016-08-12 13:35:57 +01:00
Daniel Kolesa
452b6557aa
docs: get rid of dependency of doctree on mappings
2016-08-12 13:25:58 +01:00
Daniel Kolesa
ab963858bc
docs: always generate arrays instead of iterators in Class
2016-08-11 16:03:12 +01:00
Daniel Kolesa
ae1841dd19
docs: implement nspaces_get for Class
2016-08-11 16:00:12 +01:00
Daniel Kolesa
d53c622795
docs: initial Class in doctree
2016-08-11 15:49:07 +01:00
Daniel Kolesa
1a5a04ed49
docs: add Event to new the doctree
2016-08-10 16:05:16 +01:00
Daniel Kolesa
88edaa768c
docs: unified feature testing in writer api
2016-08-10 15:54:11 +01:00
Daniel Kolesa
a3945c9986
docs: disable graph writing from writer api when appropriate
2016-08-10 15:50:19 +01:00
Daniel Kolesa
fd54363a4d
docs: abstracted writing of folded sections
2016-08-10 15:44:55 +01:00
Daniel Kolesa
b8599bff9f
docs: add since tag writing into doctree
2016-08-09 17:19:12 +01:00
Daniel Kolesa
a31c9367be
docs: initial documentation tree
...
This will abstract away Eolian APIs to get more maintaineable code.
For now, the Eolian_Documentation structure is abstracted away.
2016-08-09 15:20:43 +01:00
Daniel Kolesa
13245db06c
docs: make dark theme default, add switch --graph-theme-light
2016-08-04 16:45:34 +01:00
Daniel Kolesa
35eebf5c2c
docs: add default dark theme (via --graph-theme-dark) in docgen
2016-08-04 16:43:29 +01:00
Daniel Kolesa
a43fda4ddc
docs: put graph before hierarchy
2016-08-02 17:35:14 +01:00
Daniel Kolesa
e540a9864b
docs: allow rank dir and size to be changed in theme
2016-08-02 16:47:54 +01:00
Daniel Kolesa
ad358a80e9
docs: support for foldable inheritance graphs
2016-08-02 15:46:03 +01:00
Daniel Kolesa
3c34a53cb8
docs: add theme loader for graphs
2016-08-02 15:32:50 +01:00
Daniel Kolesa
085623006d
elua: add table serializer/deserializer
...
This is important for docgen use (reading theme configs).
2016-07-29 14:27:26 +01:00
Daniel Kolesa
63a3da0c0f
docs: support for writing edge styles for individual connections
2016-07-28 14:19:12 +01:00
Daniel Kolesa
26ebd20db8
docs: initial bits for theming support for graphs
2016-07-28 14:09:35 +01:00
Daniel Kolesa
3c7a99935e
docs: split type serializers and keyword ref into their own module in docgen
2016-07-22 13:27:24 +01:00
Daniel Kolesa
0364dc3173
docs: split off writer and utils into modules in docgen
2016-07-20 15:29:53 +01:00
Daniel Kolesa
5f7bc3fbfb
docs: begin modularizing the doc generator script
2016-07-20 15:03:49 +01:00
Daniel Kolesa
0d126eab35
elua: enable module lookups in apps location
...
This will allow for better organization of the docgen script.
2016-07-19 16:19:42 +01:00
Daniel Kolesa
bb509c4a2d
docs: generate a keyword list for use by codelink plugin
2016-07-18 15:34:28 +01:00
Daniel Kolesa
e263ee0121
docs: more detailed stats (print intermediate percentages)
2016-07-14 16:07:08 +01:00