summaryrefslogtreecommitdiff
path: root/doc/_extensions/autojsdoc/parser/parser.py
AgeCommit message (Collapse)Author
2019-05-21[FIX] doc: error & potential warningsXavier Morel
* properly handle 3-args version of odoo.define(): just ignore the second argument, pretty much the only use-case is dynamic dependencies (otherwise it should be using static require() calls) so there's little the extractor can do * fix an issue with sys.path ordering meaning sphinx would pick up an odoo installed into the current virtualenv (editable or not) over the local copy it's part of closes odoo/odoo#33538 Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2018-08-27[FIX] doc building and warningsXavier Morel
doc: * fix incorrect doc comments (documenting params which don't exist) * correctly quote non-refs * fix role label syntax (backticks must be escaped) * add newline to fix warning JS doc parser: * fix handling of already-resolved objects * fix handling of non-string properties (e.g. foo[0] at module toplevel) * don't blow up if subject of .include call can't be resolved (just ignore) Others: * add translator support for ``problematic`` node (apparently used for some refs by recent Sphinx)
2017-10-30[FIX] doc: handle unknown browser globals betterXavier Morel
Before this, if a new global was added to JS code (module toplevel, function bodies are not considered) it would blow up when attempting to resolve variable refs & uses. Make the toplevel scope a defaultdict such that if e.g. a "foo" is looked up in a module but not a local variable of that module it's assumed to be an UnknownNS object (from which further UnknownNS can be deref'd).
2017-10-10[FIX] building documentation with P3Xavier Morel
* fix P3 incompatibilities in doc/_extensions * vendor pyjsdoc, strip out everything we're not using and make what's left P3-compatible (upstream is not P3 compliant) * drop undeclared dependency on attrs as it turns out not to be much used
2017-09-18[ADD] doc: JS document extraction systemXavier Morel
* Fix a bunch of ill-documented/incomplete/incorrect method docs * add start of Sphinx extension to extract & integrate jsdoc into Sphinx documentation: - parse JS files (and don't blow up), uses a fork of pyjsparser as the project currently does not parse comments - extract cross-module dependency information - parse JsDoc comments using pyjsdoc and infer structure from code & jsdoc - ``ast`` CLI printing a simplified AST of the input files - ``dependencies`` creating a dependency graph of either all modules in the provided input files or the modules matching the specified filters (warning: will not work if missing dependencies), generates a .dot file - ``extractor`` generating a plain text module documentation (mix of rst and markdown styles, not anything formal) * sphinx extension with an "automodule" directive taking a module name and generating the documentation for it