github-linguist / linguist

Language Savant. If your repository's language is being reported incorrectly, send us a pull request!
MIT License
12.34k stars 4.27k forks source link

New language: Atlas #7061

Open pumpkinhasapatch opened 1 month ago

pumpkinhasapatch commented 1 month ago

Language name

Atlas

Atlas is a data science programming language that handles text script insertion for any file type, like a programmable hex editor that can replace parts of a file with contents from an Atlas script. Atlas scripts are commonly used for video game decompilation and fan translation projects.

The official interpreter and Reference guide for the language was released in 2010 on Romhacking.net and has been in development since 2002 (see Reference Guide, page 2).

URL of example repository

Official repository with current source code: https://github.com/stevemonaco/Atlas

Some repositories using Atlas: https://github.com/justin3009/MMX3-ZeroProject/tree/master/Atlas https://github.com/ShaffySwitcher/RhythmHeavenAdvance/tree/main/src https://github.com/BASLQC/steins-gate-psp-patch/tree/master https://github.com/pumpkinhasapatch/dokodemo-psp-english/tree/main/patches https://github.com/Eight-Mansions/linda-cubed-again and more

URL of syntax highlighting grammar

https://github.com/pumpkinhasapatch/atlas-highlight-vscode/blob/main/syntaxes/atlas.tmLanguage.json

This was written by me for a Visual Studio Code highlighter extension. May contain bugs and template code as I have only been using this privately until now, but it does work with highlighting Atlas or abcde commands.

There is an official Atlas Reference guide / design document available here showing most of the commands' usage and various examples.

Most popular extensions

Another interpreter for Atlas scripts is abcde, written in Perl by abw. It has support for Atlas scripts with some extra features, and can run cross-platform while the Atlas interpreter is only built for Windows.

Atlas has built-in extension support, but I do not know of any extensions used in modern Atlas projects, abcde does not support them and extension support may be removed from Atlas in a future update.

Detected language

GitHub currently does not detect Atlas scripts as any language, and treats them as a plaintext file.

Atlas projects store their scripts in .txt files and at least one .tbl file for text encoding. Scripts can be very long in size and are not given syntax highlighting or counted at all towards Repository Languages statistics.

All Atlas scripts contain commands for loading a .tbl file such as #ACTIVETBL(path/to/file.tbl) and can be filtered from other .txt files using the Regular Expression /^#ACTIVETBL\(.+\)/. There are currently 351 files on GitHub containing this line of code, not sure how to check how many repositories that is.

pumpkinhasapatch commented 1 month ago

I could keep working on this if no one else is interested, just want to know if there's enough repositories on GitHub using the Atlas language for it to be accepted.