Skip to content
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

Updated GML.js to 2023.1 version #3681

Merged
merged 9 commits into from
Mar 21, 2024
Merged

Conversation

gnysek
Copy link
Contributor

@gnysek gnysek commented Dec 19, 2022

Updated GML language data to most up-to-date version, based on 2023.100.0.264 runtime (January 2023 release), with many features added in recent months. Many functions in current definition file were outdated (they were marked as deprecated for around 5-10 years or even already removed in recent months and years).

Changes

Generated from GameMaker runtime internal fnames file, with rule:

  • KEYWORDS: manually, as they are built-in in IDE and not mentioned in fnames file
  • BUILT_INS: functions; everything that have [a-z_]+\(.*?\) in definition (both UK and US spelling)
  • SYMBOLS: macros; everything that ended with # in fnames
  • LANGUAGE_VARIABLES: various global/local variables (reserved words); everything that ended by * (readonly), @ (instance variable), or didn't ended with (...)
    That exact fnames file can be found here: https://gist.github.com/gnysek/a69ec324df61131b2546d1580f29a760

Checklist

  • Added markup tests, or they don't apply here because... (only keyword updates)
  • Updated the changelog at CHANGES.md

Updated GML language data to most up-to-date version, based on 2023.100.0.264 runtime, with many features added in recent months.
Many functions in current definition file were outdated (they were marked as deprecated for around 5-10 years or even already removed in recent months and years).

Generated from GM internal `fnames` file, with rule:
- `KEYWORDS`: manually
- `BUILT_INS`: everything that have `(.*?)` in definition (both UK and US spelling)
- `SYMBOLS`: everything that ended with `#` in `fnames`
- `LANGUAGE_VARIABLES`: everything that ended by `*` (readonly), `@` (instance variable), or didn't ended with `(...)`
That exact `fnames` file can be found here: https://gist.github.com/gnysek/a69ec324df61131b2546d1580f29a760
@joshgoebel
Copy link
Member

Please explain removal of LITERALS.

@gnysek
Copy link
Contributor Author

gnysek commented Mar 7, 2023

I moved then to SYMBOLS, where other GM literals were already. All of those are generally macros which are converted (usually) to integers on compile time.

GameMaker' function list file doesn't differentiate those that were under "literals" form those that were under "symbols" - they are all in same group, as "constants" - https://gist.github.com/gnysek/a69ec324df61131b2546d1580f29a760 (marked with # at end).

gnysek and others added 3 commits March 7, 2023 16:58
(added 9 missing entries from 2023.1 by comparing with 2022.11)
src/languages/gml.js Outdated Show resolved Hide resolved
Added dropped brackets which should close arrays ( ]; ).
Copy link

Build Size Report

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

2 files changed

Total change +745 B

View Changes
file base pr diff
es/languages/gml.min.js 13.37 KB 13.74 KB +371 B
languages/gml.min.js 13.37 KB 13.74 KB +374 B

Copy link

Build Size Report

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

5 files changed

Total change +749 B

View Changes
file base pr diff
es/core.min.js 8.2 KB 8.2 KB +1 B
es/highlight.min.js 8.2 KB 8.2 KB +1 B
es/languages/gml.min.js 13.37 KB 13.74 KB +371 B
highlight.min.js 8.23 KB 8.23 KB +2 B
languages/gml.min.js 13.37 KB 13.74 KB +374 B

@joshgoebel joshgoebel merged commit 8a3c8d5 into highlightjs:main Mar 21, 2024
15 checks passed
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.

2 participants