sphinx-lua-ls 0.0.4__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 (87) hide show
  1. sphinx_lua_ls-0.0.4/.github/workflows/ci.yaml +243 -0
  2. sphinx_lua_ls-0.0.4/.gitignore +136 -0
  3. sphinx_lua_ls-0.0.4/.pre-commit-config.yaml +38 -0
  4. sphinx_lua_ls-0.0.4/.vscode/settings.json +3 -0
  5. sphinx_lua_ls-0.0.4/CONTRIBUTING.md +50 -0
  6. sphinx_lua_ls-0.0.4/LICENSE +21 -0
  7. sphinx_lua_ls-0.0.4/PKG-INFO +92 -0
  8. sphinx_lua_ls-0.0.4/README.md +24 -0
  9. sphinx_lua_ls-0.0.4/conftest.py +17 -0
  10. sphinx_lua_ls-0.0.4/docs/Makefile +20 -0
  11. sphinx_lua_ls-0.0.4/docs/example/logging.lua +75 -0
  12. sphinx_lua_ls-0.0.4/docs/make.bat +35 -0
  13. sphinx_lua_ls-0.0.4/docs/source/_extra/robots.txt +3 -0
  14. sphinx_lua_ls-0.0.4/docs/source/conf.py +48 -0
  15. sphinx_lua_ls-0.0.4/docs/source/index.rst +642 -0
  16. sphinx_lua_ls-0.0.4/pyproject.toml +97 -0
  17. sphinx_lua_ls-0.0.4/setup.cfg +4 -0
  18. sphinx_lua_ls-0.0.4/sphinx_lua_ls/__init__.py +166 -0
  19. sphinx_lua_ls-0.0.4/sphinx_lua_ls/_version.py +21 -0
  20. sphinx_lua_ls-0.0.4/sphinx_lua_ls/autodoc.py +632 -0
  21. sphinx_lua_ls-0.0.4/sphinx_lua_ls/doctree.py +477 -0
  22. sphinx_lua_ls-0.0.4/sphinx_lua_ls/domain.py +1156 -0
  23. sphinx_lua_ls-0.0.4/sphinx_lua_ls/intersphinx.py +204 -0
  24. sphinx_lua_ls-0.0.4/sphinx_lua_ls/lua_ls.py +694 -0
  25. sphinx_lua_ls-0.0.4/sphinx_lua_ls/py.typed +0 -0
  26. sphinx_lua_ls-0.0.4/sphinx_lua_ls.egg-info/PKG-INFO +92 -0
  27. sphinx_lua_ls-0.0.4/sphinx_lua_ls.egg-info/SOURCES.txt +85 -0
  28. sphinx_lua_ls-0.0.4/sphinx_lua_ls.egg-info/dependency_links.txt +1 -0
  29. sphinx_lua_ls-0.0.4/sphinx_lua_ls.egg-info/requires.txt +24 -0
  30. sphinx_lua_ls-0.0.4/sphinx_lua_ls.egg-info/top_level.txt +1 -0
  31. sphinx_lua_ls-0.0.4/test/conftest.py +18 -0
  32. sphinx_lua_ls-0.0.4/test/roots/test-doc/Makefile +20 -0
  33. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/environment.pickle +0 -0
  34. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/index.doctree +0 -0
  35. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/src/annotations.doctree +0 -0
  36. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/src/autodoc.doctree +0 -0
  37. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/src/directives.doctree +0 -0
  38. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/src/modules.doctree +0 -0
  39. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/src/refs.doctree +0 -0
  40. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/.buildinfo +4 -0
  41. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/index.rst.txt +12 -0
  42. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/src/annotations.rst.txt +16 -0
  43. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/src/autodoc.rst.txt +7 -0
  44. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/src/directives.rst.txt +132 -0
  45. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/src/modules.rst.txt +22 -0
  46. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/src/refs.rst.txt +68 -0
  47. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/alabaster.css +663 -0
  48. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/basic.css +906 -0
  49. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/custom.css +1 -0
  50. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/doctools.js +149 -0
  51. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/documentation_options.js +13 -0
  52. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/file.png +0 -0
  53. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/github-banner.svg +5 -0
  54. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/language_data.js +191 -0
  55. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/minus.png +0 -0
  56. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/plus.png +0 -0
  57. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/pygments.css +84 -0
  58. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/searchtools.js +635 -0
  59. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/sphinx_highlight.js +154 -0
  60. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/genindex.html +356 -0
  61. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/index.html +127 -0
  62. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/lua-modindex.html +148 -0
  63. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/objects.inv +0 -0
  64. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/py-modindex.html +125 -0
  65. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/search.html +125 -0
  66. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/searchindex.js +1 -0
  67. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/src/annotations.html +123 -0
  68. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/src/autodoc.html +228 -0
  69. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/src/directives.html +333 -0
  70. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/src/modules.html +142 -0
  71. sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/src/refs.html +190 -0
  72. sphinx_lua_ls-0.0.4/test/roots/test-doc/conf.py +5 -0
  73. sphinx_lua_ls-0.0.4/test/roots/test-doc/index.rst +12 -0
  74. sphinx_lua_ls-0.0.4/test/roots/test-doc/make.bat +35 -0
  75. sphinx_lua_ls-0.0.4/test/roots/test-doc/mod.lua +77 -0
  76. sphinx_lua_ls-0.0.4/test/roots/test-doc/src/annotations.rst +16 -0
  77. sphinx_lua_ls-0.0.4/test/roots/test-doc/src/autodoc.rst +7 -0
  78. sphinx_lua_ls-0.0.4/test/roots/test-doc/src/directives.rst +132 -0
  79. sphinx_lua_ls-0.0.4/test/roots/test-doc/src/modules.rst +22 -0
  80. sphinx_lua_ls-0.0.4/test/roots/test-doc/src/refs.rst +68 -0
  81. sphinx_lua_ls-0.0.4/test/test_parse.py +97 -0
  82. sphinx_lua_ls-0.0.4/test/test_regression/annotations.html +106 -0
  83. sphinx_lua_ls-0.0.4/test/test_regression/autodoc.html +850 -0
  84. sphinx_lua_ls-0.0.4/test/test_regression/directives.html +1519 -0
  85. sphinx_lua_ls-0.0.4/test/test_regression/modules.html +111 -0
  86. sphinx_lua_ls-0.0.4/test/test_regression/refs.html +503 -0
  87. sphinx_lua_ls-0.0.4/test/test_regression.py +30 -0
@@ -0,0 +1,243 @@
1
+ name: Test package
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ tags:
7
+ - 'v*'
8
+ pull_request:
9
+ branches:
10
+ - main
11
+ types:
12
+ - opened
13
+ - reopened
14
+ - synchronize
15
+ - closed
16
+
17
+ jobs:
18
+ # Download LuaLs for all platforms all at once, to reduce total number of downloads.
19
+ prepare:
20
+ name: Download LuaLs
21
+ if: ${{ !(github.event_name == 'pull_request' && github.event.action == 'closed') }}
22
+ runs-on: ubuntu-latest
23
+ steps:
24
+ - name: Checkout source
25
+ uses: actions/checkout@v4
26
+ - name: Set up python ${{ matrix.python-version }}
27
+ uses: actions/setup-python@v4
28
+ with:
29
+ python-version: "3.12"
30
+ - name: Update pip
31
+ run: python -m pip install --upgrade pip
32
+ - name: Install dependencies
33
+ run: python -m pip install '.'
34
+ - name: Download LuaLs for Linux
35
+ run: python sphinx_lua_ls/lua_ls.py linux x86_64 ~/lua_ls_release/ubuntu-latest
36
+ - name: Download LuaLs for Windows
37
+ run: python sphinx_lua_ls/lua_ls.py win32 amd64 ~/lua_ls_release/windows-latest
38
+ - name: Download LuaLs for MacOs
39
+ run: python sphinx_lua_ls/lua_ls.py darwin x86_64 ~/lua_ls_release/macos-latest
40
+ - name: Upload artifact
41
+ uses: actions/upload-artifact@v4
42
+ with:
43
+ name: lua_ls_release
44
+ path: ~/lua_ls_release
45
+ include-hidden-files: true
46
+ retention-days: 3
47
+
48
+ # Runs main tests for the package.
49
+ #
50
+ # Runs on all events except when closing a pull request.
51
+ test:
52
+ name: Test package
53
+ needs:
54
+ - prepare
55
+ if: ${{ !(github.event_name == 'pull_request' && github.event.action == 'closed') }}
56
+ strategy:
57
+ fail-fast: false
58
+ matrix:
59
+ os:
60
+ - ubuntu-latest
61
+ - macos-latest
62
+ - windows-latest
63
+ python-version:
64
+ - "3.12"
65
+ - "3.13"
66
+ type:
67
+ - test
68
+ include:
69
+ - os: ubuntu-latest
70
+ python-version: "3.13"
71
+ type: code style
72
+ runs-on: ${{ matrix.os }}
73
+ steps:
74
+ - name: Checkout source
75
+ uses: actions/checkout@v4
76
+ - name: Set up python ${{ matrix.python-version }}
77
+ uses: actions/setup-python@v4
78
+ with:
79
+ python-version: ${{ matrix.python-version }}
80
+ - name: Update pip
81
+ run: python -m pip install --upgrade pip
82
+ # Tests
83
+ - name: Install test dependencies
84
+ if: ${{ matrix.type == 'test' }}
85
+ run: python -m pip install '.[test]'
86
+ - name: Download LuaLs
87
+ if: ${{ matrix.type == 'test' }}
88
+ uses: actions/download-artifact@v4
89
+ with:
90
+ name: lua_ls_release
91
+ path: ~/lua_ls_release
92
+ - name: Check types
93
+ if: ${{ matrix.type == 'test' }}
94
+ run: pyright
95
+ - name: Test package
96
+ if: ${{ matrix.type == 'test' }}
97
+ run: pytest -vv --showlocals --tb=short --color=yes --junit-xml=test-results.xml
98
+ env:
99
+ LUA_LS_CACHE_PATH: ~/lua_ls_release/${{ matrix.os }}
100
+ # Lint
101
+ - name: Install lint dependencies
102
+ if: ${{ matrix.type == 'code style' }}
103
+ run: python -m pip install '.[lint]'
104
+ - name: Check code style
105
+ if: ${{ matrix.type == 'code style' }}
106
+ run: pre-commit run -a
107
+
108
+ # Builds and publishes python packages.
109
+ #
110
+ # Only runs on tag pushes.
111
+ publish_to_pypi:
112
+ name: Publish package to PyPi
113
+ needs:
114
+ - test
115
+ if: ${{ github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') }}
116
+ runs-on: ubuntu-latest
117
+ environment:
118
+ name: pypi
119
+ url: https://pypi.org/p/sphinx-lua-ls
120
+ permissions:
121
+ id-token: write
122
+ steps:
123
+ - name: Checkout source
124
+ uses: actions/checkout@v4
125
+ - name: Set up python 3.12
126
+ uses: actions/setup-python@v4
127
+ with:
128
+ python-version: 3.12
129
+ - name: Install build
130
+ run: |
131
+ pip install build
132
+ - name: Build project
133
+ run: |
134
+ python3 -m build .
135
+ - name: Publish to test pypi
136
+ uses: pypa/gh-action-pypi-publish@release/v1
137
+ with:
138
+ repository-url: https://test.pypi.org/legacy/
139
+ attestations: false
140
+ - name: Publish to pypi
141
+ uses: pypa/gh-action-pypi-publish@release/v1
142
+ with:
143
+ attestations: false
144
+
145
+ # Builds sphinx documentation.
146
+ #
147
+ # Runs on all events except when closing a pull request.
148
+ build_docs:
149
+ name: Build docs
150
+ needs:
151
+ - test
152
+ if: ${{ !(github.event_name == 'pull_request' && github.event.action == 'closed') }}
153
+ runs-on: ubuntu-latest
154
+ steps:
155
+ - name: Checkout
156
+ uses: actions/checkout@v4
157
+ - name: Set up python 3.12
158
+ uses: actions/setup-python@v4
159
+ with:
160
+ python-version: 3.12
161
+ - name: Install package
162
+ run: |
163
+ python -m pip install --upgrade pip
164
+ python -m pip install '.[doc]'
165
+ - name: Download LuaLs
166
+ uses: actions/download-artifact@v4
167
+ with:
168
+ name: lua_ls_release
169
+ path: ~/lua_ls_release
170
+ - name: Build docs
171
+ env:
172
+ SPHINXOPTS: "-j auto"
173
+ LUA_LS_CACHE_PATH: ~/lua_ls_release/ubuntu-latest
174
+ run: |
175
+ cd docs
176
+ make html
177
+ - name: Upload artifact
178
+ uses: actions/upload-artifact@v4
179
+ with:
180
+ name: html_output
181
+ path: docs/build/html
182
+ include-hidden-files: true
183
+
184
+ # Publishes documentation preview and posts a comment to the initiating PR.
185
+ #
186
+ # This job runs on all pull request actions. If also runs when a pull request is closed,
187
+ # in this case it deletes the preview.
188
+ #
189
+ # Since the default condition -- `success()` -- only runs if all dependencies succeeded,
190
+ # we use `!failure() && !cancelled()`, which also runs when any dependencies were skipped.
191
+ publish_docs_preview:
192
+ name: Publish docs preview to GitHub Pages
193
+ needs:
194
+ - build_docs
195
+ if: ${{ !failure() && !cancelled() && github.event_name == 'pull_request' }}
196
+ concurrency:
197
+ group: publish-docs-${{ github.ref }}
198
+ cancel-in-progress: true
199
+ permissions: write-all
200
+ runs-on: ubuntu-latest
201
+ steps:
202
+ - name: Checkout
203
+ uses: actions/checkout@v4
204
+ - name: Download artifact
205
+ if: ${{ needs.build_docs.result == 'success' }} # only download docs if build wasn't skipped
206
+ uses: actions/download-artifact@v4
207
+ with:
208
+ name: html_output
209
+ path: docs/build/html
210
+ - name: Publish HTML
211
+ uses: rossjrw/pr-preview-action@v1
212
+ with:
213
+ source-dir: docs/build/html
214
+ umbrella-dir: pr-preview
215
+
216
+ # Builds and publishes production docs.
217
+ #
218
+ # Only runs on tag pushes.
219
+ publish_docs:
220
+ name: Publish docs to GitHub Pages
221
+ needs:
222
+ - build_docs
223
+ if: ${{ github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') && !contains(github.event.ref, '.dev') }}
224
+ concurrency:
225
+ group: publish-docs-${{ github.ref }}
226
+ cancel-in-progress: true
227
+ permissions: write-all
228
+ runs-on: ubuntu-latest
229
+ steps:
230
+ - name: Checkout
231
+ uses: actions/checkout@v4
232
+ - name: Download artifact
233
+ uses: actions/download-artifact@v4
234
+ with:
235
+ name: html_output
236
+ path: docs/build/html
237
+ - name: Publish HTML
238
+ uses: JamesIves/github-pages-deploy-action@v4
239
+ with:
240
+ folder: docs/build/html
241
+ target-folder: .
242
+ clean-exclude: pr-preview
243
+ single-commit: false
@@ -0,0 +1,136 @@
1
+ @staticmethod# Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ pip-wheel-metadata/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ target/
76
+
77
+ # Jupyter Notebook
78
+ .ipynb_checkpoints
79
+
80
+ # IPython
81
+ profile_default/
82
+ ipython_config.py
83
+
84
+ # pyenv
85
+ .python-version
86
+
87
+ # pipenv
88
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
90
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
91
+ # install all needed dependencies.
92
+ #Pipfile.lock
93
+
94
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
95
+ __pypackages__/
96
+
97
+ # Celery stuff
98
+ celerybeat-schedule
99
+ celerybeat.pid
100
+
101
+ # SageMath parsed files
102
+ *.sage.py
103
+
104
+ # Environments
105
+ .env
106
+ .venv
107
+ env/
108
+ venv/
109
+ ENV/
110
+ env.bak/
111
+ venv.bak/
112
+
113
+ # Spyder project settings
114
+ .spyderproject
115
+ .spyproject
116
+
117
+ # Rope project settings
118
+ .ropeproject
119
+
120
+ # mkdocs documentation
121
+ /site
122
+
123
+ # mypy
124
+ .mypy_cache/
125
+ .dmypy.json
126
+ dmypy.json
127
+
128
+ # Pyre type checker
129
+ .pyre/
130
+
131
+ # Project-specific
132
+ _version.py
133
+
134
+ # IDEs
135
+ .idea/
136
+ .vscode/
@@ -0,0 +1,38 @@
1
+ repos:
2
+ - repo: local
3
+ hooks:
4
+ - id: black
5
+ name: black
6
+ language: system
7
+ entry: black
8
+ types: [python]
9
+ files: ^(?!docs)
10
+ require_serial: true
11
+ - id: isort
12
+ name: isort
13
+ language: system
14
+ entry: isort
15
+ types: [python]
16
+ files: ^(?!docs)
17
+ require_serial: true
18
+ - repo: https://github.com/pre-commit/pre-commit-hooks
19
+ rev: v4.6.0
20
+ hooks:
21
+ - id: trailing-whitespace
22
+ require_serial: true
23
+ - id: end-of-file-fixer
24
+ require_serial: true
25
+ - id: fix-byte-order-marker
26
+ require_serial: true
27
+ - id: mixed-line-ending
28
+ args: [--fix=lf]
29
+ require_serial: true
30
+ - id: check-added-large-files
31
+ - id: check-yaml
32
+ - id: check-toml
33
+ - id: check-json
34
+ - id: check-merge-conflict
35
+ - id: check-shebang-scripts-are-executable
36
+ - id: check-symlinks
37
+ - id: destroyed-symlinks
38
+ - id: check-vcs-permalinks
@@ -0,0 +1,3 @@
1
+ {
2
+ "jira-plugin.workingProject": ""
3
+ }
@@ -0,0 +1,50 @@
1
+ # Contributing to Sphinx-LuaLs
2
+
3
+ ## Set up your environment
4
+
5
+ 1. Check out the repo:
6
+
7
+ ```shell
8
+ git clone git@github.com:taminomara/sphinx-lua-ls.git
9
+ ```
10
+
11
+ 2. Create a virtual environment with python `3.12` or newer.
12
+
13
+ 3. Install Sphinx-LuaLs in development mode, and install dev dependencies:
14
+
15
+ ```shell
16
+ pip install -e .[dev]
17
+ ```
18
+
19
+ 4. Install pre-commit hooks:
20
+
21
+ ```shell
22
+ pre-commit install
23
+ ```
24
+
25
+ ## Run tests
26
+
27
+ To run tests, simply run `pytest` and `pyright`:
28
+
29
+ ```shell
30
+ pytest # Run unit tests.
31
+ pyright # Run type check.
32
+ ```
33
+
34
+ To fix code style, you can manually run pre-commit hooks:
35
+
36
+ ```shell
37
+ pre-commit run -a # Fix code style.
38
+ ```
39
+
40
+
41
+ ## Build docs
42
+
43
+ Just run `sphinx` as usual, nothing special is required:
44
+
45
+ ```shell
46
+ cd docs/
47
+ make html
48
+ ```
49
+
50
+ Sphinx-LuaLs will download the latest version of Lua Language Server for you.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2018 Tamika Nomara
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,92 @@
1
+ Metadata-Version: 2.2
2
+ Name: sphinx-lua-ls
3
+ Version: 0.0.4
4
+ Summary: Automatic documentation generation via LuaLS
5
+ Author-email: Tamika Nomara <taminomara@gmail.com>
6
+ License: MIT License
7
+
8
+ Copyright (c) 2018 Tamika Nomara
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: Documentation, https://taminomara.github.io/sphinx-lua-ls/
29
+ Project-URL: Issues, https://github.com/taminomara/sphinx-lua-ls/issues
30
+ Project-URL: Source, https://github.com/taminomara/sphinx-lua-ls/
31
+ Classifier: Development Status :: 5 - Production/Stable
32
+ Classifier: Programming Language :: Python :: 3 :: Only
33
+ Classifier: Programming Language :: Python :: 3
34
+ Classifier: Programming Language :: Python :: 3.12
35
+ Classifier: Programming Language :: Python :: 3.13
36
+ Classifier: License :: OSI Approved :: MIT License
37
+ Classifier: Intended Audience :: Developers
38
+ Classifier: Framework :: Sphinx
39
+ Classifier: Framework :: Sphinx :: Domain
40
+ Classifier: Framework :: Sphinx :: Extension
41
+ Classifier: Topic :: Software Development :: Documentation
42
+ Classifier: Topic :: Documentation
43
+ Classifier: Topic :: Documentation :: Sphinx
44
+ Classifier: Typing :: Typed
45
+ Requires-Python: >=3.12
46
+ Description-Content-Type: text/markdown
47
+ License-File: LICENSE
48
+ Requires-Dist: sphinx>=8.0
49
+ Requires-Dist: PyGithub~=1.59
50
+ Requires-Dist: requests~=2.31
51
+ Provides-Extra: dev
52
+ Requires-Dist: pytest-cov~=6.0.0; extra == "dev"
53
+ Requires-Dist: sphinx-lua-ls[doc,lint,test]; extra == "dev"
54
+ Provides-Extra: lint
55
+ Requires-Dist: black~=23.7; extra == "lint"
56
+ Requires-Dist: isort~=5.12; extra == "lint"
57
+ Requires-Dist: pre-commit~=3.8.0; extra == "lint"
58
+ Provides-Extra: test
59
+ Requires-Dist: pyright~=1.1; extra == "test"
60
+ Requires-Dist: pytest~=7.4; extra == "test"
61
+ Requires-Dist: sybil~=6.1; extra == "test"
62
+ Requires-Dist: pytest-regressions~=2.7; extra == "test"
63
+ Requires-Dist: beautifulsoup4~=4.13; extra == "test"
64
+ Provides-Extra: doc
65
+ Requires-Dist: sybil~=6.1; extra == "doc"
66
+ Requires-Dist: pydata-sphinx-theme>=0.15; extra == "doc"
67
+ Requires-Dist: sphinx_design>=0.6; extra == "doc"
68
+
69
+ # Sphinx plugin for Lua and Lua Language Server
70
+
71
+ Document Lua projects using Lua Language Server's output. This plugin features:
72
+
73
+ - new domain for Lua language,
74
+ - directives to automatically generate documentation based on source code.
75
+
76
+ ## Resources
77
+
78
+ - [Documentation](https://taminomara.github.io/sphinx-lua-ls/)
79
+ - [Installation](https://taminomara.github.io/sphinx-lua-ls/#installation)
80
+ - [Quickstart](https://taminomara.github.io/sphinx-lua-ls/#quickstart)
81
+ - [Example output](https://taminomara.github.io/sphinx-lua-ls/#example-output)
82
+
83
+ ## Requirements
84
+
85
+ - python >= 3.12
86
+ - sphinx >= 8.0
87
+
88
+ ## Installation
89
+
90
+ ```sh
91
+ pip install sphinx-lua-ls
92
+ ```
@@ -0,0 +1,24 @@
1
+ # Sphinx plugin for Lua and Lua Language Server
2
+
3
+ Document Lua projects using Lua Language Server's output. This plugin features:
4
+
5
+ - new domain for Lua language,
6
+ - directives to automatically generate documentation based on source code.
7
+
8
+ ## Resources
9
+
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)
14
+
15
+ ## Requirements
16
+
17
+ - python >= 3.12
18
+ - sphinx >= 8.0
19
+
20
+ ## Installation
21
+
22
+ ```sh
23
+ pip install sphinx-lua-ls
24
+ ```
@@ -0,0 +1,17 @@
1
+ import sys
2
+
3
+ from sybil import Sybil
4
+ from sybil.parsers.codeblock import PythonCodeBlockParser
5
+ from sybil.parsers.doctest import DocTestParser
6
+ from sybil.parsers.rest import SkipParser
7
+
8
+ if sys.version_info >= (3, 10):
9
+ # Examples use the new typing syntax.
10
+ pytest_collect_file = Sybil(
11
+ parsers=[
12
+ DocTestParser(),
13
+ PythonCodeBlockParser(),
14
+ SkipParser(),
15
+ ],
16
+ patterns=["*.rst", "*.py"],
17
+ ).pytest()
@@ -0,0 +1,20 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line, and also
5
+ # from the environment for the first two.
6
+ SPHINXOPTS ?=
7
+ SPHINXBUILD ?= sphinx-build
8
+ SOURCEDIR = source
9
+ BUILDDIR = build
10
+
11
+ # Put it first so that "make" without argument is like "make help".
12
+ help:
13
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
+
15
+ .PHONY: help Makefile
16
+
17
+ # Catch-all target: route all unknown targets to Sphinx using the new
18
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19
+ %: Makefile
20
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)