0.1.5 • Published 2 years ago
irojs v0.1.5
This project aims to be a superset of Chris Ainsley's Iro, a development tool designed to simplify the creation of syntax highlighters.
Installation
npm install irojsUsage
From the command line
Basic syntax:
iro compile <source> --targets=<targetlist>Available targets:
textmateortmtextmate.xml(default)textmate.json
aceace.js(default)ace.json
ast— outputs the rion astallor*— matches all targetsnone— only checks grammar
Use <target>.* to match all extensions.
Example:
iro compile mygrammar.iro --targets=textmate,ace -o out/From code
Example:
import * as iro from "irojs";
// or
const iro = require("irojs");
const myGrammar = "...";
var result = iro.compile(myGrammar, { targets: ["textmate"] });
console.log(result.textmate);Language Documentation
The documentation is still a WIP. In the meanwhile, you can access the original docs at https://web.archive.org/web/20191007073218/https://eeyo.io/iro/documentation/index.html
Development
pnpm build → builds the package.
pnpm build:swc → compiles the typescript source.
pnpm build:rion → compiles the rion grammar.
pnpm build:type → generates the type definition files.
Roadmap
- Online editor
- VSCode extension (language server)
- Styles to CSS
- HighlightJS target
- PrismJS target
- CodeMirror target