{"id":23653370,"url":"https://github.com/alaviss/tree-sitter-nim","last_synced_at":"2025-09-12T02:43:23.447Z","repository":{"id":58098745,"uuid":"528672586","full_name":"alaviss/tree-sitter-nim","owner":"alaviss","description":"tree-sitter grammar for Nim","archived":false,"fork":false,"pushed_at":"2025-08-19T08:55:03.000Z","size":107998,"stargazers_count":54,"open_issues_count":7,"forks_count":5,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-09-01T04:55:19.061Z","etag":null,"topics":["nim","parser","tree-sitter","treesitter"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alaviss.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"alaviss"}},"created_at":"2022-08-25T02:55:31.000Z","updated_at":"2025-08-23T18:02:55.000Z","dependencies_parsed_at":"2023-01-30T05:16:09.110Z","dependency_job_id":"a0aa7d02-ef72-4bc4-bb4f-0372ed48ee2f","html_url":"https://github.com/alaviss/tree-sitter-nim","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/alaviss/tree-sitter-nim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alaviss%2Ftree-sitter-nim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alaviss%2Ftree-sitter-nim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alaviss%2Ftree-sitter-nim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alaviss%2Ftree-sitter-nim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alaviss","download_url":"https://codeload.github.com/alaviss/tree-sitter-nim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alaviss%2Ftree-sitter-nim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274744062,"owners_count":25341136,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nim","parser","tree-sitter","treesitter"],"created_at":"2024-12-28T17:53:29.937Z","updated_at":"2025-09-12T02:43:23.407Z","avatar_url":"https://github.com/alaviss.png","language":"JavaScript","funding_links":["https://github.com/sponsors/alaviss"],"categories":[],"sub_categories":[],"readme":"\u003c!--\nSPDX-FileCopyrightText: None\n\nSPDX-License-Identifier: CC0-1.0\n--\u003e\n\n# Tree sitter grammar for Nim\n\nA [tree-sitter] grammar for [Nim].\n\nThe goal is to parse a superset of Nim and create a syntax tree that can be\neasily ingested by tools.\n\n## Notes\n\nGenerating this parser take around 7GiB of memory. Any help in reducing\nthe parser size is appreciated.\n\n## Progress\n\nRight now the parser is capable of parsing all of Nim, with exceptions for old\nand mostly unused/dead syntax, including:\n\n- Package-level objects (ie. `type X.Y = ref Z`)\n\n- Variable declaration with dots for \"partial\" objects (ie. `let x.y = z`).\n\n- Covariance in generics for imported types (ie. `type X[out T] = Z`).\n\nThese were omitted due as they are a product of old language experiments that\nnever caught on, and omitting them allows for simpler and more compact parser,\nbut support might be added on request.\n\nThe parser correctness has not been thoroughly tested.\n\n## Stability\n\nNode names and structures are not expected to change between releases.\n\n## License\n\nThe project is licensed under the [Mozilla Public License version 2.0][MPL]\n\n[tree-sitter]: https://github.com/tree-sitter/tree-sitter\n[Nim]: https://github.com/nim-lang/Nim\n[MPL]: https://www.mozilla.org/en-US/MPL/2.0/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falaviss%2Ftree-sitter-nim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falaviss%2Ftree-sitter-nim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falaviss%2Ftree-sitter-nim/lists"}