tree-sitter-cfengine


Nametree-sitter-cfengine JSON
Version 1.0.8 PyPI version JSON
download
home_pageNone
SummaryCFEngine grammar for tree-sitter
upload_time2024-10-20 20:02:44
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords incremental parsing tree-sitter cfengine
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Tree sitter grammar for CFEngine policy language

This tree-sitter grammar parses CFEngine policy language and turns it into an abstract syntax tree.
It is used to provide syntax highlighting in the Zed editor, via this extension:

https://github.com/olehermanse/zed-cfengine

The grammar currently supports all major features of the language, including:

- Bundle blocks
- Body blocks
- Promise type definition blocks
- Promise types, class guards, promises, stakeholders (promisees)
- Macros
- Function calls
- Lists, strings, expansions (with `$()` and `@()`)

## Todos

- Using the grammar for linting / syntax checking (language server)
- Highlighting inside strings and comments
- Recognizing when there is JSON inside policy
- Class guards which are quoted strings
- Using the grammar for code indentation
- Using the grammar for extensions to other editors

Before contributing for the first time, it's recommended to go through the tree-sitter tutorial for getting familiar with how everything works:

https://tree-sitter.github.io/tree-sitter/creating-parsers

Inspired by Lars Erik Wik's initial implementation available here:

https://github.com/larsewi/tree-sitter-cfengine


## Run containerized tests locally:

```
docker build --tag tree-sitter-cfengine .
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tree-sitter-cfengine",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "incremental, parsing, tree-sitter, cfengine",
    "author": null,
    "author_email": "Ole Herman Schumacher Elgesem <oleherman93@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/4c/35/4b56377fe5dfd6b2010582134aa5049e1d7d6289eccb000b52fee59772a6/tree_sitter_cfengine-1.0.8.tar.gz",
    "platform": null,
    "description": "# Tree sitter grammar for CFEngine policy language\n\nThis tree-sitter grammar parses CFEngine policy language and turns it into an abstract syntax tree.\nIt is used to provide syntax highlighting in the Zed editor, via this extension:\n\nhttps://github.com/olehermanse/zed-cfengine\n\nThe grammar currently supports all major features of the language, including:\n\n- Bundle blocks\n- Body blocks\n- Promise type definition blocks\n- Promise types, class guards, promises, stakeholders (promisees)\n- Macros\n- Function calls\n- Lists, strings, expansions (with `$()` and `@()`)\n\n## Todos\n\n- Using the grammar for linting / syntax checking (language server)\n- Highlighting inside strings and comments\n- Recognizing when there is JSON inside policy\n- Class guards which are quoted strings\n- Using the grammar for code indentation\n- Using the grammar for extensions to other editors\n\nBefore contributing for the first time, it's recommended to go through the tree-sitter tutorial for getting familiar with how everything works:\n\nhttps://tree-sitter.github.io/tree-sitter/creating-parsers\n\nInspired by Lars Erik Wik's initial implementation available here:\n\nhttps://github.com/larsewi/tree-sitter-cfengine\n\n\n## Run containerized tests locally:\n\n```\ndocker build --tag tree-sitter-cfengine .\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "CFEngine grammar for tree-sitter",
    "version": "1.0.8",
    "project_urls": {
        "Homepage": "https://github.com/olehermanse/tree-sitter-cfengine"
    },
    "split_keywords": [
        "incremental",
        " parsing",
        " tree-sitter",
        " cfengine"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bfeebb3c884b725d6b82e1439d101e26ab7c7e4f1ce0d685e49040648b50d1d3",
                "md5": "5f9d9b30774699c8d4d82814e414e794",
                "sha256": "3b47a91e449d0dd48212081297a7689c3a99352f15bf9a2aa7719d52ded45af9"
            },
            "downloads": -1,
            "filename": "tree_sitter_cfengine-1.0.8-cp39-abi3-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5f9d9b30774699c8d4d82814e414e794",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 11303,
            "upload_time": "2024-10-20T20:02:35",
            "upload_time_iso_8601": "2024-10-20T20:02:35.556048Z",
            "url": "https://files.pythonhosted.org/packages/bf/ee/bb3c884b725d6b82e1439d101e26ab7c7e4f1ce0d685e49040648b50d1d3/tree_sitter_cfengine-1.0.8-cp39-abi3-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e4ef1ffdb82fe3ce751169ad821d4045bfc2a6b425c0acd3c74171a7624519f",
                "md5": "0c09652f91bdbf50eedaa869432da98d",
                "sha256": "647218fc741b2e4407f35e01d5c08891f7f61b48a6733480ab04cafda940b220"
            },
            "downloads": -1,
            "filename": "tree_sitter_cfengine-1.0.8-cp39-abi3-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "0c09652f91bdbf50eedaa869432da98d",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 11828,
            "upload_time": "2024-10-20T20:02:37",
            "upload_time_iso_8601": "2024-10-20T20:02:37.064580Z",
            "url": "https://files.pythonhosted.org/packages/4e/4e/f1ffdb82fe3ce751169ad821d4045bfc2a6b425c0acd3c74171a7624519f/tree_sitter_cfengine-1.0.8-cp39-abi3-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96872df7e8428fbde56cd944b923240ab733488704cb6056d8208c55c9baaa2b",
                "md5": "a0fa5ad35c59d06f245d5d9e3ce7768a",
                "sha256": "9782b7d51f977ab38e8f9dc2dbc43ecc19a787bbe87b08dbe43b984f16b99393"
            },
            "downloads": -1,
            "filename": "tree_sitter_cfengine-1.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "a0fa5ad35c59d06f245d5d9e3ce7768a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 23703,
            "upload_time": "2024-10-20T20:02:38",
            "upload_time_iso_8601": "2024-10-20T20:02:38.185708Z",
            "url": "https://files.pythonhosted.org/packages/96/87/2df7e8428fbde56cd944b923240ab733488704cb6056d8208c55c9baaa2b/tree_sitter_cfengine-1.0.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "478f9cb8f9eaa3601f4f8bc53ce28174465a9b4c5e26613955f2989d67d4e482",
                "md5": "0ad26f1b28e7f920deec6d99a9aeef50",
                "sha256": "d501a9b7371af68e1b39284d9a26a1518201b63e6661a5a80b8bcc79a4363892"
            },
            "downloads": -1,
            "filename": "tree_sitter_cfengine-1.0.8-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0ad26f1b28e7f920deec6d99a9aeef50",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 23312,
            "upload_time": "2024-10-20T20:02:39",
            "upload_time_iso_8601": "2024-10-20T20:02:39.268754Z",
            "url": "https://files.pythonhosted.org/packages/47/8f/9cb8f9eaa3601f4f8bc53ce28174465a9b4c5e26613955f2989d67d4e482/tree_sitter_cfengine-1.0.8-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0da224cc97825d56e3cb9150aa97402567d30380862705a91525b804aceb4f6f",
                "md5": "d7fd565bba2ec91a2f44253f62da7385",
                "sha256": "c080e8621a8ff2991c3b8c2d05fcd03e57eb45ff9a7ed83a33382cdf097c95c7"
            },
            "downloads": -1,
            "filename": "tree_sitter_cfengine-1.0.8-cp39-abi3-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d7fd565bba2ec91a2f44253f62da7385",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 21657,
            "upload_time": "2024-10-20T20:02:40",
            "upload_time_iso_8601": "2024-10-20T20:02:40.770251Z",
            "url": "https://files.pythonhosted.org/packages/0d/a2/24cc97825d56e3cb9150aa97402567d30380862705a91525b804aceb4f6f/tree_sitter_cfengine-1.0.8-cp39-abi3-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "116b12e514de3ccbf54ec33552ad0d93b2e0039df0e47ebd9c3c8f0b72af6512",
                "md5": "84db6b13d8ce32d5cef07407d01e3972",
                "sha256": "3bae17a9b2b6b5c01c606ed6b03b8685bf0e8f1d4dcc87c45c6a89fa0c37920b"
            },
            "downloads": -1,
            "filename": "tree_sitter_cfengine-1.0.8-cp39-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "84db6b13d8ce32d5cef07407d01e3972",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 14576,
            "upload_time": "2024-10-20T20:02:41",
            "upload_time_iso_8601": "2024-10-20T20:02:41.532593Z",
            "url": "https://files.pythonhosted.org/packages/11/6b/12e514de3ccbf54ec33552ad0d93b2e0039df0e47ebd9c3c8f0b72af6512/tree_sitter_cfengine-1.0.8-cp39-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "13e4b719be2c1f1ce48c0a781b242d9d509e92c0041e6e7e581d4fdff92a4456",
                "md5": "264172a78648934f6378ed5854ec049e",
                "sha256": "41e5ac40a767893d9dd09ddc4ef2886bd008d72376ad14060c11abe6270e80b9"
            },
            "downloads": -1,
            "filename": "tree_sitter_cfengine-1.0.8-cp39-abi3-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "264172a78648934f6378ed5854ec049e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 13165,
            "upload_time": "2024-10-20T20:02:43",
            "upload_time_iso_8601": "2024-10-20T20:02:43.002508Z",
            "url": "https://files.pythonhosted.org/packages/13/e4/b719be2c1f1ce48c0a781b242d9d509e92c0041e6e7e581d4fdff92a4456/tree_sitter_cfengine-1.0.8-cp39-abi3-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4c354b56377fe5dfd6b2010582134aa5049e1d7d6289eccb000b52fee59772a6",
                "md5": "b84ad415377de96f5315aaa74e9c1dfc",
                "sha256": "ced0f72aba70db975c4f6a92bd50dda3444ee17a83250bdfc14baa6480150ee4"
            },
            "downloads": -1,
            "filename": "tree_sitter_cfengine-1.0.8.tar.gz",
            "has_sig": false,
            "md5_digest": "b84ad415377de96f5315aaa74e9c1dfc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 14338,
            "upload_time": "2024-10-20T20:02:44",
            "upload_time_iso_8601": "2024-10-20T20:02:44.122820Z",
            "url": "https://files.pythonhosted.org/packages/4c/35/4b56377fe5dfd6b2010582134aa5049e1d7d6289eccb000b52fee59772a6/tree_sitter_cfengine-1.0.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-20 20:02:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "olehermanse",
    "github_project": "tree-sitter-cfengine",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "tree-sitter-cfengine"
}
        
Elapsed time: 0.89110s