Caution
Tact grammar is deprecated; others are deemed legacy. Prefer TextMate grammars over Prism.js ones.
For up-to-date TextMate grammars, see the TON language server repository.
๐บ Set of TON blockchain programming language definitions for Prism.js:
- ๐ FunC โ https://docs.ton.org/develop/func/overview
- ๐ Fift โ https://docs.ton.org/develop/fift/overview
- ๐ TL-B โ https://docs.ton.org/develop/data-formats/tl-b-language
โผ Deprecated:
- โก Tact โ https://github.com/tact-lang/tact
Upon cloning this repo, invoke the following commands in order of appearance (but just once!):
yarn prism:initโ initializes the prismjs/prism submodule and installes it's dependenciesyarn prism:linksโ creates all the necessary symbolic links from local files to the prismjs/prism submoduleyarn prism:buildโ builds all the grammars and everything there is in prismjs/prism
Grammar files are located in langs/X files, where X can be one of:
prism-func.jsโ FunC grammarprism-fift.jsโ Fift grammarprism-tlb.jsโ TL-B grammarprism-tact.jsโ Tact grammar (deprecated)
Test files are located in tests/X folders, where X can be one of:
funcโ FunC testsfiftโ Fift teststlbโ TL-B teststactโ Tact tests (deprecated)
Once initialized, you'll be able to run tests for each language in this repo, namely:
yarn test:funcwill run tests for FunCyarn test:fiftwill run tests for Fiftyarn test:tlbwill run tests for TL-Byarn test:tactwill run tests for Tact (deprecated)
And yarn test runs all those tests in succession.
The workflow looks like this:
- Add changes to the grammar
- Revise them by opening the
.github/submodule-prism/test.htmlfile in the browser - Add or update tests
- Repeatedly execute and adjust tests until they pass
- Commit & push
- Make PRs to:
- https://github.com/TelegramMessenger/libprisma
prismjs/prism(not being actively developed)ton-community/ton-docs(archived)
- Prism.js docs: https://prismjs.com/extending.html
- Awesome RegExp visualization tool: https://regex101.com
Based on The Open Network.
Made & maintained with ๐ค by Novus Nota.