sphinx-lua-ls 3.2.0__tar.gz → 3.4.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.
Files changed (187) hide show
  1. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/.github/dependabot.yml +8 -3
  2. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/.github/workflows/ci.yaml +39 -4
  3. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/.pre-commit-config.yaml +4 -10
  4. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/CHANGELOG.md +60 -9
  5. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/CONTRIBUTING.md +1 -1
  6. {sphinx_lua_ls-3.2.0/sphinx_lua_ls.egg-info → sphinx_lua_ls-3.4.0}/PKG-INFO +4 -23
  7. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/README.md +3 -3
  8. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/Makefile +1 -1
  9. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/source/autodoc.rst +10 -15
  10. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/source/conf.py +7 -1
  11. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/source/example.rst +12 -9
  12. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/source/index.rst +4 -5
  13. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/source/settings.rst +24 -5
  14. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/pyproject.toml +11 -13
  15. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/__init__.py +16 -0
  16. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/_version.py +3 -3
  17. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/autodoc.py +45 -19
  18. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/config.py +7 -3
  19. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/domain.py +62 -7
  20. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/utils.py +35 -1
  21. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0/sphinx_lua_ls.egg-info}/PKG-INFO +4 -23
  22. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls.egg-info/SOURCES.txt +13 -8
  23. sphinx_lua_ls-3.4.0/sphinx_lua_ls.egg-info/requires.txt +3 -0
  24. sphinx_lua_ls-3.4.0/test/roots/test-autodoc-settings-override/conf.py +12 -0
  25. sphinx_lua_ls-3.4.0/test/roots/test-autodoc-settings-override/index.rst +10 -0
  26. sphinx_lua_ls-3.4.0/test/roots/test-autodoc-settings-override/lua/autodoc.lua +17 -0
  27. sphinx_lua_ls-3.4.0/test/roots/test-intersphinx/Makefile +20 -0
  28. sphinx_lua_ls-3.4.0/test/roots/test-intersphinx/make.bat +35 -0
  29. sphinx_lua_ls-3.4.0/test/test_regression/autodoc-emmylua-index.html +145 -0
  30. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression.py +24 -8
  31. sphinx_lua_ls-3.2.0/sphinx_lua_ls.egg-info/requires.txt +0 -26
  32. sphinx_lua_ls-3.2.0/test/test_regression/autodoc-settings-annotation.html.html +0 -90
  33. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/.gitignore +0 -0
  34. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/LICENSE +0 -0
  35. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/conftest.py +0 -0
  36. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/make.bat +0 -0
  37. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/source/_extra/robots.txt +0 -0
  38. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/source/apidoc.rst +0 -0
  39. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/source/directives.rst +0 -0
  40. {sphinx_lua_ls-3.2.0/docs → sphinx_lua_ls-3.4.0/docs/source}/example/.emmyrc.json +0 -0
  41. {sphinx_lua_ls-3.2.0/docs → sphinx_lua_ls-3.4.0/docs/source}/example/logging.lua +0 -0
  42. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/source/installation.rst +0 -0
  43. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/source/quickstart.rst +0 -0
  44. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/docs/source/roles.rst +0 -0
  45. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/setup.cfg +0 -0
  46. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/apidoc.py +0 -0
  47. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/autoindex.py +0 -0
  48. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/inherited.py +0 -0
  49. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/intersphinx.py +0 -0
  50. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/lua_ls.py +0 -0
  51. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/objtree.py +0 -0
  52. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/py.typed +0 -0
  53. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/pygments.py +0 -0
  54. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls/static/lua.css +0 -0
  55. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls.egg-info/dependency_links.txt +0 -0
  56. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/sphinx_lua_ls.egg-info/top_level.txt +0 -0
  57. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/conftest.py +0 -0
  58. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-apidoc/.gitignore +0 -0
  59. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-apidoc/Makefile +0 -0
  60. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-apidoc/conf.py +0 -0
  61. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-apidoc/index.rst +0 -0
  62. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-apidoc/lua/mod/inner.lua +0 -0
  63. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-apidoc/lua/mod.lua +0 -0
  64. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-apidoc/make.bat +0 -0
  65. {sphinx_lua_ls-3.2.0/test/roots/test-doc → sphinx_lua_ls-3.4.0/test/roots/test-autodoc}/Makefile +0 -0
  66. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/conf.py +0 -0
  67. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/index.rst +0 -0
  68. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/lua/annotations.lua +0 -0
  69. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/lua/globals.lua +0 -0
  70. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/lua/globals_2.lua +0 -0
  71. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/lua/member_ordering.lua +0 -0
  72. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/lua/module_title.lua +0 -0
  73. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/lua/nested_modules.lua +0 -0
  74. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/lua/nesting.lua +0 -0
  75. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/lua/object_types.lua +0 -0
  76. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/lua/relative_resolve.lua +0 -0
  77. {sphinx_lua_ls-3.2.0/test/roots/test-doc → sphinx_lua_ls-3.4.0/test/roots/test-autodoc}/make.bat +0 -0
  78. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/src/annotations.rst +0 -0
  79. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/src/autoindex.rst +0 -0
  80. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/src/globals.rst +0 -0
  81. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/src/member_ordering.rst +0 -0
  82. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/src/module_title.rst +0 -0
  83. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/src/nested_modules.rst +0 -0
  84. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/src/nesting.rst +0 -0
  85. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/src/nesting_recursive.rst +0 -0
  86. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/src/object_types.rst +0 -0
  87. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc/src/relative_resolve.rst +0 -0
  88. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/Makefile +0 -0
  89. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/conf.py +0 -0
  90. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/index.rst +0 -0
  91. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/.emmyrc.json +0 -0
  92. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/annotations.lua +0 -0
  93. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/foo/x.lua +0 -0
  94. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/global_tables.lua +0 -0
  95. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/globals.lua +0 -0
  96. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/globals_2.lua +0 -0
  97. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/incongruent_export.lua +0 -0
  98. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/member_ordering.lua +0 -0
  99. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/module_title.lua +0 -0
  100. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/nested_modules.lua +0 -0
  101. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/nesting.lua +0 -0
  102. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/object_types.lua +0 -0
  103. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/relative_resolve.lua +0 -0
  104. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/signatures.lua +0 -0
  105. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/lua/using.lua +0 -0
  106. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/make.bat +0 -0
  107. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/annotations.rst +0 -0
  108. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/autoindex.rst +0 -0
  109. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/global_tables.rst +0 -0
  110. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/globals.rst +0 -0
  111. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/incongruent_export.rst +0 -0
  112. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/member_ordering.rst +0 -0
  113. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/module_title.rst +0 -0
  114. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/nested_modules.rst +0 -0
  115. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/nesting.rst +0 -0
  116. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/nesting_recursive.rst +0 -0
  117. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/object_types.rst +0 -0
  118. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/relative_resolve.rst +0 -0
  119. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/require.rst +0 -0
  120. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/signatures.rst +0 -0
  121. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-emmylua/src/using.rst +0 -0
  122. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-roots/Makefile +0 -0
  123. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-roots/conf.py +0 -0
  124. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-roots/index.rst +0 -0
  125. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-roots/lua/root_1/autodoc.lua +0 -0
  126. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-roots/lua/root_2/autodoc.lua +0 -0
  127. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-roots/make.bat +0 -0
  128. {sphinx_lua_ls-3.2.0/test/roots/test-autodoc → sphinx_lua_ls-3.4.0/test/roots/test-autodoc-settings}/Makefile +0 -0
  129. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-settings/conf.py +0 -0
  130. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-settings/index.rst +0 -0
  131. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-autodoc-settings/lua/autodoc.lua +0 -0
  132. {sphinx_lua_ls-3.2.0/test/roots/test-autodoc → sphinx_lua_ls-3.4.0/test/roots/test-autodoc-settings}/make.bat +0 -0
  133. {sphinx_lua_ls-3.2.0/test/roots/test-autodoc-settings → sphinx_lua_ls-3.4.0/test/roots/test-autodoc-settings-override}/Makefile +0 -0
  134. {sphinx_lua_ls-3.2.0/test/roots/test-autodoc-settings → sphinx_lua_ls-3.4.0/test/roots/test-autodoc-settings-override}/make.bat +0 -0
  135. {sphinx_lua_ls-3.2.0/test/roots/test-intersphinx → sphinx_lua_ls-3.4.0/test/roots/test-doc}/Makefile +0 -0
  136. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-doc/conf.py +0 -0
  137. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-doc/index.rst +0 -0
  138. {sphinx_lua_ls-3.2.0/test/roots/test-intersphinx → sphinx_lua_ls-3.4.0/test/roots/test-doc}/make.bat +0 -0
  139. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-doc/src/annotations.rst +0 -0
  140. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-doc/src/autoindex.rst +0 -0
  141. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-doc/src/directives.rst +0 -0
  142. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-doc/src/inherited.rst +0 -0
  143. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-doc/src/modules.rst +0 -0
  144. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-doc/src/refs.rst +0 -0
  145. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-intersphinx/conf.py +0 -0
  146. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/roots/test-intersphinx/index.rst +0 -0
  147. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_parse.py +0 -0
  148. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/apidoc-md-sep.yml +0 -0
  149. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/apidoc-md.yml +0 -0
  150. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/apidoc-rst-sep.yml +0 -0
  151. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/apidoc-rst.yml +0 -0
  152. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-annotations.html +0 -0
  153. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-autoindex.html +0 -0
  154. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-annotations.html +0 -0
  155. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-autoindex.html +0 -0
  156. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-global_tables.html +0 -0
  157. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-globals.html +0 -0
  158. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-incongruent_export.html +0 -0
  159. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-member_ordering.html +0 -0
  160. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-module_title.html +0 -0
  161. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-nested_modules.html +0 -0
  162. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-nesting.html +0 -0
  163. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-nesting_recursive.html +0 -0
  164. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-object_types.html +0 -0
  165. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-relative_resolve.html +0 -0
  166. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-require.html +0 -0
  167. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-signatures.html +0 -0
  168. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-emmylua-using.html +0 -0
  169. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-globals.html +0 -0
  170. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-member_ordering.html +0 -0
  171. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-module_title.html +0 -0
  172. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-nested_modules.html +0 -0
  173. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-nesting.html +0 -0
  174. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-nesting_recursive.html +0 -0
  175. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-object_types.html +0 -0
  176. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/autodoc-relative_resolve.html +0 -0
  177. /sphinx_lua_ls-3.2.0/test/test_regression/autodoc-roots-default.html.html → /sphinx_lua_ls-3.4.0/test/test_regression/autodoc-roots-default.html +0 -0
  178. /sphinx_lua_ls-3.2.0/test/test_regression/autodoc-roots-no-roots.html.html → /sphinx_lua_ls-3.4.0/test/test_regression/autodoc-roots-no-roots.html +0 -0
  179. /sphinx_lua_ls-3.2.0/test/test_regression/autodoc-roots-single-root.html.html → /sphinx_lua_ls-3.4.0/test/test_regression/autodoc-roots-single-root.html +0 -0
  180. /sphinx_lua_ls-3.2.0/test/test_regression/autodoc-settings-no-recursion.html.html → /sphinx_lua_ls-3.4.0/test/test_regression/autodoc-settings-no-recursion.html +0 -0
  181. /sphinx_lua_ls-3.2.0/test/test_regression/autodoc-settings-simple.html.html → /sphinx_lua_ls-3.4.0/test/test_regression/autodoc-settings-simple.html +0 -0
  182. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/doc-annotations.html +0 -0
  183. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/doc-autoindex.html +0 -0
  184. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/doc-directives.html +0 -0
  185. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/doc-inherited.html +0 -0
  186. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/doc-modules.html +0 -0
  187. {sphinx_lua_ls-3.2.0 → sphinx_lua_ls-3.4.0}/test/test_regression/doc-refs.html +0 -0
@@ -7,15 +7,20 @@ updates:
7
7
  groups:
8
8
  dev:
9
9
  patterns:
10
- - "black"
10
+ - "beautifulsoup4"
11
11
  - "furo"
12
- - "isort"
13
- - "pre-commit"
12
+ - "myst-parser"
14
13
  - "pyright"
15
14
  - "pytest_image_diff"
16
15
  - "pytest-cov"
16
+ - "pytest-regressions"
17
17
  - "pytest"
18
18
  - "reportlab"
19
19
  - "sphinx_design"
20
20
  - "svglib"
21
21
  - "sybil"
22
+ style:
23
+ patterns:
24
+ - "black"
25
+ - "isort"
26
+ - "pre-commit"
@@ -23,6 +23,8 @@ jobs:
23
23
  steps:
24
24
  - name: Checkout source
25
25
  uses: actions/checkout@v4
26
+ with:
27
+ fetch-depth: 0
26
28
  - name: Set up python ${{ matrix.python-version }}
27
29
  uses: actions/setup-python@v4
28
30
  with:
@@ -79,6 +81,8 @@ jobs:
79
81
  steps:
80
82
  - name: Checkout source
81
83
  uses: actions/checkout@v4
84
+ with:
85
+ fetch-depth: 0
82
86
  - name: Set up python ${{ matrix.python-version }}
83
87
  uses: actions/setup-python@v4
84
88
  with:
@@ -88,7 +92,7 @@ jobs:
88
92
  # Tests
89
93
  - name: Install test dependencies
90
94
  if: ${{ matrix.type == 'test' }}
91
- run: python -m pip install '.[test]'
95
+ run: python -m pip install . --group test
92
96
  - name: Download LuaLs
93
97
  if: ${{ matrix.type == 'test' }}
94
98
  uses: actions/download-artifact@v4
@@ -106,7 +110,7 @@ jobs:
106
110
  # Lint
107
111
  - name: Install lint dependencies
108
112
  if: ${{ matrix.type == 'code style' }}
109
- run: python -m pip install '.[lint]'
113
+ run: python -m pip install . --group lint
110
114
  - name: Check code style
111
115
  if: ${{ matrix.type == 'code style' }}
112
116
  run: pre-commit run -a
@@ -124,10 +128,26 @@ jobs:
124
128
  name: pypi
125
129
  url: https://pypi.org/p/sphinx-lua-ls
126
130
  permissions:
131
+ contents: write
127
132
  id-token: write
128
133
  steps:
129
134
  - name: Checkout source
130
135
  uses: actions/checkout@v4
136
+ with:
137
+ fetch-depth: 0
138
+ - name: Generate release metadata
139
+ id: metadata
140
+ run: |
141
+ ref="${{ github.ref }}";
142
+ version=${ref#refs/tags/v};
143
+ link="https://pypi.org/p/${{ github.repository }}/${version}";
144
+ echo "version=${version}" >> $GITHUB_OUTPUT
145
+ echo "link=${link}" >> $GITHUB_OUTPUT
146
+ - name: Parse Changelog
147
+ id: changelog
148
+ uses: mindsers/changelog-reader-action@v2
149
+ with:
150
+ version: ${{ steps.metadata.outputs.version }}
131
151
  - name: Set up python 3.12
132
152
  uses: actions/setup-python@v4
133
153
  with:
@@ -147,6 +167,17 @@ jobs:
147
167
  uses: pypa/gh-action-pypi-publish@release/v1
148
168
  with:
149
169
  attestations: false
170
+ - name: Create GitHub release
171
+ uses: softprops/action-gh-release@v2
172
+ with:
173
+ prerelease: ${{ steps.changelog.outputs.status == 'prereleased' }}
174
+ draft: ${{ steps.changelog.outputs.status == 'unreleased' }}
175
+ body: |
176
+ ## Changelog
177
+
178
+ ${{ steps.changelog.outputs.changes }}
179
+
180
+ [See release on PyPi](${{ steps.metadata.outputs.link }})
150
181
 
151
182
  # Builds sphinx documentation.
152
183
  #
@@ -160,6 +191,8 @@ jobs:
160
191
  steps:
161
192
  - name: Checkout
162
193
  uses: actions/checkout@v4
194
+ with:
195
+ fetch-depth: 0
163
196
  - name: Set up python 3.12
164
197
  uses: actions/setup-python@v4
165
198
  with:
@@ -167,7 +200,7 @@ jobs:
167
200
  - name: Install package
168
201
  run: |
169
202
  python -m pip install --upgrade pip
170
- python -m pip install '.[doc]'
203
+ python -m pip install . --group doc
171
204
  - name: Download LuaLs
172
205
  uses: actions/download-artifact@v4
173
206
  with:
@@ -175,7 +208,7 @@ jobs:
175
208
  path: ~/lua_ls_release
176
209
  - name: Build docs
177
210
  env:
178
- SPHINXOPTS: "-j auto"
211
+ SPHINXOPTS: "-j auto -n"
179
212
  LUA_LS_CACHE_PATH: ~/lua_ls_release/ubuntu-latest
180
213
  run: |
181
214
  cd docs
@@ -203,6 +236,8 @@ jobs:
203
236
  steps:
204
237
  - name: Checkout
205
238
  uses: actions/checkout@v4
239
+ with:
240
+ fetch-depth: 0
206
241
  - name: Download artifact
207
242
  uses: actions/download-artifact@v4
208
243
  with:
@@ -5,28 +5,22 @@ repos:
5
5
  name: black
6
6
  language: system
7
7
  entry: black
8
- types: [python]
9
- files: ^(?!docs)
8
+ types_or: [python, pyi]
10
9
  require_serial: true
11
10
  - id: isort
12
11
  name: isort
13
12
  language: system
14
- entry: isort
15
- types: [python]
16
- files: ^(?!docs)
13
+ entry: isort --filter-files
14
+ types_or: [python, pyi]
17
15
  require_serial: true
18
16
  - repo: https://github.com/pre-commit/pre-commit-hooks
19
- rev: v4.6.0
17
+ rev: v6.0.0
20
18
  hooks:
21
19
  - id: trailing-whitespace
22
- require_serial: true
23
20
  - id: end-of-file-fixer
24
- require_serial: true
25
21
  - id: fix-byte-order-marker
26
- require_serial: true
27
22
  - id: mixed-line-ending
28
23
  args: [--fix=lf]
29
- require_serial: true
30
24
  - id: check-added-large-files
31
25
  - id: check-yaml
32
26
  - id: check-toml
@@ -1,6 +1,46 @@
1
1
  # Changelog
2
2
 
3
- ## v3.2.0
3
+ ## [unreleased]
4
+
5
+ ## [3.4.0]
6
+
7
+ - **Potential breaking change:** use `confdir` instead of `srcdir` as base path
8
+ for `lua_ls_project_root`.
9
+
10
+ Prior to this change, `lua_ls_project_root` was resolved relative to the directory
11
+ containing source `.rst` files. Documentation, however, was saying that it's resolved
12
+ relative to the directory with `conf.py`.
13
+
14
+ This is not an issue, because in most projects `conf.py` and source `.rst` files
15
+ are located in the same directory. Still, I've decided to be consistent with
16
+ other Sphinx extensions and use `confdir` instead of `srcdir`.
17
+
18
+ This is a breaking change, but I don't believe there are any projects that
19
+ use separate `confdir` and `srcdir` (the only reason to do this is if you're
20
+ hosting multiple documentation sites in the same repo.) For this reason,
21
+ this change is released as a minor version change.
22
+
23
+ ## [3.3.0]
24
+
25
+ - Added an option to extend list options (like `:exclude-members:`) without overriding
26
+ defaults:
27
+
28
+ ```rst
29
+ .. lua:autoobject::
30
+ :exclude-members: +foo
31
+ ```
32
+
33
+ Also added `:no-*:` options to ignore defaults.
34
+
35
+ - Improved display of members which use types instead of names,
36
+ i.e. `[<type>]` ([#19] by [@bkoropoff]).
37
+
38
+ - Added a warning for situations when `lua_ls_project_directories` contains directories
39
+ outside of the current VCS root.
40
+
41
+ [#19]: https://github.com/taminomara/sphinx-lua-ls/pull/19
42
+
43
+ ## [3.2.0]
4
44
 
5
45
  - Updated a few dependencies. Most notably, restricted `sphinx` to `<9`.
6
46
 
@@ -13,7 +53,7 @@
13
53
  [#18]: https://github.com/taminomara/sphinx-lua-ls/pull/18
14
54
  [@bkoropoff]: https://github.com/bkoropoff
15
55
 
16
- ## v3.1.0
56
+ ## [3.1.0]
17
57
 
18
58
  - Added pygments lexer for Lua that highlights documentation tags.
19
59
 
@@ -26,7 +66,7 @@
26
66
 
27
67
  - Fixed some edge cases in parsing of type expressions.
28
68
 
29
- ## v3.0.0
69
+ ## [3.0.0]
30
70
 
31
71
  - **Breaking change:** changed how `apidoc` generates file names to avoid collisions.
32
72
 
@@ -94,18 +134,18 @@
94
134
  [EmmyLua]: https://github.com/EmmyLuaLs/emmylua-analyzer-rust/
95
135
  [#3]: https://github.com/taminomara/sphinx-lua-ls/issues/3
96
136
 
97
- **Migrating to 3.0.0:**
137
+ ### Migrating to 3.0.0
98
138
 
99
139
  - If you're using `apidoc`, you'll need to update links to your documentation.
100
140
 
101
141
  - You'll need to explicitly specify which language server to use
102
142
  by including `lua_ls_backend` to your `conf.py`.
103
143
 
104
- ## v2.0.1
144
+ ## [2.0.1]
105
145
 
106
146
  - Fixed documentation not being rebuilt after changing lua source code.
107
147
 
108
- ## v2.0.0
148
+ ## [2.0.0]
109
149
 
110
150
  - **Breaking change:** don't implicitly convert classes that're derived from `table`
111
151
  to modules. Users should use a `!doctype` comment instead.
@@ -118,7 +158,7 @@
118
158
 
119
159
  - Improved test coverage and fixed found bugs.
120
160
 
121
- **Migrating to 2.0.0:**
161
+ ### Migrating to 2.0.0
122
162
 
123
163
  In your Lua code base, perform global replace by regexp:
124
164
 
@@ -137,7 +177,7 @@ Make sure that you only use `!doctype module` on the top-level
137
177
  tables that can be imported via `require`. On other objects,
138
178
  use `!doctype table` instead, otherwise you'll get errors that modules are not allowed within other objects.
139
179
 
140
- ## v1.1.0
180
+ ## [1.1.0]
141
181
 
142
182
  - Added support for `!doc` and `!doctype` comments.
143
183
 
@@ -156,6 +196,17 @@ use `!doctype table` instead, otherwise you'll get errors that modules are not a
156
196
 
157
197
  - Fixed types when `lua:autoobject` would infer incorrect types for `data`.
158
198
 
159
- ## v1.0.0
199
+ ## [1.0.0]
160
200
 
161
201
  Initial release.
202
+
203
+ [unreleased]: https://github.com/taminomara/sphinx-lua-ls/compare/v3.4.0...HEAD
204
+ [3.4.0]: https://github.com/taminomara/sphinx-lua-ls/compare/v3.3.0...v3.4.0
205
+ [3.3.0]: https://github.com/taminomara/sphinx-lua-ls/compare/v3.2.0...v3.3.0
206
+ [3.2.0]: https://github.com/taminomara/sphinx-lua-ls/compare/v3.1.0...v3.2.0
207
+ [3.1.0]: https://github.com/taminomara/sphinx-lua-ls/compare/v3.0.0...v3.1.0
208
+ [3.0.0]: https://github.com/taminomara/sphinx-lua-ls/compare/v2.0.1...v3.0.0
209
+ [2.0.1]: https://github.com/taminomara/sphinx-lua-ls/compare/v2.0.0...v2.0.1
210
+ [2.0.0]: https://github.com/taminomara/sphinx-lua-ls/compare/v1.1.0...v2.0.0
211
+ [1.1.0]: https://github.com/taminomara/sphinx-lua-ls/compare/v1.0.0...v1.1.0
212
+ [1.0.0]: https://github.com/taminomara/sphinx-lua-ls/releases/tag/v1.0.0
@@ -13,7 +13,7 @@
13
13
  3. Install Sphinx-LuaLs in development mode, and install dev dependencies:
14
14
 
15
15
  ```shell
16
- pip install -e .[dev]
16
+ pip install -e . --group dev
17
17
  ```
18
18
 
19
19
  4. Install pre-commit hooks:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sphinx-lua-ls
3
- Version: 3.2.0
3
+ Version: 3.4.0
4
4
  Summary: Automatic documentation generation via EmmyLua/LuaLs
5
5
  Author-email: Tamika Nomara <taminomara@gmail.com>
6
6
  License-Expression: MIT
@@ -27,25 +27,6 @@ License-File: LICENSE
27
27
  Requires-Dist: sphinx<9.0,>=8.0
28
28
  Requires-Dist: PyGithub<3.0,>=1.59
29
29
  Requires-Dist: requests~=2.31
30
- Provides-Extra: dev
31
- Requires-Dist: pytest-cov==6.2.1; extra == "dev"
32
- Requires-Dist: sphinx-lua-ls[doc,lint,test]; extra == "dev"
33
- Provides-Extra: lint
34
- Requires-Dist: black==25.1.0; extra == "lint"
35
- Requires-Dist: isort==6.0.1; extra == "lint"
36
- Requires-Dist: pre-commit==4.3.0; extra == "lint"
37
- Provides-Extra: test
38
- Requires-Dist: pyright==1.1.404; extra == "test"
39
- Requires-Dist: pytest==8.4.1; extra == "test"
40
- Requires-Dist: sybil==9.2.0; extra == "test"
41
- Requires-Dist: pytest-regressions==2.8.2; extra == "test"
42
- Requires-Dist: beautifulsoup4==4.13.5; extra == "test"
43
- Requires-Dist: myst-parser==4.0.1; extra == "test"
44
- Provides-Extra: doc
45
- Requires-Dist: sybil==9.2.0; extra == "doc"
46
- Requires-Dist: furo==2025.7.19; extra == "doc"
47
- Requires-Dist: sphinx_design==0.6.1; extra == "doc"
48
- Requires-Dist: myst-parser==4.0.1; extra == "doc"
49
30
  Dynamic: license-file
50
31
 
51
32
  # Sphinx plugin for Lua and Lua Language Server
@@ -58,9 +39,9 @@ Document Lua projects using Lua Language Server's output. This plugin features:
58
39
  ## Resources
59
40
 
60
41
  - [Documentation](https://taminomara.github.io/sphinx-lua-ls/)
61
- - [Installation](https://taminomara.github.io/sphinx-lua-ls/#installation)
62
- - [Quickstart](https://taminomara.github.io/sphinx-lua-ls/#quickstart)
63
- - [Example output](https://taminomara.github.io/sphinx-lua-ls/#example-output)
42
+ - [Installation](https://taminomara.github.io/sphinx-lua-ls/installation.html)
43
+ - [Quickstart](https://taminomara.github.io/sphinx-lua-ls/quickstart.html)
44
+ - [Example output](https://taminomara.github.io/sphinx-lua-ls/example.html)
64
45
 
65
46
  ## Requirements
66
47
 
@@ -8,9 +8,9 @@ Document Lua projects using Lua Language Server's output. This plugin features:
8
8
  ## Resources
9
9
 
10
10
  - [Documentation](https://taminomara.github.io/sphinx-lua-ls/)
11
- - [Installation](https://taminomara.github.io/sphinx-lua-ls/#installation)
12
- - [Quickstart](https://taminomara.github.io/sphinx-lua-ls/#quickstart)
13
- - [Example output](https://taminomara.github.io/sphinx-lua-ls/#example-output)
11
+ - [Installation](https://taminomara.github.io/sphinx-lua-ls/installation.html)
12
+ - [Quickstart](https://taminomara.github.io/sphinx-lua-ls/quickstart.html)
13
+ - [Example output](https://taminomara.github.io/sphinx-lua-ls/example.html)
14
14
 
15
15
  ## Requirements
16
16
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  # You can set these variables from the command line, and also
5
5
  # from the environment for the first two.
6
- SPHINXOPTS ?=
6
+ SPHINXOPTS ?= -j auto -n
7
7
  SPHINXBUILD ?= sphinx-build
8
8
  SOURCEDIR = source
9
9
  BUILDDIR = build
@@ -16,10 +16,10 @@ can be slightly different:
16
16
  comments.
17
17
 
18
18
  When generating documentation for a module, Sphinx-LuaLs will include
19
- all module's objects returned by `require`, as well as all types located
19
+ all module's objects returned by ``require``, as well as all types located
20
20
  in the same namespace.
21
21
 
22
- That is, for module `meow`, it will list everything in the ``require("meow")``,
22
+ That is, for module ``meow``, it will list everything in the ``require("meow")``,
23
23
  as well as all classes, aliases, and enums that have prefix ``meow.*``.
24
24
 
25
25
  Thus, a typical Lua module will look like this:
@@ -185,7 +185,7 @@ Autodoc directive
185
185
  .. rst:directive:option:: undoc-members
186
186
 
187
187
  Include undocumented members to the object's description. By default,
188
- they are skipped even if :rst:dir:`members` is passed.
188
+ they are skipped even if :rst:dir:`members <lua:autoobject:members>` is passed.
189
189
 
190
190
  Accepts a comma-separated list of names; if list is empty,
191
191
  adds all undoc members.
@@ -293,19 +293,14 @@ Autodoc directive
293
293
  for all objects nested within the root. That is, object's members,
294
294
  their members, and so on.
295
295
 
296
- If
297
- :rst:dir:`lua:autoobject:members`,
298
- :rst:dir:`lua:autoobject:globals`,
299
- :rst:dir:`lua:autoobject:undoc-members`,
300
- :rst:dir:`lua:autoobject:private-members`,
301
- :rst:dir:`lua:autoobject:special-members`,
302
- or :rst:dir:`lua:autoobject:inherited-members`
303
- are given as flags, they are propagated to all documented objects.
296
+ Options like ``no-index`` or :rst:dir:`lua:autoobject:member-order` are always
297
+ passed down to all members.
304
298
 
305
- If they're given as list, they are not propagated.
306
-
307
- Options from :py:data:`lua_ls_default_options` are applied to all recursively
308
- documented objects.
299
+ List options like :rst:dir:`lua:autoobject:members`
300
+ or :rst:dir:`lua:autoobject:globals`
301
+ are passed down if they're empty or start with ``+``
302
+ (see :py:data:`lua_ls_default_options` for info on ``+``
303
+ and overriding defaults).
309
304
 
310
305
  .. rst:directive:option:: member-order
311
306
 
@@ -12,6 +12,7 @@ release = version = sphinx_lua_ls.__version__
12
12
 
13
13
  extensions = [
14
14
  "sphinx.ext.githubpages",
15
+ "sphinx.ext.intersphinx",
15
16
  "sphinx_design",
16
17
  "sphinx_lua_ls",
17
18
  "myst_parser",
@@ -23,9 +24,14 @@ exclude_patterns = []
23
24
  primary_domain = "lua"
24
25
  default_role = "lua:obj"
25
26
 
26
- lua_ls_project_root = "../example"
27
+ lua_ls_project_root = "example"
27
28
  lua_ls_backend = "emmylua"
28
29
 
30
+ intersphinx_mapping = {
31
+ "python": ("https://docs.python.org/3", None),
32
+ "sphinx": ("https://www.sphinx-doc.org/", None),
33
+ }
34
+
29
35
  # -- Options for HTML output -------------------------------------------------
30
36
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
31
37
 
@@ -31,15 +31,18 @@ This output is generated with the following directive:
31
31
  :module-member-order: groupwise
32
32
  ```
33
33
 
34
- See ``logging.lua`` `on github`_.
34
+ .. tab-set::
35
+
36
+ .. tab-item:: Result
35
37
 
36
- .. _on github: https://github.com/taminomara/sphinx-lua-ls/blob/main/docs/example/logging.lua
38
+ .. lua:autoobject:: logging
39
+ :members:
40
+ :globals:
41
+ :recursive:
42
+ :index-table:
43
+ :module-member-order: groupwise
37
44
 
38
- ----
45
+ .. tab-item:: logging.lua
39
46
 
40
- .. lua:autoobject:: logging
41
- :members:
42
- :globals:
43
- :recursive:
44
- :index-table:
45
- :module-member-order: groupwise
47
+ .. literalinclude:: /example/logging.lua
48
+ :language: lua
@@ -22,9 +22,8 @@ See an example output: `logging`.
22
22
  settings
23
23
  example
24
24
 
25
+ .. toctree::
26
+ :hidden:
27
+ :caption: Links
25
28
 
26
- Indices and tables
27
- ------------------
28
-
29
- * :ref:`genindex`
30
- * :ref:`search`
29
+ GitHub <https://github.com/taminomara/sphinx-lua-ls/>
@@ -56,6 +56,25 @@ Settings
56
56
  # And so on...
57
57
  }
58
58
 
59
+ If using defaults for the ``:members:``, ``:exclude-members:``, and other
60
+ list options, setting the option on a directive will override the default.
61
+ Instead, to extend the default list with the per-directive option,
62
+ the list may be prepended with a plus sign (``+``), as follows:
63
+
64
+ .. code-block:: rst
65
+
66
+ .. lua:autoobject:: Noodle
67
+ :members: eat
68
+ :private-members: +_spicy, _garlickly
69
+
70
+ Also, the defaults can be disabled per-directive with the negated form,
71
+ ``:no-option:`` as an option of the directive:
72
+
73
+ .. code-block:: rst
74
+
75
+ .. lua:autoobject:: foo
76
+ :no-undoc-members:
77
+
59
78
  .. py:data:: class_default_function_name
60
79
  :type: str
61
80
 
@@ -70,14 +89,14 @@ Settings
70
89
  .. py:data:: class_default_force_non_colon
71
90
  :type:
72
91
 
73
- If `true`, Sphinx-LuaLs will remove ``self`` from class constructor's signature.
92
+ If ``True``, Sphinx-LuaLs will remove ``self`` from class constructor's signature.
74
93
 
75
94
  If using EmmyLua as lua analyzer, this option will be inferred from ``.emmyrc.json``.
76
95
 
77
96
  .. py:data:: class_default_force_return_self
78
97
  :type:
79
98
 
80
- If `true`, Sphinx-LuaLs will replace class constructor's return type with ``self``.
99
+ If ``True``, Sphinx-LuaLs will replace class constructor's return type with ``self``.
81
100
 
82
101
  If using EmmyLua as lua analyzer, this option will be inferred from ``.emmyrc.json``.
83
102
 
@@ -90,7 +109,7 @@ Settings
90
109
  Can be either ``"5.1"``, ``"5.2"``, ``"5.3"``, ``"5.4"``, or ``"jit"``.
91
110
 
92
111
  By default, Sphinx-LuaLs will choose this setting
93
- based on your `.emmyrc.json`/`.luarc.json` file.
112
+ based on your ``.emmyrc.json``/``.luarc.json`` file.
94
113
 
95
114
  .. py:data:: lua_ls_apidoc_roots
96
115
  :type: dict[str, str | dict[str, Any]]
@@ -146,7 +165,7 @@ Settings
146
165
  This option might not work correctly on case-insensitive file systems.
147
166
 
148
167
  It will generate a separate file for every member of a module;
149
- if there are members that only differ in case (i.e. `Class` vs `class`),
168
+ if there are members that only differ in case (i.e. ``Class`` vs ``class``),
150
169
  one of them will overwrite the file for another.
151
170
 
152
171
  If you're on Windows, and you experience difficulties because of it,
@@ -196,7 +215,7 @@ Settings
196
215
 
197
216
  Default value is ``50``, which is suitable for most Sphinx themes.
198
217
 
199
- Setting this value to `None` will cause signature formatter
218
+ Setting this value to ``None`` will cause signature formatter
200
219
  to use Sphinx's global setting ``maximum_signature_line_length``.
201
220
  If ``maximum_signature_line_length`` is also ``None``,
202
221
  signature wrapping will be disabled.
@@ -27,27 +27,29 @@ dependencies = [
27
27
  "requests~=2.31",
28
28
  ]
29
29
 
30
- [project.optional-dependencies]
30
+ [dependency-groups]
31
31
  dev = [
32
- "pytest-cov==6.2.1",
33
- "sphinx-lua-ls[test,lint,doc]",
32
+ "pytest-cov==7.0.0",
33
+ {include-group = "test"},
34
+ {include-group = "lint"},
35
+ {include-group = "doc"},
34
36
  ]
35
37
  lint = [
36
- "black==25.1.0",
38
+ "black==25.9.0",
37
39
  "isort==6.0.1",
38
40
  "pre-commit==4.3.0",
39
41
  ]
40
42
  test = [
41
- "pyright==1.1.404",
42
- "pytest==8.4.1",
43
+ "pyright==1.1.405",
44
+ "pytest==8.4.2",
43
45
  "sybil==9.2.0",
44
- "pytest-regressions==2.8.2",
45
- "beautifulsoup4==4.13.5",
46
+ "pytest-regressions==2.8.3",
47
+ "beautifulsoup4==4.14.0",
46
48
  "myst-parser==4.0.1"
47
49
  ]
48
50
  doc = [
49
51
  "sybil==9.2.0",
50
- "furo==2025.7.19",
52
+ "furo==2025.9.25",
51
53
  "sphinx_design==0.6.1",
52
54
  "myst-parser==4.0.1"
53
55
  ]
@@ -90,10 +92,6 @@ reportUnnecessaryIsInstance = "none"
90
92
  reportConstantRedefinition = "none"
91
93
  reportRedeclaration = "none"
92
94
 
93
- [tool.black]
94
- extend-exclude = '^/docs'
95
-
96
95
  [tool.isort]
97
96
  profile = "black"
98
- extend_skip_glob = ["docs/*"]
99
97
  skip_gitignore = true
@@ -9,6 +9,7 @@ import sphinx.builders
9
9
  import sphinx.builders.html
10
10
  import sphinx.domains
11
11
  import sphinx.errors
12
+ from sphinx.util import logging
12
13
  from sphinx.util.display import progress_message
13
14
  from sphinx.util.fileutil import copy_asset_file
14
15
 
@@ -21,9 +22,12 @@ import sphinx_lua_ls.inherited
21
22
  import sphinx_lua_ls.intersphinx
22
23
  import sphinx_lua_ls.lua_ls
23
24
  import sphinx_lua_ls.objtree
25
+ import sphinx_lua_ls.utils
24
26
  from sphinx_lua_ls._version import __version__, __version_tuple__
25
27
  from sphinx_lua_ls.pygments import LuaLexer
26
28
 
29
+ logger = logging.getLogger("sphinx_lua_ls")
30
+
27
31
 
28
32
  def run_lua_ls(app: sphinx.application.Sphinx):
29
33
  domain: sphinx_lua_ls.domain.LuaDomain = app.env.get_domain("lua") # type: ignore
@@ -88,11 +92,23 @@ def run_lua_ls(app: sphinx.application.Sphinx):
88
92
  configs.append(path)
89
93
  parser.files.update(configs)
90
94
 
95
+ vcs_root = sphinx_lua_ls.utils.find_topmost_vcs_root(root_dir)
96
+
91
97
  for dir in project_directories:
98
+ if vcs_root and not dir.is_relative_to(vcs_root):
99
+ logger.warning(
100
+ "project directory %s appears to be outside of your VCS root %s",
101
+ dir,
102
+ vcs_root,
103
+ type="lua-ls",
104
+ )
105
+
92
106
  try:
93
107
  relpath = dir.relative_to(cwd, walk_up=True)
94
108
  except ValueError:
95
109
  relpath = dir
110
+ if str(relpath).endswith(".."):
111
+ relpath = dir
96
112
  with progress_message(f"running lua language server in {relpath or '.'}"):
97
113
  parser.class_default_function_name = (
98
114
  domain.config.class_default_function_name
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '3.2.0'
32
- __version_tuple__ = version_tuple = (3, 2, 0)
31
+ __version__ = version = '3.4.0'
32
+ __version_tuple__ = version_tuple = (3, 4, 0)
33
33
 
34
- __commit_id__ = commit_id = 'g226dbf0db'
34
+ __commit_id__ = commit_id = 'g02703ee01'