# tree-sitter-epics-msi-substitution
[![CI][ci]](https://github.com/minijackson/tree-sitter-epics-msi-substitution/actions/workflows/ci.yml)
[![discord][discord]](https://discord.gg/w7nTvsVJhm)
[![matrix][matrix]](https://matrix.to/#/#tree-sitter-chat:matrix.org)
[![npm][npm]](https://www.npmjs.com/package/tree-sitter-epics-msi-substitution)
[![crates][crates]](https://crates.io/crates/tree-sitter-epics-msi-substitution)
[![pypi][pypi]](https://pypi.org/project/tree-sitter-epics-msi-substitution/)
Tree-sitter grammar for EPICS' .substitutions files
## References
- [EPICS' MSI documentation](https://docs.epics-controls.org/projects/base/en/latest/msi.html)
- [EPICS' implementation in `dbLoadTemplate_lex.l`](https://github.com/epics-base/epics-base/blob/7.0/modules/database/src/ioc/dbtemplate/dbLoadTemplate_lex.l)
- [EPICS' implementation in `dbLoadTemplate.y`](https://github.com/epics-base/epics-base/blob/7.0/modules/database/src/ioc/dbtemplate/dbLoadTemplate.y)
[ci]: https://img.shields.io/github/actions/workflow/status/minijackson/tree-sitter-epics-msi-substitution/ci.yml?logo=github&label=CI
[discord]: https://img.shields.io/discord/1063097320771698699?logo=discord&label=discord
[matrix]: https://img.shields.io/matrix/tree-sitter-chat%3Amatrix.org?logo=matrix&label=matrix
[npm]: https://img.shields.io/npm/v/tree-sitter-epics-msi-substitution?logo=npm
[crates]: https://img.shields.io/crates/v/tree-sitter-epics-msi-substitution?logo=rust
[pypi]: https://img.shields.io/pypi/v/tree-sitter-epics-msi-substitution?logo=pypi&logoColor=ffd242
Raw data
{
"_id": null,
"home_page": null,
"name": "tree-sitter-epics-msi-substitution",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "incremental, parsing, tree-sitter, epics",
"author": null,
"author_email": "R\u00e9mi NICOLE <remi.nicole@cea.fr>",
"download_url": "https://files.pythonhosted.org/packages/fc/8e/9eaf67ed83159edb322158443347ba3ce4e2f1e84feddb5f7e03e77767dc/tree_sitter_epics_msi_substitution-0.2.0.tar.gz",
"platform": null,
"description": "# tree-sitter-epics-msi-substitution\n\n[![CI][ci]](https://github.com/minijackson/tree-sitter-epics-msi-substitution/actions/workflows/ci.yml)\n[![discord][discord]](https://discord.gg/w7nTvsVJhm)\n[![matrix][matrix]](https://matrix.to/#/#tree-sitter-chat:matrix.org)\n[![npm][npm]](https://www.npmjs.com/package/tree-sitter-epics-msi-substitution)\n[![crates][crates]](https://crates.io/crates/tree-sitter-epics-msi-substitution)\n[![pypi][pypi]](https://pypi.org/project/tree-sitter-epics-msi-substitution/)\n\nTree-sitter grammar for EPICS' .substitutions files\n\n## References\n\n- [EPICS' MSI documentation](https://docs.epics-controls.org/projects/base/en/latest/msi.html)\n- [EPICS' implementation in `dbLoadTemplate_lex.l`](https://github.com/epics-base/epics-base/blob/7.0/modules/database/src/ioc/dbtemplate/dbLoadTemplate_lex.l)\n- [EPICS' implementation in `dbLoadTemplate.y`](https://github.com/epics-base/epics-base/blob/7.0/modules/database/src/ioc/dbtemplate/dbLoadTemplate.y)\n\n[ci]: https://img.shields.io/github/actions/workflow/status/minijackson/tree-sitter-epics-msi-substitution/ci.yml?logo=github&label=CI\n[discord]: https://img.shields.io/discord/1063097320771698699?logo=discord&label=discord\n[matrix]: https://img.shields.io/matrix/tree-sitter-chat%3Amatrix.org?logo=matrix&label=matrix\n[npm]: https://img.shields.io/npm/v/tree-sitter-epics-msi-substitution?logo=npm\n[crates]: https://img.shields.io/crates/v/tree-sitter-epics-msi-substitution?logo=rust\n[pypi]: https://img.shields.io/pypi/v/tree-sitter-epics-msi-substitution?logo=pypi&logoColor=ffd242\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "tree-sitter grammar for EPICS' .substitutions files",
"version": "0.2.0",
"project_urls": {
"Homepage": "https://github.com/minijackson/tree-sitter-epics-msi-substitution"
},
"split_keywords": [
"incremental",
" parsing",
" tree-sitter",
" epics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4b61ca5f4e2577dd3745bad431896dba4438048b25baf7fb100828ca160ae39e",
"md5": "13d48b165dcade5eeafb60b9640d91da",
"sha256": "b74ca4dd158f8451b1eccfef71f31cfe70c36ff4b18300777d5b2bc8677ffd3d"
},
"downloads": -1,
"filename": "tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "13d48b165dcade5eeafb60b9640d91da",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 12223,
"upload_time": "2025-09-03T08:26:58",
"upload_time_iso_8601": "2025-09-03T08:26:58.889808Z",
"url": "https://files.pythonhosted.org/packages/4b/61/ca5f4e2577dd3745bad431896dba4438048b25baf7fb100828ca160ae39e/tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "03b27cddef66b310fb8a47b1518b3a20a988725fea8e50291852619ab0b4f326",
"md5": "e7e8346ec4a9b7bbd4f5adf0ee6e80d1",
"sha256": "f67c3333f635fe4c6d63e381b7a3c5fed4a5227d6fdd52686ab15914f5e7e7ad"
},
"downloads": -1,
"filename": "tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "e7e8346ec4a9b7bbd4f5adf0ee6e80d1",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 12650,
"upload_time": "2025-09-03T08:26:59",
"upload_time_iso_8601": "2025-09-03T08:26:59.789478Z",
"url": "https://files.pythonhosted.org/packages/03/b2/7cddef66b310fb8a47b1518b3a20a988725fea8e50291852619ab0b4f326/tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d435715e1680aa0ffd380449ddd9382d25e8418a277a13d4088fc6b4ec8ad0cc",
"md5": "ae06319db2e57505ce373ec88192c9ee",
"sha256": "555767e8a770324575455dc1a749cfe7aa468d45cfabdb0a9a59f2b1fea73f35"
},
"downloads": -1,
"filename": "tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"has_sig": false,
"md5_digest": "ae06319db2e57505ce373ec88192c9ee",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 20902,
"upload_time": "2025-09-03T08:27:00",
"upload_time_iso_8601": "2025-09-03T08:27:00.393660Z",
"url": "https://files.pythonhosted.org/packages/d4/35/715e1680aa0ffd380449ddd9382d25e8418a277a13d4088fc6b4ec8ad0cc/tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4387f4d3f38171ac9ea2f3d69b481dedc53f343ce4b037a3f1636e5505c6de17",
"md5": "ca1d7a33f1572a9bf82657623c108450",
"sha256": "61d19c5e149b91651183a2eea25e66e2cdc79e1184e5d3debf0496419d719724"
},
"downloads": -1,
"filename": "tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "ca1d7a33f1572a9bf82657623c108450",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 22482,
"upload_time": "2025-09-03T08:27:01",
"upload_time_iso_8601": "2025-09-03T08:27:01.427587Z",
"url": "https://files.pythonhosted.org/packages/43/87/f4d3f38171ac9ea2f3d69b481dedc53f343ce4b037a3f1636e5505c6de17/tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0a591118bbe3df103b0d86a8dfe2f77d676a7f7262de834161252549bf0007d8",
"md5": "0482971169edb58aba2fe6c097142ed6",
"sha256": "382a51c023f6d35d01025d8af716c1ffc17de701dd0ceb822cf9c8da96e63331"
},
"downloads": -1,
"filename": "tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "0482971169edb58aba2fe6c097142ed6",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 21716,
"upload_time": "2025-09-03T08:27:02",
"upload_time_iso_8601": "2025-09-03T08:27:02.412119Z",
"url": "https://files.pythonhosted.org/packages/0a/59/1118bbe3df103b0d86a8dfe2f77d676a7f7262de834161252549bf0007d8/tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4d139f951ffabb8d36e59e991d87f4546de4af97e62b61a2a6f3087d4b3eaf85",
"md5": "2441687515be88ca814396baab10211e",
"sha256": "d5bea139ea81f8286d820556b2b9b1321bba2eb507b394e9b8eb612dd248c99e"
},
"downloads": -1,
"filename": "tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "2441687515be88ca814396baab10211e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 20824,
"upload_time": "2025-09-03T08:27:03",
"upload_time_iso_8601": "2025-09-03T08:27:03.406323Z",
"url": "https://files.pythonhosted.org/packages/4d/13/9f951ffabb8d36e59e991d87f4546de4af97e62b61a2a6f3087d4b3eaf85/tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a23532afac8b8dd435c0550abca5d2f56d60b8dff8c2aff55dd0cf3b1cb6e5f2",
"md5": "954b04170ae94f84e59616d2f4f82d0b",
"sha256": "a66dd54d2e29aa70f06eb68e342847e940c8ed73c77e6a630ba079e846770393"
},
"downloads": -1,
"filename": "tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-win_amd64.whl",
"has_sig": false,
"md5_digest": "954b04170ae94f84e59616d2f4f82d0b",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 14694,
"upload_time": "2025-09-03T08:27:04",
"upload_time_iso_8601": "2025-09-03T08:27:04.102715Z",
"url": "https://files.pythonhosted.org/packages/a2/35/32afac8b8dd435c0550abca5d2f56d60b8dff8c2aff55dd0cf3b1cb6e5f2/tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "af8992672fcc83119d4ef5682458d819d89473e5f98b50b6c50f43ebf0432b6d",
"md5": "75512bd70436c0ea62604fc705cd62a5",
"sha256": "140cbae53a90ed050143377235ed8e671b69736859e3bbb2dc8a62a95088d00f"
},
"downloads": -1,
"filename": "tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-win_arm64.whl",
"has_sig": false,
"md5_digest": "75512bd70436c0ea62604fc705cd62a5",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 13593,
"upload_time": "2025-09-03T08:27:05",
"upload_time_iso_8601": "2025-09-03T08:27:05.046355Z",
"url": "https://files.pythonhosted.org/packages/af/89/92672fcc83119d4ef5682458d819d89473e5f98b50b6c50f43ebf0432b6d/tree_sitter_epics_msi_substitution-0.2.0-cp310-abi3-win_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fc8e9eaf67ed83159edb322158443347ba3ce4e2f1e84feddb5f7e03e77767dc",
"md5": "33bd858612e4fd527c9678f7c8cf3618",
"sha256": "cfd38e030c396cb9d565d5c833ac5231d69116764082a578035aff4461d0a935"
},
"downloads": -1,
"filename": "tree_sitter_epics_msi_substitution-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "33bd858612e4fd527c9678f7c8cf3618",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 17810,
"upload_time": "2025-09-03T08:27:05",
"upload_time_iso_8601": "2025-09-03T08:27:05.688578Z",
"url": "https://files.pythonhosted.org/packages/fc/8e/9eaf67ed83159edb322158443347ba3ce4e2f1e84feddb5f7e03e77767dc/tree_sitter_epics_msi_substitution-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-03 08:27:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "minijackson",
"github_project": "tree-sitter-epics-msi-substitution",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tree-sitter-epics-msi-substitution"
}