{"id":21490777,"url":"https://github.com/tact-lang/prism-ton","last_synced_at":"2025-04-23T12:27:15.979Z","repository":{"id":228322511,"uuid":"773651059","full_name":"tact-lang/prism-ton","owner":"tact-lang","description":"🔺 Maintained set of TON programming language definitions/grammars for Prism.js","archived":false,"fork":false,"pushed_at":"2025-03-05T03:46:23.000Z","size":58,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-29T23:41:10.562Z","etag":null,"topics":["blockchain","fift","func","grammar","grammars","prism-js","prismjs","tact","the-open-network","tl-b","ton"],"latest_commit_sha":null,"homepage":"https://docs.ton.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tact-lang.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":"2024-03-18T06:33:44.000Z","updated_at":"2025-03-19T11:15:43.000Z","dependencies_parsed_at":"2024-03-18T08:24:18.225Z","dependency_job_id":"6ccbf9ac-ba36-46c4-b67d-68d91fc9348d","html_url":"https://github.com/tact-lang/prism-ton","commit_stats":null,"previous_names":["novusnota/prism-ton","tact-lang/prism-ton"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tact-lang%2Fprism-ton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tact-lang%2Fprism-ton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tact-lang%2Fprism-ton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tact-lang%2Fprism-ton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tact-lang","download_url":"https://codeload.github.com/tact-lang/prism-ton/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250432944,"owners_count":21429776,"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":["blockchain","fift","func","grammar","grammars","prism-js","prismjs","tact","the-open-network","tl-b","ton"],"created_at":"2024-11-23T14:45:48.851Z","updated_at":"2025-04-23T12:27:15.920Z","avatar_url":"https://github.com/tact-lang.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# prism-ton\n\n🔺 Maintained set of TON blockchain programming language definitions for Prism.js\n\n* ⚡ Tact — https://tact-lang.org\n* 💎 FunC — https://docs.ton.org/develop/func/overview\n* 📚 Fift — https://docs.ton.org/develop/fift/overview\n* 📄 TL-B — https://docs.ton.org/develop/data-formats/tl-b-language\n\n## Initialization\n\nUpon cloning this repo, invoke the following commands in order of appearance (but just once!):\n\n1. `yarn prism:init` — initializes the prismjs/prism submodule and installes it's dependencies\n2. `yarn prism:links` — creates all the necessary symbolic links from local files to the prismjs/prism submodule\n3. `yarn prism:build` — builds all the grammars and everything there is in prismjs/prism\n\n## Layout\n\nGrammar files are located in `langs/X` files, where `X` can be one of:\n\n* `prism-tact.js` — Tact grammar\n* `prism-func.js` — FunC grammar\n* `prism-fift.js` — Fift grammar\n* `prism-tlb.js` — TL-B grammar\n\nTest files are located in `tests/X` folders, where `X` can be one of:\n\n* `tact` — Tact tests\n* `func` — FunC tests\n* `fift` — Fift tests\n* `tlb` — TL-B tests\n\n## Running tests\n\n[Once initialized](#initialization), you'll be able to run tests for each language in this repo, namely:\n\n* `yarn test:tact` will run tests for Tact\n* `yarn test:func` will run tests for FunC\n* `yarn test:fift` will run tests for Fift\n* `yarn test:tlb` will run tests for TL-B\n\nAnd `yarn test` runs all those tests in succession.\n\n## Workflow\n\nThe workflow looks like this:\n\n1. Add changes to the grammar\n2. See how it works by opening the `.github/submodule-prism/test.html` file in the browser\n3. Add/update tests\n4. Execute and modify tests until they pass :)\n5. Commit \u0026 push\n6. Make PRs to:\n  * ton-community/ton-docs\n  * TelegramMessenger/libprisma\n  * prismjs/prism\n\nPrism.js docs: https://prismjs.com/extending.html\nAwesome RegExp visualization tool: https://regex101.com\n\n## TODO\n\n* [ ] Github Actions checks akin to ones in prismjs/prism\n* [ ] Pre-push hooks with mandatory builds \u0026 tests -\u003e push shall be stopped in case of errors\n\n## Credits\n\nBased on [The Open Network](https://ton.org).\n\nMade \u0026 maintained with 🤍 by [Novus Nota](https://github.com/novusnota).\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftact-lang%2Fprism-ton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftact-lang%2Fprism-ton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftact-lang%2Fprism-ton/lists"}