Shivansh-007/piston-cli

Adding More Languages to Piston-CLI

Shivansh-007 opened this issue · 7 comments

We want to add languages as soon as they are added on the piston-api, and keep increasing the languages count in this, but for that we need to add those languages' lexers and few other stuff. This meta issue contains information general information for this project and keeps track of the progress.

Note: If you want to help with adding more languages, please make to get yourself assigned to one of the open issues for adding languages. This system prevents that multiple people are working on the same tests.

General information

Procedure:

  1. Add the language to languages_.
  2. Add the language's lexer in init_lexers() if the lexer is present else skip this.
  3. Add the language to the quick map and assign which lexer it is going to use, if that lexer is not available choose the closest matching lexer. You can have a look at this file for finding the lexers.
  4. Add the language extension to lang_extensions_.
  5. Done! 🎉

A few important points:

  • Please take a look at the existing code to get an idea of the existing conventions in this repository.

Progress

Currently the progress i being tracked by commenting on this Issue, on what language to add, and then opening a separate issue for that.

Need to add the following;

  • Paradox
  • Nasm
  • Crystal
  • Dash
  • Osaborn
  • Nim
  • Deno
  • Scala
  • Typescript
  • Lua
  • Prolog

You can assign me.

@TomKloucek Which language do you want to add? I believe we are up to date with the Piston API.
There are few more issues available like #22 and don’t forget to join our Discord Community before contributing.
Thanks

  • Prolog
Okay, i will look it up
  • Prolog
Okay, i will look it up

Prolog gets added in Pull Request #25.

I know few new languages have been added to piston, but am waiting for the v3 version to get merged, probably in a week. Which adds few more languages and versions for few languages, so I will be mentioning all this change together later.