Skip to content

Add support for Verse programming language#7440

Open
simnJS wants to merge 16 commits intogithub-linguist:mainfrom
simnJS:main
Open

Add support for Verse programming language#7440
simnJS wants to merge 16 commits intogithub-linguist:mainfrom
simnJS:main

Conversation

@simnJS
Copy link

@simnJS simnJS commented Jun 13, 2025

Description

Verse is the programming language developed by Epic Games for Unreal Engine, Fortnite Creative, and the Unreal Editor for Fortnite (UEFN).

Language overview:

The TextMate grammar provided includes comprehensive syntax highlighting for:

  • Verse-specific keywords and operators
  • String interpolation
  • Block and line comments
  • Markup syntax (for UI)
  • Type annotations
  • Function definitions
  • Control flow structures

Add support for the Verse programming language to GitHub Linguist. Currently, many developers avoid posting Verse code on GitHub simply because it isn’t syntax-highlighted; instead, they share snippets and full projects on the Epic Games forums. In addition, Verse is already heavily used by professional studios within private repositories for Unreal Engine and Fortnite Creative workflows. By bringing official .verse support we aim to:

  • Encourage more public sharing of Verse code on GitHub
  • Improve discoverability and readability for open-source projects
  • Provide consistency with Epic’s official branding

Checklist:

  • I am adding a new language.
    • The extension of the new language is used in hundreds of repositories on GitHub.com.
    • I have included a real-world usage sample for all extensions added in this PR:
      • Sample source(s): Added by contributor for demonstration
      • Sample license(s): MIT
    • I have included a syntax highlighting grammar: https://github.com/simnJS/verse-grammar
    • I have added a color
      • Hex value: #518ef8
      • Rationale: The color #518ef8 (blue-purple) represents Verse because Epic Games chose it as the official branding color for their new programming language used in Unreal Engine and Fortnite Creative.
    • I have updated the heuristics to distinguish my language from others using the same extension.

Additional notes

Because Verse is primarily used within UEFN projects—often in private Epic Games repositories or published as packaged experiences—the number of .verse files publicly visible on GitHub remains low. However, it is the official scripting language for Fortnite Creative 2.0, and lack of syntax highlighting discourages developers from using GitHub to share examples.

@simnJS simnJS requested a review from a team as a code owner June 13, 2025 17:28
Copy link
Member

@lildude lildude left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please follow the instructions in COMTRIBUTING.md. We don't need any other files or changes outside of those produced by following the docs.

@simnJS simnJS requested a review from lildude June 13, 2025 20:11
@simnJS
Copy link
Author

simnJS commented Jun 14, 2025

I’ve checked the CONTRIBUTING.md and I believe I’ve addressed all the issues. Apologies for the incomplete first PR.

Copy link
Member

@lildude lildude left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need the cached license file from the grammar repo. It would have been created when you ran script/add-grammar to add the grammar.

I have included a real-world usage sample for all extensions added in this PR:

Sample source(s):
https://github.com/simnJS/linguist/blob/main/samples/Verse/events.verse
https://github.com/simnJS/linguist/blob/main/samples/Verse/int.verse

This part of the template needs to point to the actual source of the samples, not your fork of Linguist. The license section also needs to state the license of the samples.

@simnJS
Copy link
Author

simnJS commented Jun 16, 2025

Hi, thanks for the feedback!

I understand the concern about popularity. However, I'd like to highlight a few important points that reflect the growing strategic relevance of the Verse language:

  • Verse is the official scripting language for Fortnite Creative 2.0 and Unreal Editor for Fortnite (UEFN), as documented by Epic Games here.

  • Epic has publicly stated its long-term goal is to make Verse the default programming language across the entire Unreal Engine ecosystem. This positions Verse not as a niche tool, but as a foundational part of future Unreal development, including Fortnite, UEFN, and eventually Unreal Engine itself.

  • Verse is already widely used in production by professional studios, particularly in private repositories and packaged UEFN experiences. This unfortunately limits the visibility of .verse files on GitHub search, despite significant real-world usage.

  • Supporting .verse in Linguist would directly encourage open-source sharing by making GitHub a more welcoming platform for Verse developers. Right now, many avoid publishing their work here due to the lack of syntax highlighting.

Let me know if you'd like any more concrete usage examples or documentation references—happy to help!

Thanks again for your time and consideration.

@simnJS simnJS requested a review from lildude June 16, 2025 11:22
@lildude
Copy link
Member

lildude commented Jun 19, 2025

The popularity requirements are only made based on public repos as it's impossible to tell what private usage is. Yes, this does result in a chicken-and-egg scenario between encouraging usage and getting it recognised on GitHub, but this applies for all new languages and projects, regardless of backing. We don't make exceptions either as this would defeat the purpose of having a usage requirement which means we'd have to effectively pollute and degrade the quality of this project by accepting every hobby language submission too.

Popularity is evaluated every 3-4 months when a new release is made, so if this language is really gaining in popularity as you claim, it shouldn't take long to meet our usage requirements.

@simnJS
Copy link
Author

simnJS commented Jun 19, 2025

Okay thank you ! How did you check popularity for verse ? I don't find a query to see numbers of repo using it.

@lildude
Copy link
Member

lildude commented Jun 19, 2025

Okay thank you ! How did you check popularity for verse ? I don't find a query to see numbers of repo using it.

I used the search link you provided. I also removed the using keyword to see if that made much of a difference; it didn't. It's not possible to easily determine the number of repos from the search results at the moment, hence we're using the temporary calculating method detailed in the issue referenced in the CONTRIBUTING.md file.

@xxll0l xxll0l mentioned this pull request Jun 20, 2025
21 tasks
Copy link
Member

@lildude lildude left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looks like you didn't use the script/add-grammar script to add your grammar as per the CONTRIBUTING.md file as had you done so, it would have failed with a source 'vendor/grammars/verse-grammar' contains no grammar files error because your grammar repo is not in a format used by editors.

We expect the grammar files to be in these locations, depending on the extension. Your grammar repo isn't.

Please fix your grammar repo and re-add your grammar.

@simnJS
Copy link
Author

simnJS commented Sep 15, 2025

I looks like you didn't use the script/add-grammar script to add your grammar as per the CONTRIBUTING.md file as had you done so, it would have failed with a source 'vendor/grammars/verse-grammar' contains no grammar files error because your grammar repo is not in a format used by editors.

We expect the grammar files to be in these locations, depending on the extension. Your grammar repo isn't.

Please fix your grammar repo and re-add your grammar.

Hi, sorry about that — I thought I had followed the steps correctly, but I clearly misunderstood. This is actually the first project I’m contributing to, so I really appreciate your guidance.

I’ll work on fixing the grammar repo in the next few hours and re-add it properly.

Just to confirm, does Verse already meet the popularity requirement to be accepted as a supported language?

Thanks again for your help!

@simnJS simnJS requested a review from lildude September 15, 2025 19:02
@simnJS
Copy link
Author

simnJS commented Nov 27, 2025

Hello, the Verse language is becoming increasingly popular! It was officially announced last month as the official language of Unreal Engine 6. It’s even being taught in some schools. Do you think the language still deserves its “pending popularity” status?

@lildude
Copy link
Member

lildude commented Nov 27, 2025

Popularity is only reassessed when I'm preparing to make a new release which happens approx every 3-4 months. If it meets our requirements and the PR's tests pass, the PR will be merged. I will not add a comment each time as this is unnecessary noise telling you what the label does.

@lildude
Copy link
Member

lildude commented Nov 27, 2025

It also still looks like you've still not used the script/add-grammar. Please do so as it'll save everyone time when the language is reassessed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants