-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Add Aiken Language #6991
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 Aiken Language #6991
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoops. Looks like your editor has changed indentation on the languages.yml file making it incredibly hard to review. Please reverse these changes.
Several of your samples are too big too. If the diff suppresses them, they're too big. Please replace these.
@lildude oh whoops, sorry about that. Total accident. Will fix |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Linguist only accepts TextMate compatible grammars. This is mentioned a little further down in the CONTRIBUTING.md file. You should have encountered an error when attempting to add the grammar using the script/add-grammar
script which should have alerted you to there being problems with the grammar repo.
The lines in script/list-grammars
are for grammars maintained directly in the highlighting engine completely independently of Linguist. Only GitHub staff know which grammars these are which is why this list exists.
There is currently no way to submit tree-sitter grammars.
Please replace the grammar with a TextMate-compatible grammar.
@lildude I have added text mate grammars from the VSCode extension. I simply also added a link to the tree-sitter one that we ALSO have cause I saw that list there. But the thing linked as a sub module is indeed a textmate grammar. I can simply just remove the link from that list. It's not linked as a submodule. |
See #5756
If this is less likely to reach the usage requirements, then yes, remove it from this PR and add later when it does meet requirements. |
No problem. Let's wait and see. We're pretty close for both I believe. It'll be time soon. I'll keep this in sync with master in the meantime. |
Hello @lildude and happy new year! I crunched the latest data on this one and ended with 3811 files across 325 projects (from 181 distinct organisations/users), excluding the main compiler's repository which contains various examples and test cases. See projects list
Would this be sufficient to be considered popular enough 🤞? |
I'll assess popularity again when I start preparing the next release which will be early March. |
Thanks for the heads up, looking forward to it 🫡 |
I see the March release has been done, and we unfortunately didn't make the cut. So, to track KPIs, I'll keep recording data regularly -- if you don't mind. Note, I've now excluded the See projects list
|
I do. Please don't. I'd much prefer the search link in the OP to be updated to more accurately reflect what you feel is current usage, but note: it must be for the extensions and/or filenames being added. It can't be for any other file you'd expect to find in the repo as that's not what is being added - we assess usage for each file and extension in isolation as that's how Linguist classifies things. I don't always have the time to trawl through the entire discussion within PRs to find a better suggested search query, as is the case this time as I had a hard deadline to meet at short notice. |
Then I am genuinely a bit at a loss. The current query in the PR is already yielding thousands of results from hundreds of users/orgs. I've been trying to provide more accurate results and pre-filter some of the least interesting occurrences to show that "reasonable distribution across unique :user/:repo combinations" mentioned #5756. I see though that the PR still tries to include |
Popularity looks good now. Please merge in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks.
Important
The changes in this PR will not appear on GitHub until the next release has been made and deployed. See here for more details.
Fantastic news 🥰. Thanks for bearing with us (me). |
branch updated |
supersedes #6520
Description
There was an attempt before to add this language but we decided that it's best to wait until the grammars stabilized. We have reached that point and a general availability release is imminent, so we felt it was appropriate to revisit this with a fresh pull request in favor of the one linked above.
It seems we have reached the appropriate thresholds and there are many repositories with Aiken source code. Untyped Plutus Core is the target lambda calculus that Aiken compiles to. The Aiken vscode extension packages a grammar for Untyped Plutus Core as well so it should already be included by including the Aiken grammar. Although Untyped Plutus Core isn't normally written by hand, it's highly human readable and seems to also be present in a substantial number of repositories. I've included Untyped Plutus Core within this pull request as a matter of convenience but if it's a no-go, then I can make the necessary adjustments.
Aiken is a fast growing smart contract programming language that targets the virtual machine inside of the Cardano network. It has become the de-facto standard for developing smart contracts on Cardano.
Checklist:
#640ff8
#36adbd