Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tmaster-terrarian/gml-ls
GameMaker Language vscode extension for GameMaker Studio 2 LTS and up
https://github.com/tmaster-terrarian/gml-ls
gamedev gamemaker-studio-2
Last synced: about 2 months ago
JSON representation
GameMaker Language vscode extension for GameMaker Studio 2 LTS and up
- Host: GitHub
- URL: https://github.com/tmaster-terrarian/gml-ls
- Owner: tmaster-terrarian
- License: mit
- Created: 2024-04-10T03:45:03.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-05-13T02:23:46.000Z (8 months ago)
- Last Synced: 2024-05-13T09:25:02.880Z (8 months ago)
- Topics: gamedev, gamemaker-studio-2
- Language: TypeScript
- Homepage:
- Size: 386 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# gml-ls: A GameMaker Language extension for vscode
[Open on Github](https://github.com/tmaster-terrarian/gml-ls)
note: if you want to use an extension that is quite a bit more complete, you should check out [Stitch](https://github.com/bscotch/stitch) by bscotch.
A simple extension that should support any versions including and above the `2022.0` (LTS) version of GameMaker Studio 2. It aims to support the latest `stable` versions of gamemaker as they come out.
(This extension uses a fair amount of the source code from an old(ish) [extension](https://github.com/gml-support/gml-support) created by LiarOnce under the MIT License)## Features:
What this extension will do:
- autocompletion, hover, and highlighting of important tokens, such as local variables, macros, built-in functions, etc.
- provide goto definition references for constants (namely script functions and macros)
- provide colors for color literals, `color_make_*` functions, and macros
- allow maximum customizability
- you are able to toggle nearly every feature of the extension via user/workspace settingsWhat this extension will *not* do:
- provide autocompletion/intellisense for the contents of the global struct
- provide autocompletion/intellisense for instance variables (due to the many nuances with using them)
- know what the context of `self` is at any given moment, especially for in global functions
*(however, this may be possible in object events, we shall see)*Capabilities I plan on adding in the future:
- an easier way to implement all of the built-in functions and constants
- infer the types of variables to provide info in things like hover, completions, etc.
- move more of the responsibilities from the client to the language server