sphinx-lua-ls 3.10.0__tar.gz → 3.11.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/.cl-keeper.yaml +2 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/.github/dependabot.yml +8 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/.github/workflows/ci.yaml +15 -30
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/.pre-commit-config.yaml +7 -15
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/CHANGELOG.md +13 -1
- sphinx_lua_ls-3.11.0/CONTRIBUTING.md +106 -0
- {sphinx_lua_ls-3.10.0/sphinx_lua_ls.egg-info → sphinx_lua_ls-3.11.0}/PKG-INFO +1 -1
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/conftest.py +2 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/conf.py +1 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/index.rst +12 -9
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/settings.rst +7 -0
- sphinx_lua_ls-3.11.0/docs/source/troubleshooring.rst +78 -0
- sphinx_lua_ls-3.11.0/poe_tasks.toml +31 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/pyproject.toml +50 -11
- sphinx_lua_ls-3.11.0/scripts/resolve_venv.sh +9 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/__init__.py +18 -2
- sphinx_lua_ls-3.11.0/sphinx_lua_ls/_version.py +24 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/apidoc.py +17 -6
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/autodoc.py +37 -18
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/autoindex.py +2 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/config.py +17 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/domain.py +5 -1
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/inherited.py +2 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/intersphinx.py +6 -2
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/lua_ls.py +17 -17
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/nodes.py +2 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/objtree.py +21 -87
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/pygments.py +3 -1
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/utils.py +2 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0/sphinx_lua_ls.egg-info}/PKG-INFO +1 -1
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls.egg-info/SOURCES.txt +6 -0
- sphinx_lua_ls-3.11.0/test/__init__.py +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_parse.py +3 -3
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression.py +2 -2
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_versions.py +1 -1
- sphinx_lua_ls-3.11.0/tox.toml +40 -0
- sphinx_lua_ls-3.11.0/uv.lock +1519 -0
- sphinx_lua_ls-3.10.0/CONTRIBUTING.md +0 -77
- sphinx_lua_ls-3.10.0/sphinx_lua_ls/_version.py +0 -34
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/.gitignore +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/.readthedocs.yaml +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/LICENSE +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/README.md +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/Makefile +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/make.bat +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/_extra/robots.txt +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/apidoc.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/autodoc.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/directives.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/example/.emmyrc.json +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/example/logging.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/example.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/installation.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/quickstart.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/docs/source/roles.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/setup.cfg +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/py.typed +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls/static/lua.css +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls.egg-info/dependency_links.txt +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls.egg-info/requires.txt +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/sphinx_lua_ls.egg-info/top_level.txt +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/conftest.py +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-apidoc/.gitignore +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-apidoc/Makefile +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-apidoc/conf.py +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-apidoc/index.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-apidoc/lua/mod/inner.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-apidoc/lua/mod.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-apidoc/make.bat +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/Makefile +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/conf.py +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/index.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/lua/annotations.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/lua/globals.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/lua/globals_2.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/lua/member_ordering.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/lua/module_title.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/lua/nested_modules.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/lua/nesting.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/lua/object_types.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/lua/relative_resolve.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/make.bat +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/src/annotations.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/src/autoindex.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/src/globals.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/src/member_ordering.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/src/module_title.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/src/nested_modules.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/src/nesting.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/src/nesting_recursive.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/src/object_types.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/src/relative_resolve.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc/src/unknown_object.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-disabled/Makefile +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-disabled/conf.py +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-disabled/index.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-disabled/make.bat +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/Makefile +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/conf.py +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/index.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/.emmyrc.json +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/annotations.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/doctype.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/foo/x.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/global_tables.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/globals.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/globals_2.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/incongruent_export.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/member_ordering.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/module_function.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/module_title.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/nested_modules.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/nesting.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/object_types.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/relative_resolve.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/signatures.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/lua/using.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/make.bat +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/annotations.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/autoindex.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/doctype.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/global_tables.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/globals.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/incongruent_export.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/member_ordering.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/module_function.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/module_title.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/nested_modules.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/nesting.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/nesting_recursive.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/object_types.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/relative_resolve.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/require.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/signatures.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-emmylua/src/using.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-roots/Makefile +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-roots/conf.py +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-roots/index.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-roots/lua/root_1/autodoc.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-roots/lua/root_2/autodoc.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-roots/make.bat +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-settings/Makefile +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-settings/conf.py +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-settings/index.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-settings/lua/autodoc.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-settings/make.bat +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-settings-override/Makefile +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-settings-override/conf.py +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-settings-override/index.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-settings-override/lua/autodoc.lua +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-autodoc-settings-override/make.bat +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-doc/Makefile +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-doc/conf.py +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-doc/index.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-doc/make.bat +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-doc/src/annotations.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-doc/src/autoindex.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-doc/src/directives.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-doc/src/inherited.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-doc/src/modules.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-doc/src/refs.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-intersphinx/Makefile +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-intersphinx/conf.py +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-intersphinx/index.rst +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/roots/test-intersphinx/make.bat +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/apidoc-md-sep.yml +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/apidoc-md.yml +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/apidoc-rst-sep.yml +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/apidoc-rst.yml +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-annotations.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-autoindex.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-disabled-index.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-annotations.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-autoindex.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-doctype.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-global_tables.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-globals.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-incongruent_export.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-index.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-member_ordering.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-module_function.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-module_title.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-nested_modules.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-nesting.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-nesting_recursive.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-object_types.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-relative_resolve.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-require.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-signatures.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-emmylua-using.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-globals.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-member_ordering.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-module_title.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-nested_modules.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-nesting.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-nesting_recursive.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-object_types.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-relative_resolve.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-roots-default.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-roots-no-roots.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-roots-single-root.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-settings-no-recursion.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-settings-simple.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/autodoc-unknown_object.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/doc-annotations.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/doc-autoindex.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/doc-directives.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/doc-inherited.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/doc-modules.html +0 -0
- {sphinx_lua_ls-3.10.0 → sphinx_lua_ls-3.11.0}/test/test_regression/doc-refs.html +0 -0
|
@@ -14,11 +14,11 @@ jobs:
|
|
|
14
14
|
runs-on: ubuntu-latest
|
|
15
15
|
steps:
|
|
16
16
|
- name: Checkout source
|
|
17
|
-
uses: actions/checkout@
|
|
17
|
+
uses: actions/checkout@v6
|
|
18
18
|
with:
|
|
19
19
|
fetch-depth: 0
|
|
20
20
|
- name: Set up python ${{ matrix.python-version }}
|
|
21
|
-
uses: actions/setup-python@
|
|
21
|
+
uses: actions/setup-python@v6
|
|
22
22
|
with:
|
|
23
23
|
python-version: "3.12"
|
|
24
24
|
- name: Update pip
|
|
@@ -38,7 +38,7 @@ jobs:
|
|
|
38
38
|
- name: Download EmmyLua for MacOs
|
|
39
39
|
run: python -m sphinx_lua_ls.lua_ls darwin arm --runtime emmylua ~/lua_ls_release/macos-latest
|
|
40
40
|
- name: Upload artifact
|
|
41
|
-
uses: actions/upload-artifact@
|
|
41
|
+
uses: actions/upload-artifact@v7
|
|
42
42
|
with:
|
|
43
43
|
name: lua_ls_release
|
|
44
44
|
path: ~/lua_ls_release
|
|
@@ -55,9 +55,6 @@ jobs:
|
|
|
55
55
|
- ubuntu-latest
|
|
56
56
|
- macos-latest
|
|
57
57
|
- windows-latest
|
|
58
|
-
python-version:
|
|
59
|
-
- "3.12"
|
|
60
|
-
- "3.13"
|
|
61
58
|
type:
|
|
62
59
|
- test
|
|
63
60
|
include:
|
|
@@ -67,42 +64,30 @@ jobs:
|
|
|
67
64
|
runs-on: ${{ matrix.os }}
|
|
68
65
|
steps:
|
|
69
66
|
- name: Checkout source
|
|
70
|
-
uses: actions/checkout@
|
|
67
|
+
uses: actions/checkout@v6
|
|
71
68
|
with:
|
|
72
69
|
fetch-depth: 0
|
|
73
|
-
- name:
|
|
74
|
-
uses:
|
|
75
|
-
|
|
76
|
-
python-version: ${{ matrix.python-version }}
|
|
77
|
-
- name: Update pip
|
|
78
|
-
run: python -m pip install --upgrade pip
|
|
79
|
-
# Tests
|
|
80
|
-
- name: Install test dependencies
|
|
81
|
-
if: ${{ matrix.type == 'test' }}
|
|
70
|
+
- name: Install UV
|
|
71
|
+
uses: astral-sh/setup-uv@v7
|
|
72
|
+
- name: Install dependencies
|
|
82
73
|
run: |
|
|
83
|
-
|
|
84
|
-
|
|
74
|
+
uv tool install poethepoet
|
|
75
|
+
# Tests
|
|
85
76
|
- name: Download LuaLs
|
|
86
77
|
if: ${{ matrix.type == 'test' }}
|
|
87
|
-
uses: actions/download-artifact@
|
|
78
|
+
uses: actions/download-artifact@v8
|
|
88
79
|
with:
|
|
89
80
|
name: lua_ls_release
|
|
90
81
|
path: ~/lua_ls_release
|
|
91
|
-
- name: Check types
|
|
92
|
-
if: ${{ matrix.type == 'test' }}
|
|
93
|
-
run: pyright
|
|
94
82
|
- name: Test package
|
|
95
83
|
if: ${{ matrix.type == 'test' }}
|
|
96
|
-
run:
|
|
84
|
+
run: poe ci
|
|
97
85
|
env:
|
|
98
86
|
LUA_LS_CACHE_PATH: ~/lua_ls_release/${{ matrix.os }}
|
|
99
87
|
# Lint
|
|
100
|
-
- name: Install lint dependencies
|
|
101
|
-
if: ${{ matrix.type == 'code style' }}
|
|
102
|
-
run: python -m pip install . --group lint
|
|
103
88
|
- name: Check code style
|
|
104
89
|
if: ${{ matrix.type == 'code style' }}
|
|
105
|
-
run:
|
|
90
|
+
run: poe lint --color always
|
|
106
91
|
publish_to_pypi:
|
|
107
92
|
name: Publish package to PyPi
|
|
108
93
|
needs:
|
|
@@ -117,7 +102,7 @@ jobs:
|
|
|
117
102
|
id-token: write
|
|
118
103
|
steps:
|
|
119
104
|
- name: Checkout source
|
|
120
|
-
uses: actions/checkout@
|
|
105
|
+
uses: actions/checkout@v6
|
|
121
106
|
with:
|
|
122
107
|
fetch-depth: 0
|
|
123
108
|
- name: Generate release metadata
|
|
@@ -129,11 +114,11 @@ jobs:
|
|
|
129
114
|
echo "link=${link}" >> $GITHUB_OUTPUT
|
|
130
115
|
- name: Parse Changelog
|
|
131
116
|
id: changelog
|
|
132
|
-
uses: taminomara/cl-keeper@
|
|
117
|
+
uses: taminomara/cl-keeper@v1
|
|
133
118
|
with:
|
|
134
119
|
version: ${{ github.ref }}
|
|
135
120
|
- name: Set up python 3.12
|
|
136
|
-
uses: actions/setup-python@
|
|
121
|
+
uses: actions/setup-python@v6
|
|
137
122
|
with:
|
|
138
123
|
python-version: 3.12
|
|
139
124
|
- name: Install build
|
|
@@ -1,32 +1,24 @@
|
|
|
1
1
|
repos:
|
|
2
2
|
- repo: local
|
|
3
3
|
hooks:
|
|
4
|
-
- id:
|
|
5
|
-
name:
|
|
4
|
+
- id: ruff-check
|
|
5
|
+
name: ruff check
|
|
6
6
|
language: system
|
|
7
|
-
entry:
|
|
7
|
+
entry: scripts/resolve_venv.sh ruff check --force-exclude
|
|
8
8
|
types_or: [python, pyi]
|
|
9
9
|
require_serial: true
|
|
10
|
-
- id:
|
|
11
|
-
name:
|
|
10
|
+
- id: ruff-format
|
|
11
|
+
name: ruff format
|
|
12
12
|
language: system
|
|
13
|
-
entry:
|
|
13
|
+
entry: scripts/resolve_venv.sh ruff format --force-exclude
|
|
14
14
|
types_or: [python, pyi]
|
|
15
15
|
require_serial: true
|
|
16
16
|
- id: clk
|
|
17
17
|
name: changelog keeper
|
|
18
18
|
language: system
|
|
19
|
-
entry: clk pre-commit-check
|
|
19
|
+
entry: scripts/resolve_venv.sh clk pre-commit-check
|
|
20
20
|
require_serial: true
|
|
21
21
|
types_or: [toml, yaml, markdown]
|
|
22
|
-
- id: clk-tags
|
|
23
|
-
name: changelog keeper (check tags)
|
|
24
|
-
language: system
|
|
25
|
-
entry: clk pre-commit-check-tag
|
|
26
|
-
always_run: true
|
|
27
|
-
pass_filenames: false
|
|
28
|
-
require_serial: true
|
|
29
|
-
stages: [pre-push]
|
|
30
22
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
31
23
|
rev: v6.0.0
|
|
32
24
|
hooks:
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [3.11.0] - 2026-03-29
|
|
6
|
+
|
|
7
|
+
- Added config option to print debug logs: `lua_ls_verbose`.
|
|
8
|
+
- Improved error messages related to object lookup errors and added a troubleshooting
|
|
9
|
+
guide.
|
|
10
|
+
|
|
11
|
+
## [3.10.1] - 2026-03-29
|
|
12
|
+
|
|
13
|
+
- Fiexd broken cross-references on the search page.
|
|
14
|
+
|
|
5
15
|
## [3.10.0] - 2026-01-29
|
|
6
16
|
|
|
7
17
|
- Added option to disable running lua-ls (`lua_ls_backend = "disable"`) for cases when
|
|
@@ -272,6 +282,8 @@ Initial release.
|
|
|
272
282
|
[3.0.0]: https://github.com/sphinx-contrib/lua-ls/compare/v2.0.1...v3.0.0
|
|
273
283
|
[3.1.0]: https://github.com/sphinx-contrib/lua-ls/compare/v3.0.0...v3.1.0
|
|
274
284
|
[3.10.0]: https://github.com/sphinx-contrib/lua-ls/compare/v3.9.0...v3.10.0
|
|
285
|
+
[3.10.1]: https://github.com/sphinx-contrib/lua-ls/compare/v3.10.0...v3.10.1
|
|
286
|
+
[3.11.0]: https://github.com/sphinx-contrib/lua-ls/compare/v3.10.1...v3.11.0
|
|
275
287
|
[3.2.0]: https://github.com/sphinx-contrib/lua-ls/compare/v3.1.0...v3.2.0
|
|
276
288
|
[3.3.0]: https://github.com/sphinx-contrib/lua-ls/compare/v3.2.0...v3.3.0
|
|
277
289
|
[3.4.0]: https://github.com/sphinx-contrib/lua-ls/compare/v3.3.0...v3.4.0
|
|
@@ -287,4 +299,4 @@ Initial release.
|
|
|
287
299
|
[@pieterlexis]: https://github.com/pieterlexis
|
|
288
300
|
[emmylua]: https://github.com/EmmyLuaLs/emmylua-analyzer-rust/
|
|
289
301
|
[luals#3301]: https://github.com/LuaLS/lua-language-server/issues/3301
|
|
290
|
-
[unreleased]: https://github.com/sphinx-contrib/lua-ls/compare/v3.
|
|
302
|
+
[unreleased]: https://github.com/sphinx-contrib/lua-ls/compare/v3.11.0...HEAD
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Contributing to Sphinx-LuaLs
|
|
2
|
+
|
|
3
|
+
## Set up your environment
|
|
4
|
+
|
|
5
|
+
We use [`uv`] and [`poe`] to run tasks, but it is possible to use pure pip as well.
|
|
6
|
+
|
|
7
|
+
[`uv`]: https://docs.astral.sh/uv/
|
|
8
|
+
[`poe`]: https://poethepoet.natn.io/index.html
|
|
9
|
+
|
|
10
|
+
### Using pip
|
|
11
|
+
|
|
12
|
+
1. Create a virtual environment with python `3.12` or newer.
|
|
13
|
+
|
|
14
|
+
2. Make sure your pip is up to date:
|
|
15
|
+
|
|
16
|
+
```shell
|
|
17
|
+
pip install -U pip
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
2. Install package in development mode, and install dev dependencies:
|
|
21
|
+
|
|
22
|
+
```shell
|
|
23
|
+
pip install -e . --group dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
3. Install pre-commit hooks:
|
|
27
|
+
|
|
28
|
+
```shell
|
|
29
|
+
prek install
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
4. [Install `poe`], either globally or in virtual environment:
|
|
33
|
+
|
|
34
|
+
```shell
|
|
35
|
+
pip install poethepoet
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
[Install `poe`]: https://poethepoet.natn.io/installation.html
|
|
39
|
+
|
|
40
|
+
5. If you're not on linux, install [EmmyLua Doc Cli].
|
|
41
|
+
|
|
42
|
+
[EmmyLua Doc Cli]: https://github.com/EmmyLuaLs/emmylua-analyzer-rust/?tab=readme-ov-file#-installation
|
|
43
|
+
|
|
44
|
+
### Using uv
|
|
45
|
+
|
|
46
|
+
1. Sync your virtual environment:
|
|
47
|
+
|
|
48
|
+
```shell
|
|
49
|
+
uv sync
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
2. Install pre-commit hooks:
|
|
53
|
+
|
|
54
|
+
```shell
|
|
55
|
+
uv run prek install
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
3. [Install `poe`] if you don't have it already:
|
|
59
|
+
|
|
60
|
+
```shell
|
|
61
|
+
uv tool install poethepoet
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
5. If you're not on linux, install [EmmyLua Doc Cli].
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## Run tests
|
|
68
|
+
|
|
69
|
+
We use `poe` for most of the tasks:
|
|
70
|
+
|
|
71
|
+
```shell
|
|
72
|
+
poe lint # Lint and fix code style.
|
|
73
|
+
poe test # Run tests.
|
|
74
|
+
poe test-all # Run tests for all pythons.
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
You can see all commands in `poe`'s help:
|
|
78
|
+
|
|
79
|
+
```shell
|
|
80
|
+
poe --help
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
## Build docs
|
|
85
|
+
|
|
86
|
+
Just run `sphinx` as usual, nothing special is required:
|
|
87
|
+
|
|
88
|
+
```shell
|
|
89
|
+
cd docs/
|
|
90
|
+
make html
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Sphinx-LuaLs will download the latest version of Lua Language Server for you.
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
## Release
|
|
97
|
+
|
|
98
|
+
1. Make sure that "Unreleased" section in `changelog.md` is up to date.
|
|
99
|
+
|
|
100
|
+
2. Run `poe release major|minor|patch` to bump version in changelog
|
|
101
|
+
and create a release tag.
|
|
102
|
+
|
|
103
|
+
3. Push a git tag. You'll need a repository admin role to do so.
|
|
104
|
+
|
|
105
|
+
4. From here, release happens automatically. PyPi package will be uploaded from
|
|
106
|
+
CI job, and documentation will be updated by Read the Docs build.
|
|
@@ -29,6 +29,7 @@ lua_ls_backend = "emmylua"
|
|
|
29
29
|
lua_ls_class_default_function_name = "__init"
|
|
30
30
|
lua_ls_class_default_force_non_colon = True
|
|
31
31
|
lua_ls_class_default_force_return_self = True
|
|
32
|
+
lua_ls_verbose = True
|
|
32
33
|
|
|
33
34
|
intersphinx_mapping = {
|
|
34
35
|
"python": ("https://docs.python.org/3", None),
|
|
@@ -11,19 +11,22 @@ based on `EmmyLua`_ or `LuaLs`_ language servers.
|
|
|
11
11
|
See an example output: `logging`.
|
|
12
12
|
|
|
13
13
|
.. toctree::
|
|
14
|
-
|
|
14
|
+
:maxdepth: 1
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
installation
|
|
17
|
+
quickstart
|
|
18
|
+
directives
|
|
19
|
+
roles
|
|
20
|
+
autodoc
|
|
21
|
+
apidoc
|
|
22
|
+
settings
|
|
23
|
+
example
|
|
24
|
+
troubleshooring
|
|
24
25
|
|
|
25
26
|
.. toctree::
|
|
26
27
|
:hidden:
|
|
27
28
|
:caption: Links
|
|
28
29
|
|
|
29
30
|
GitHub <https://github.com/sphinx-contrib/lua-ls/>
|
|
31
|
+
Issues <https://github.com/sphinx-contrib/lua-ls/issues>
|
|
32
|
+
Changelog <https://github.com/sphinx-contrib/lua-ls/blob/main/CHANGELOG.md>
|
|
@@ -244,3 +244,10 @@ Settings
|
|
|
244
244
|
to use Sphinx's global setting ``maximum_signature_line_length``.
|
|
245
245
|
If ``maximum_signature_line_length`` is also ``None``,
|
|
246
246
|
signature wrapping will be disabled.
|
|
247
|
+
|
|
248
|
+
.. py:data:: lua_ls_verbose
|
|
249
|
+
:type: bool
|
|
250
|
+
|
|
251
|
+
Prints debug logs from sphinx-lua-ls without raising verbosity level
|
|
252
|
+
of other Sphinx loggers. Set to ``True`` to see object tree discovered
|
|
253
|
+
by lua analyzer.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
Troubleshooring
|
|
2
|
+
===============
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
Autodoc can't fund a module or object
|
|
6
|
+
-------------------------------------
|
|
7
|
+
|
|
8
|
+
1. Set ``lua_ls_verbose = True`` in ``conf.py`` and run build with ``-E`` (``make html O="-E"``).
|
|
9
|
+
|
|
10
|
+
#. Search build log for record ``Lua analysis finished. Found objects:`` and see
|
|
11
|
+
if object that can't be found appears in the object tree.
|
|
12
|
+
|
|
13
|
+
#. If it's there, check spelling and full path of the object. Error message will contain
|
|
14
|
+
all candidate paths that Sphinx-LuaLs tried when resolving it.
|
|
15
|
+
|
|
16
|
+
#. If it's not there, check your documentation markup, EmmyLua/LuaLs settings,
|
|
17
|
+
and project paths and directories:
|
|
18
|
+
|
|
19
|
+
.. tab-set::
|
|
20
|
+
:sync-group: backend
|
|
21
|
+
|
|
22
|
+
.. tab-item:: EmmyLua
|
|
23
|
+
:sync: emmylua
|
|
24
|
+
|
|
25
|
+
a. Check that :py:data:`lua_ls_project_root` and :py:data:`lua_ls_project_directories`
|
|
26
|
+
point to the right places.
|
|
27
|
+
|
|
28
|
+
You can see how Sphinx-LuaLs launched language server by grepping build
|
|
29
|
+
log for message ``running lua-language-server with args``.
|
|
30
|
+
|
|
31
|
+
#. Make sure that you have an explicit return at the end of a module.
|
|
32
|
+
|
|
33
|
+
If your module only sets global variables, return an empty table from it:
|
|
34
|
+
|
|
35
|
+
.. code-block:: lua
|
|
36
|
+
|
|
37
|
+
-- mod.lua
|
|
38
|
+
|
|
39
|
+
--- Module documentation.
|
|
40
|
+
return {}
|
|
41
|
+
|
|
42
|
+
#. Alternatively, if your module exports a global variable with the same name,
|
|
43
|
+
make sure to set its doctype:
|
|
44
|
+
|
|
45
|
+
.. code-block:: lua
|
|
46
|
+
|
|
47
|
+
-- mod.lua
|
|
48
|
+
|
|
49
|
+
--- Module documentation.
|
|
50
|
+
---
|
|
51
|
+
--- @doctype module
|
|
52
|
+
mod = {
|
|
53
|
+
-- Module contents.
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
#. Make sure that your project directories are listed in ``.emmyrc.json``
|
|
57
|
+
under ``workspace.workspaceRoots`` and not ``workspace.library``.
|
|
58
|
+
|
|
59
|
+
.. tab-item:: LuaLs
|
|
60
|
+
:sync: luals
|
|
61
|
+
|
|
62
|
+
a. Check that :py:data:`lua_ls_project_root` and :py:data:`lua_ls_project_directories`
|
|
63
|
+
point to the right places.
|
|
64
|
+
|
|
65
|
+
You can see how Sphinx-LuaLs launched language server by grepping build
|
|
66
|
+
log for message ``running lua-language-server with args``.
|
|
67
|
+
|
|
68
|
+
#. Make sure that you've created a class named after your module, and set its
|
|
69
|
+
doctype:
|
|
70
|
+
|
|
71
|
+
.. code-block:: lua
|
|
72
|
+
|
|
73
|
+
-- mod.lua
|
|
74
|
+
|
|
75
|
+
--- Module documentation.
|
|
76
|
+
---
|
|
77
|
+
--- !doctype module
|
|
78
|
+
--- @class mod
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
[executor]
|
|
2
|
+
type = "uv"
|
|
3
|
+
|
|
4
|
+
[tasks.lint]
|
|
5
|
+
help = "Run pre-commit linters"
|
|
6
|
+
cmd = "prek run --all-files"
|
|
7
|
+
|
|
8
|
+
[tasks.test]
|
|
9
|
+
help = "Run tests"
|
|
10
|
+
cmd = "tox -e 3.14"
|
|
11
|
+
|
|
12
|
+
[tasks.test-all]
|
|
13
|
+
help = "Run tests for all pythons"
|
|
14
|
+
cmd = "tox p --"
|
|
15
|
+
|
|
16
|
+
[tasks.doc]
|
|
17
|
+
help = "Build HTML docs"
|
|
18
|
+
cmd = "sphinx-build -b html docs/source docs/build/html -d docs/build/doctrees -j 12 -n"
|
|
19
|
+
|
|
20
|
+
[tasks.doc-watch]
|
|
21
|
+
help = "Start documentation server and rebuild HTML docs on every change"
|
|
22
|
+
cmd = "sphinx-autobuild docs/source docs/build/html -d docs/build/doctrees --watch . -j 12 -n"
|
|
23
|
+
|
|
24
|
+
[tasks.release]
|
|
25
|
+
help = "Bump version, create release commit and tag"
|
|
26
|
+
cmd = "clk bump --commit"
|
|
27
|
+
use_exec = true
|
|
28
|
+
|
|
29
|
+
[tasks.ci]
|
|
30
|
+
help = "For CI job"
|
|
31
|
+
cmd = "tox --colored yes p --skip-env lint --"
|
|
@@ -25,30 +25,32 @@ dependencies = ["sphinx>=8.0,<10.0", "PyGithub>=1.59,<3.0", "requests~=2.31"]
|
|
|
25
25
|
|
|
26
26
|
[dependency-groups]
|
|
27
27
|
dev = [
|
|
28
|
-
"pytest-cov==7.
|
|
28
|
+
"pytest-cov==7.1.0",
|
|
29
29
|
{ include-group = "test" },
|
|
30
30
|
{ include-group = "lint" },
|
|
31
31
|
{ include-group = "doc" },
|
|
32
32
|
]
|
|
33
33
|
lint = [
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"cl-keeper==0.0.0-b6",
|
|
34
|
+
"cl-keeper==1.0.0",
|
|
35
|
+
"prek==0.3.8",
|
|
36
|
+
"ruff==0.15.8",
|
|
38
37
|
]
|
|
39
38
|
test = [
|
|
40
39
|
"pyright==1.1.408",
|
|
41
40
|
"pytest==9.0.2",
|
|
42
|
-
"sybil==
|
|
43
|
-
"pytest-regressions==2.
|
|
41
|
+
"sybil==10.0.1",
|
|
42
|
+
"pytest-regressions==2.10.0",
|
|
44
43
|
"beautifulsoup4==4.14.3",
|
|
45
44
|
"myst-parser==5.0.0",
|
|
45
|
+
"tox==4.34.1",
|
|
46
|
+
"tox-uv==1.29.0",
|
|
46
47
|
]
|
|
47
48
|
doc = [
|
|
48
|
-
"sybil==
|
|
49
|
+
"sybil==10.0.1",
|
|
49
50
|
"furo==2025.12.19",
|
|
50
51
|
"sphinx_design==0.7.0",
|
|
51
52
|
"myst-parser==5.0.0",
|
|
53
|
+
"sphinx-autobuild==2025.8.25",
|
|
52
54
|
]
|
|
53
55
|
|
|
54
56
|
[project.urls]
|
|
@@ -89,6 +91,43 @@ reportUnnecessaryIsInstance = "none"
|
|
|
89
91
|
reportConstantRedefinition = "none"
|
|
90
92
|
reportRedeclaration = "none"
|
|
91
93
|
|
|
92
|
-
[tool.
|
|
93
|
-
|
|
94
|
-
|
|
94
|
+
[tool.ruff]
|
|
95
|
+
exclude = ["examples/docs/*", "test/roots/*"]
|
|
96
|
+
target-version = "py312"
|
|
97
|
+
|
|
98
|
+
[tool.ruff.lint]
|
|
99
|
+
extend-select = ["I", "INP", "T20", "PT", "RET", "SIM", "SLOT", "RUF022"]
|
|
100
|
+
ignore = [
|
|
101
|
+
"E402", # Module level import not at top of file
|
|
102
|
+
"E722", # Do not use bare `except`
|
|
103
|
+
"E741", # Ambiguous variable name
|
|
104
|
+
"E731", # Do not assign a `lambda` expression, use a `def`
|
|
105
|
+
"PT015", # Assertion is always `False`
|
|
106
|
+
"PT011", # Too broad error type
|
|
107
|
+
"PT012", # `pytest.raises()` block should contain a single simple statement
|
|
108
|
+
"PT017", # Found assertion on exception `e` in `except` block
|
|
109
|
+
"RET505", # Unnecessary `else` after `return` statement
|
|
110
|
+
"RET506", # Unnecessary `else` after `raise` statement
|
|
111
|
+
"RET507", # Unnecessary `else` after `continue` statement
|
|
112
|
+
"RET508", # Unnecessary `else` after `break` statement
|
|
113
|
+
"SIM103", # Return the negated condition directly
|
|
114
|
+
"SIM105", # Use `contextlib.suppress` instead of `try`-`except`-`pass`
|
|
115
|
+
"SIM108", # Use ternary operator instead of `if`-`else`-block
|
|
116
|
+
"SIM114", # Combine `if` branches using logical `or` operator
|
|
117
|
+
"SIM118", # Use `key in dict` instead of `key in dict.keys()`
|
|
118
|
+
]
|
|
119
|
+
extend-safe-fixes = [
|
|
120
|
+
"RUF022", # Sort `__all__`.
|
|
121
|
+
"PT006", # Rewrite arguments for `pytest.mark.parametrize`.
|
|
122
|
+
]
|
|
123
|
+
future-annotations = true
|
|
124
|
+
|
|
125
|
+
[tool.ruff.lint.per-file-ignores]
|
|
126
|
+
"test/**/*" = ["T20", "I002", "SIM102", "SIM117"]
|
|
127
|
+
"docs/**/*" = ["T20", "I002", "INP001"]
|
|
128
|
+
|
|
129
|
+
[tool.ruff.lint.isort]
|
|
130
|
+
required-imports = ["from __future__ import annotations"]
|
|
131
|
+
|
|
132
|
+
[tool.ruff.format]
|
|
133
|
+
docstring-code-format = true
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import fnmatch
|
|
2
4
|
import pathlib
|
|
3
5
|
import re
|
|
@@ -10,6 +12,7 @@ import sphinx.builders.html
|
|
|
10
12
|
import sphinx.domains
|
|
11
13
|
import sphinx.errors
|
|
12
14
|
from sphinx.util import logging
|
|
15
|
+
from sphinx.util.console import get_terminal_width
|
|
13
16
|
from sphinx.util.display import progress_message
|
|
14
17
|
from sphinx.util.fileutil import copy_asset_file
|
|
15
18
|
|
|
@@ -24,7 +27,7 @@ import sphinx_lua_ls.lua_ls
|
|
|
24
27
|
import sphinx_lua_ls.nodes
|
|
25
28
|
import sphinx_lua_ls.objtree
|
|
26
29
|
import sphinx_lua_ls.utils
|
|
27
|
-
from sphinx_lua_ls._version import __version__, __version_tuple__
|
|
30
|
+
from sphinx_lua_ls._version import __version__, __version_tuple__ # noqa: F401
|
|
28
31
|
from sphinx_lua_ls.pygments import LuaLexer
|
|
29
32
|
|
|
30
33
|
logger = logging.getLogger("sphinx_lua_ls")
|
|
@@ -34,6 +37,7 @@ def run_lua_ls(app: sphinx.application.Sphinx):
|
|
|
34
37
|
domain: sphinx_lua_ls.domain.LuaDomain = app.env.get_domain("lua") # type: ignore
|
|
35
38
|
|
|
36
39
|
if domain.config.backend == "disable":
|
|
40
|
+
logger.debug("skipping lua-ls run: backend is 'disabled'")
|
|
37
41
|
return
|
|
38
42
|
|
|
39
43
|
root_dir = domain.config.project_root
|
|
@@ -60,6 +64,9 @@ def run_lua_ls(app: sphinx.application.Sphinx):
|
|
|
60
64
|
modified = True
|
|
61
65
|
break
|
|
62
66
|
if not modified:
|
|
67
|
+
logger.debug(
|
|
68
|
+
"skipping lua-ls run: lua files were not modified since previous run"
|
|
69
|
+
)
|
|
63
70
|
return
|
|
64
71
|
|
|
65
72
|
cwd = pathlib.Path.cwd()
|
|
@@ -74,7 +81,7 @@ def run_lua_ls(app: sphinx.application.Sphinx):
|
|
|
74
81
|
install=domain.config.auto_install,
|
|
75
82
|
cache_path=domain.config.auto_install_location,
|
|
76
83
|
)
|
|
77
|
-
except sphinx_lua_ls.lua_ls.LuaLsError
|
|
84
|
+
except sphinx_lua_ls.lua_ls.LuaLsError:
|
|
78
85
|
raise
|
|
79
86
|
except Exception as e:
|
|
80
87
|
raise sphinx.errors.ExtensionError(str(e)) from e
|
|
@@ -128,6 +135,12 @@ def run_lua_ls(app: sphinx.application.Sphinx):
|
|
|
128
135
|
if parser.runtime_version and not domain.config.lua_version:
|
|
129
136
|
domain.config.lua_version = parser.runtime_version
|
|
130
137
|
|
|
138
|
+
logger.debug("Lua analysis finished. Found objects:")
|
|
139
|
+
logger.debug("-" * get_terminal_width())
|
|
140
|
+
objtree_s = str(domain.objtree)
|
|
141
|
+
logger.debug("%s", "<globals>\n" + objtree_s if objtree_s else "<empty>")
|
|
142
|
+
logger.debug("-" * get_terminal_width())
|
|
143
|
+
|
|
131
144
|
|
|
132
145
|
def run_apidoc(
|
|
133
146
|
app: sphinx.application.Sphinx,
|
|
@@ -181,6 +194,8 @@ def suppress_auto_ref_warnings(
|
|
|
181
194
|
):
|
|
182
195
|
if node["refdomain"] == "lua" and node["reftype"] == "_auto":
|
|
183
196
|
return True
|
|
197
|
+
else:
|
|
198
|
+
return None
|
|
184
199
|
|
|
185
200
|
|
|
186
201
|
def setup(app: sphinx.application.Sphinx):
|
|
@@ -206,6 +221,7 @@ def setup(app: sphinx.application.Sphinx):
|
|
|
206
221
|
app.add_config_value("lua_ls_class_default_force_non_colon", None, rebuild="env")
|
|
207
222
|
app.add_config_value("lua_ls_class_default_force_return_self", None, rebuild="env")
|
|
208
223
|
app.add_config_value("lua_ls_maximum_signature_line_length", 50, rebuild="env")
|
|
224
|
+
app.add_config_value("lua_ls_verbose", False, rebuild="")
|
|
209
225
|
|
|
210
226
|
app.add_directive_to_domain(
|
|
211
227
|
"lua", "autoobject", sphinx_lua_ls.autodoc.AutoObjectDirective
|