Skip to content

Add JASS progamming language - #8096

Open
Drake53 wants to merge 2 commits into
github-linguist:mainfrom
Drake53:add-jass-language
Open

Add JASS progamming language#8096
Drake53 wants to merge 2 commits into
github-linguist:mainfrom
Drake53:add-jass-language

Conversation

@Drake53

@Drake53 Drake53 commented Jul 31, 2026

Copy link
Copy Markdown

Add JASS, the Warcraft III scripting language.

Description

JASS is the original scripting language of Warcraft III.
It has been the World Editor's default output since 2002; Lua was added as an alternative in patch 1.31 (2019), but JASS remains what the editor emits unless a map opts into Lua, and it backs a large existing corpus of map scripts and hand-written libraries on GitHub.

Those .j files are currently either left unclassified or attributed to Jasmin or Objective-J, the two languages that share the .j extension.
This PR adds JASS with a syntax-highlighting grammar, four real-world samples, and a new .j heuristic that disambiguates all three languages.

Scope: JASS, not vJASS

This adds original JASS only. vJASS (JassHelper) is usually described as a superset of JASS, but it is not strictly one, so folding the two together would be wrong.
The clearest example is the debug keyword: in JASS debug applies to the entire statement that follows it, so it carries through a multi-line construct such as an if … endif block, whereas in vJASS it applies only to the line it appears on.
The same source text can therefore mean different things in the two languages.
The grammar and the samples here are plain JASS; no vJASS, Zinc or Wurst constructs are included.

Checklist:

@Drake53
Drake53 requested a review from a team as a code owner July 31, 2026 17:56
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.

1 participant