Skip to content

RelationalAI/codemirror-lang-rel

Repository files navigation

CodeMirror 6 Rel language package

This is the official Rel language support package for the CodeMirror editor.

It is based on CM6 language support example and contains:

  • The Rel grammar in Lezer format
  • The CM6 language pack integration index.ts which exports the required function and LanguageSupport
  • Tests are in /test/cases.txt and are wired/ran via mocha
  • CM6 consumes the dist/index.js file which contains a "compilation" of the parser and the required LanguageSupport

To build/compile the new dist entries run:

npm run prepare

To test:

npm run test

Development

For local development and testing you can:

  • Install fswatch, then run the following script to auto "prepare", watch and copy to the console code editor folder the rel.ts file:
fswatch -or src | xargs -I{} sh -c "npm run prepare && cp dist/index.js <ENTER PATH HERE>/rel.ts"

e.g.

fswatch -or src | xargs -I{} sh -c "npm run prepare && cp dist/index.js ../../Dev/rai-ux/packages/code-editor/src/rel.ts"
  • Once the fswatch has generated the output file (rel.ts) import it into consore/code editor via changing the CodeEditor.tsx file rel import. E.g:
import { rel } from './rel'; //'@relationalai/codemirror-lang-rel';
  • If all done correctly on any change to the parser files the code editor would refresh and reflect the changes

Note: Make sure you bump the package.json version on every release ready for consumption by CM6.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •