Skip to content

Cleanly separates out the Elements Compiler languages from their official couterparts#4364

Open
dwarfland wants to merge 17 commits into
highlightjs:mainfrom
remobjects:master
Open

Cleanly separates out the Elements Compiler languages from their official couterparts#4364
dwarfland wants to merge 17 commits into
highlightjs:mainfrom
remobjects:master

Conversation

@dwarfland

@dwarfland dwarfland commented Feb 25, 2026

Copy link
Copy Markdown

Changes

  • Cleanly separates out the Elements Compiler languages from their official counterparts (e.g. hydrogene vs csharp, iodine vs java, etc), adding support for oxygene, hydrogene, iodine silver, gold vbmercury as named languages
  • Added new C# 14 field keyword fo csharp & hydrogene

@Iamfittz

Iamfittz commented Apr 2, 2026

Copy link
Copy Markdown

Hi @allejo, could you please approve the CI workflow run for this PR?
The branch is up to date with upstream/main, no conflicts. Thanks!

@allejo allejo closed this Apr 3, 2026
@allejo allejo reopened this Apr 3, 2026
@github-actions

github-actions Bot commented Apr 3, 2026

Copy link
Copy Markdown

Build Size Report

Changes to minified artifacts in /build, after gzip compression.

8 Added Files

View Changes
file size
es/languages/gold.min.js +793 B
es/languages/hydrogene.min.js +1.82 KB
es/languages/iodine.min.js +1.45 KB
es/languages/vbmercury.min.js +1.53 KB
languages/gold.min.js +802 B
languages/hydrogene.min.js +1.82 KB
languages/iodine.min.js +1.46 KB
languages/vbmercury.min.js +1.54 KB

9 files changed

Total change +710 B

View Changes
file base pr diff
es/core.min.js 8.19 KB 8.19 KB +1 B
es/highlight.min.js 8.19 KB 8.19 KB +1 B
es/languages/csharp.min.js 1.7 KB 1.74 KB +40 B
es/languages/oxygene.min.js 1.12 KB 1.29 KB +172 B
es/languages/swift.min.js 3.61 KB 3.75 KB +141 B
highlight.min.js 8.23 KB 8.23 KB +2 B
languages/csharp.min.js 1.71 KB 1.75 KB +39 B
languages/oxygene.min.js 1.13 KB 1.3 KB +173 B
languages/swift.min.js 3.62 KB 3.76 KB +141 B

@allejo

allejo commented Apr 3, 2026

Copy link
Copy Markdown
Member

Don't mind the noise, just had to close + re-open this PR so that I could trigger the workflows.

But now we know there's a failing build 😄

@Iamfittz

Iamfittz commented Apr 3, 2026

Copy link
Copy Markdown

@allejo could you re-open this PR please?
Fixed

@Iamfittz

Iamfittz commented Apr 7, 2026

Copy link
Copy Markdown

@allejo could you re-open this PR?
Fixed.

@github-actions

github-actions Bot commented Apr 7, 2026

Copy link
Copy Markdown

Build Size Report

Changes to minified artifacts in /build, after gzip compression.

8 Added Files

View Changes
file size
es/languages/gold.min.js +793 B
es/languages/hydrogene.min.js +1.82 KB
es/languages/iodine.min.js +1.45 KB
es/languages/vbmercury.min.js +1.53 KB
languages/gold.min.js +802 B
languages/hydrogene.min.js +1.82 KB
languages/iodine.min.js +1.46 KB
languages/vbmercury.min.js +1.54 KB

9 files changed

Total change +845 B

View Changes
file base pr diff
es/core.min.js 8.19 KB 8.19 KB +1 B
es/highlight.min.js 8.19 KB 8.19 KB +1 B
es/languages/csharp.min.js 1.7 KB 1.74 KB +40 B
es/languages/oxygene.min.js 1.12 KB 1.37 KB +248 B
es/languages/swift.min.js 3.61 KB 3.74 KB +132 B
highlight.min.js 8.23 KB 8.23 KB +2 B
languages/csharp.min.js 1.71 KB 1.75 KB +39 B
languages/oxygene.min.js 1.13 KB 1.38 KB +250 B
languages/swift.min.js 3.62 KB 3.75 KB +132 B

@Iamfittz

Iamfittz commented Apr 7, 2026

Copy link
Copy Markdown

@joshgoebel need your approve.

@Iamfittz

Copy link
Copy Markdown

@joshgoebel could you please take a look at this PR?

@Iamfittz

Iamfittz commented May 6, 2026

Copy link
Copy Markdown

@joshgoebel could you please take a look at this PR?

@Iamfittz

Iamfittz commented Jun 5, 2026

Copy link
Copy Markdown

@joshgoebel , @allejo could you please take a look at this PR?

@joshgoebel

Copy link
Copy Markdown
Member

Cleanly separates out the Elements Compiler languages from their official counterparts

Can you please elaborate on this? Generally we don't merge new languages into core, but maybe there is an exception here IF they already existed but under different names. I need to understand the full story here to understand how to judge this.

@Iamfittz

Iamfittz commented Jul 16, 2026

Copy link
Copy Markdown

Cleanly separates out the Elements Compiler languages from their official counterparts

Can you please elaborate on this? Generally we don't merge new languages into core, but maybe there is an exception here IF they already existed but under different names. I need to understand the full story here to understand how to judge this.

Sure! Elements is a compiler family from RemObjects since 2005: Oxygene (Object Pascal) plus dialects of C# (Hydrogene), Java (Iodine), Go (Gold), VB.NET (Mercury) and Swift (Silver) same official syntax.

Oxygene has been in core since 2013 and we have maintained it since. The other dialects never had their own grammars in our fork their extra keywords were historically patched straight into the base csharp/vbnet/swift grammars (that's what the older commits here are).

The recent commits undo that mixing: the dialects became standalone grammars (hydrogene, iodine, gold, vbmercury), and the base grammars were brought back in line with upstream. What's left in official grammars is genuine fixes (e.g. real C# keywords like field and __arglist, plus a small swift keyword bugfix).

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants