Sphinx extension to handle Visual Basic Domain.
Project description
sphinx-vb-domain
Overview
Sphinx extension to handle Visual Basic function directive, and also create the directives from document comments in VB source code.
This project is really experimental. Only features below are working but without any assurance.
Installation
pip
pip install sphinx-vb-domain
rye
rye add --dev sphinx-vb-domain
Usage
conf.py
Add it to extensions.
# conf.py
extensions = [
'sphinx_vb_domain',
]
Function directive
For example.
.. vb:function:: Private Function getId(ByVal name As String, ByVal age As Integer) As Integer
:module: Module1
A simple private function.
:param name: Name
:type name: String
:param age: Age
:type age: Integer
:returns: Id
:rtype: Integer
Remarks here.
Autodoc
To creade document from VB document comments, following config is needed.
# conf.py
vb_autodoc_paths = [
('vb-src-dir', 'page-path', 'page-title'),
]
vb-src-dir- Path to directory contains VB source, relative from conf.py (e.g. '../../macros').
page-path- Path to reST file tobe created, relative from Sphinx source directory (e.g. 'modules' will create 'modules.rst').
page-title- Title (level-1 headline) added to e.g. modules.rst.
Then, run sphinx-build with -D vb_autodoc=1 parameter.
In file at page-path (e.g. 'modules.rst'), Module (level-2 headline) is created per vb file in vb-src-dir, and function directives under the Modules.
Cross-references
When function directives are rendered, they come with a headline so that the directives appear in toctree.
Also, the headline will be a cross-reference target.
reStructuredText
* :vb:function:`module_name.function_name`
* :any:`module_name.function_name`
* :any:`Link text <module_name.function_name>`
MyST
- {vb:function}`module_name.function_name`
- <project:#module_name.function_name>
- [Link text](#module_name.function_name)
[!NOTE]
module_nameandfunction_nameare encoded if they contain characters invalid as target name.
Known issues
- Function directive always rendered in Japanese like follows.
Private Function getId(ByVal name As String, ByVal age As Integer) As Integer A simple private function. パラメータ: ・name (String) -- Name ・age (Integer) -- Age 戻り値: Id 戻り値の型: Integer Remarks here.- You can change
doc_field_typesdefinition ofVBFunctionclass.
- You can change
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sphinx_vb_domain-0.3.2.tar.gz.
File metadata
- Download URL: sphinx_vb_domain-0.3.2.tar.gz
- Upload date:
- Size: 816.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
030333faf596cd64cd1c40930cea2f1dfd5286db3f4dd64744a5963a9aec913a
|
|
| MD5 |
499608b65c3f54225b842c4cef5db168
|
|
| BLAKE2b-256 |
7bbff9b4bf0b82651f218df1317236a814fcfd84e3489171a96a28b350bf9d31
|
File details
Details for the file sphinx_vb_domain-0.3.2-py3-none-any.whl.
File metadata
- Download URL: sphinx_vb_domain-0.3.2-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b344253272baa74fda8c1f41487cb6ddbf0a1ba323663455cc6ccff036a93134
|
|
| MD5 |
cc43be915fdf07e07969d52f0afbd35a
|
|
| BLAKE2b-256 |
4d01da113ba1b13a4cbe33114c7a13b649f02959a01e2f82d0221965ad401a63
|