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.
- sphinx_lua_ls-0.0.4/.github/workflows/ci.yaml +243 -0
- sphinx_lua_ls-0.0.4/.gitignore +136 -0
- sphinx_lua_ls-0.0.4/.pre-commit-config.yaml +38 -0
- sphinx_lua_ls-0.0.4/.vscode/settings.json +3 -0
- sphinx_lua_ls-0.0.4/CONTRIBUTING.md +50 -0
- sphinx_lua_ls-0.0.4/LICENSE +21 -0
- sphinx_lua_ls-0.0.4/PKG-INFO +92 -0
- sphinx_lua_ls-0.0.4/README.md +24 -0
- sphinx_lua_ls-0.0.4/conftest.py +17 -0
- sphinx_lua_ls-0.0.4/docs/Makefile +20 -0
- sphinx_lua_ls-0.0.4/docs/example/logging.lua +75 -0
- sphinx_lua_ls-0.0.4/docs/make.bat +35 -0
- sphinx_lua_ls-0.0.4/docs/source/_extra/robots.txt +3 -0
- sphinx_lua_ls-0.0.4/docs/source/conf.py +48 -0
- sphinx_lua_ls-0.0.4/docs/source/index.rst +642 -0
- sphinx_lua_ls-0.0.4/pyproject.toml +97 -0
- sphinx_lua_ls-0.0.4/setup.cfg +4 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls/__init__.py +166 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls/_version.py +21 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls/autodoc.py +632 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls/doctree.py +477 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls/domain.py +1156 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls/intersphinx.py +204 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls/lua_ls.py +694 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls/py.typed +0 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls.egg-info/PKG-INFO +92 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls.egg-info/SOURCES.txt +85 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls.egg-info/dependency_links.txt +1 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls.egg-info/requires.txt +24 -0
- sphinx_lua_ls-0.0.4/sphinx_lua_ls.egg-info/top_level.txt +1 -0
- sphinx_lua_ls-0.0.4/test/conftest.py +18 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/Makefile +20 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/environment.pickle +0 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/index.doctree +0 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/src/annotations.doctree +0 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/src/autodoc.doctree +0 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/src/directives.doctree +0 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/src/modules.doctree +0 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/doctrees/src/refs.doctree +0 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/.buildinfo +4 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/index.rst.txt +12 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/src/annotations.rst.txt +16 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/src/autodoc.rst.txt +7 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/src/directives.rst.txt +132 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/src/modules.rst.txt +22 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_sources/src/refs.rst.txt +68 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/alabaster.css +663 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/basic.css +906 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/custom.css +1 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/doctools.js +149 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/documentation_options.js +13 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/file.png +0 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/github-banner.svg +5 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/language_data.js +191 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/minus.png +0 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/plus.png +0 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/pygments.css +84 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/searchtools.js +635 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/_static/sphinx_highlight.js +154 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/genindex.html +356 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/index.html +127 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/lua-modindex.html +148 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/objects.inv +0 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/py-modindex.html +125 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/search.html +125 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/searchindex.js +1 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/src/annotations.html +123 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/src/autodoc.html +228 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/src/directives.html +333 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/src/modules.html +142 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/_build/html/src/refs.html +190 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/conf.py +5 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/index.rst +12 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/make.bat +35 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/mod.lua +77 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/src/annotations.rst +16 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/src/autodoc.rst +7 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/src/directives.rst +132 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/src/modules.rst +22 -0
- sphinx_lua_ls-0.0.4/test/roots/test-doc/src/refs.rst +68 -0
- sphinx_lua_ls-0.0.4/test/test_parse.py +97 -0
- sphinx_lua_ls-0.0.4/test/test_regression/annotations.html +106 -0
- sphinx_lua_ls-0.0.4/test/test_regression/autodoc.html +850 -0
- sphinx_lua_ls-0.0.4/test/test_regression/directives.html +1519 -0
- sphinx_lua_ls-0.0.4/test/test_regression/modules.html +111 -0
- sphinx_lua_ls-0.0.4/test/test_regression/refs.html +503 -0
- 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,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)
|