-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add language: Tact
, and extension to JSON
#6689
Conversation
🤔 your search result suggests there are more non-Tact files than there are Tact files which means they're all going to be misidentified once this PR merged. In such cases we recommend both languages be identified and added in the same PR.
This is out of my control and is entirely up to the team that controls the highlighting engine. Given the low usage, this is unlikely to happen any time soon. |
Got it, thanks for the clarification. I did some research on that non-Tact language and turns out it's just JSON. So I've added it as a new extension for JSON and also provided a heuristic to differentiate them, relevant test and samples. Hope it's done correct :) |
Tact
Tact
, and extension to JSON
With updated query Also, I've changed the grammar source from cc @lildude |
Please merge main into your branch so CI can run. I'd normally do it but as your PR comes from an org-owned fork, permission can't be granted to me. |
Merged! |
Adding a Tact programming language for
.tact
file extension and an extension to JSON under.tact
. More about the former: https://tact-lang.org/Description
Tact is a new programming language for TON blockchain smart contracts that is easy to use and has a familiar syntax, strong type system, gas control and zero-overhead type composition, which enables developers to write complex smart contract systems with verified execution costs.
Checklist:
I am adding a new language. — Tact
jetton.tact
is adapted from Jetton Standard in tact-lang/tact-by-exampledeployable_trait.tact
is adapted from Deployable Trait in tact-lang/tact-by-example#48b5ff
I am adding a new extension to a language. — JSON, but written under
.tact
formatlanding.tact
is copied from DSprtn/GTFO_VR_PluginAdditional info
In the search query I've excluded forks and some smaller JSON-like file format used by the specific haptics company, which happens to have the same file extension (not listed in
languages.yml
). However, I've done a bit of research and the JSON-like.tact
format is just regular JSON, so I've added a heuristic to differentiate them and an extension of JSON with a sample JSON.tact
file.Currently, the former query gives approximately 1.9k rightful
.tact
files across a fair distribution of repositories, although still falling short of the 2k mark. Please, add thePending Popularity
label :)On other note — in addition to the TextMate grammar submitted with this PR, the language as of now also has a complete and well-tested Tree-sitter grammar. Could you please help integrate it to GitHub once or when this PR gets merged?