{"id":16328307,"url":"https://github.com/c272/iro4cli","last_synced_at":"2025-07-14T08:30:57.775Z","repository":{"id":38103199,"uuid":"244356888","full_name":"c272/iro4cli","owner":"c272","description":"An open-source rewrite of Iro, a grammar generator, supporting automatic VSCode \u0026 Atom extension generation.","archived":false,"fork":false,"pushed_at":"2024-09-03T22:14:19.000Z","size":289,"stargazers_count":36,"open_issues_count":8,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T04:12:09.235Z","etag":null,"topics":["ace","atom","cli","csharp","css","grammar","iro","iro-grammars","pygments","rouge","textmate","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c272.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-03-02T11:43:14.000Z","updated_at":"2025-04-01T09:54:17.000Z","dependencies_parsed_at":"2024-11-22T22:02:16.507Z","dependency_job_id":null,"html_url":"https://github.com/c272/iro4cli","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/c272/iro4cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c272%2Firo4cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c272%2Firo4cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c272%2Firo4cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c272%2Firo4cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c272","download_url":"https://codeload.github.com/c272/iro4cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c272%2Firo4cli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265262588,"owners_count":23736422,"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","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":["ace","atom","cli","csharp","css","grammar","iro","iro-grammars","pygments","rouge","textmate","vscode","vscode-extension"],"created_at":"2024-10-10T23:14:15.241Z","updated_at":"2025-07-14T08:30:57.481Z","avatar_url":"https://github.com/c272.png","language":"C#","readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://github.com/c272/iro4cli/raw/master/logo.png\" width=200/\u003e\n\u003cbr\u003e\n\u003cimg src=\"https://img.shields.io/github/issues/c272/iro4cli\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/c272/iro4cli/dotnet.yml\"\u003e \u003cimg src=\"https://img.shields.io/badge/.NET-6-blue\"\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003c/div\u003e\n\nAn open-source, CLI based rewrite of Iro by Chris Ainsley, supporting automatic VSCode extension and Atom package generation. It's an easy to use command line tool, and will bundle up a provided Iro grammar and create various different grammar targets from it, **automagically** generating extensions to upload to the marketplace. Some of the available targets include:\n\n - Textmate\n - Atom\n - Ace\n - Pygments\n - Rouge\n - Sublime 3 (Textmate)\n - CSS\n\nTo create an Atom package and VSCode extension at the same time, you can use the following:\n```bash\niro grammarFile.iro --vscode --atomext\n```\nTo use the online **official** version of Iro, you can go to the [official website](http://eeyo.io/iro). For documentation on how to create Iro grammars, check the official documentation [here](http://eeyo.io/iro/documentation).\n\n## Getting Started\nTo get started using iro4cli, you can use one of the provided prebuilt binaries from the [Releases tab](https://github.com/c272/iro4cli/releases) on the main repository page. If one of these is not available for your chosen operating system or distribution, then you can follow the build steps below.\n\nTo build, ensure you have the .NET 6.0 SDK installed (`dotnet-sdk-6.0` on `apt` for Ubuntu/Debian users). **You will also need to install the Antlr4 v4.7.2 command line tool, and ensure it is available on PATH.** Installing a newer version of the ANTLR4 command line tool or having it unavailable on PATH will result in a build error. Once these prerequisites are installed, simply run the following after cloning the repository:\n```\ndotnet build\n```\nYou may need to run `dotnet build` twice for it to compile properly.\n\n## Usage\nFor all command line options available, simply run `iro --help`, or see the following Wiki page:\nhttps://github.com/c272/iro4cli/wiki/Command-Line-Options\n\nFor Iro grammars, an example grammar is something like the following:\n```\nname = exampleGram\nfile_extensions [] = exgr, exg;\n\nstyles [] {\n    .example : style {\n        //todo\n    }\n}\n```\nI highly suggest you check the [official documentation](http://eeyo.io/iro/documentation) for more details, however.\n\n## Progress\nSo far the following targets have been implemented:\n- [x] Textmate\n- [x] CSS\n- [x] Ace\n- [x] Atom\n- [x] Pygments\n- [x] Rouge\n- [ ] `.sublime-syntax`\n\n*Feature parity with Iro online here. Additional goals below.*\n\n- [x] VSCode Extension Generation\n- [x] Atom Package Generation\n- [ ] Sublime Extension Generation\n- [ ] HighlightJS\n- [ ] ANTLR Input\n","funding_links":[],"categories":["C# #"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc272%2Firo4cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc272%2Firo4cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc272%2Firo4cli/lists"}