I program in a language called JASS, which is a language used to create video games that are playable in WarCraft III. There weren't very many good IDEs or tools available for this language since it is not very well known, so I decided to make some. My eventual project (which is still ongoing) is a fully functional & feature rich IDE. This project may be of interest if there are any people on this forum who have used JASS, or just if you're interested in programming things like this in general. I'm by no means an expert at this, I just did things as I thought would work best.
The first repository is an abstract syntax tree capable of representing the JASS programming language. Essentially it can read through a JASS script file and break it down into logical pieces (such as functions, variables, etc.), and then that syntax tree can be used to perform operations that would otherwise be difficult to do successfully (such as variable/function renaming). This project is available on Maven Central. Github: https://github.com/zach-cloud/JSyntaxTree
The second repository is a utility around the StringHash function. The JASS language provides a native that hashes a String into a 32 bit integer. This project allows you to compute the StringHash value of a String using Java code, as well as brute force a hash value to discover a collision of the original value. This can be used to test StringHashes ahead of time, or break them if desired. This is also available on Maven Central. Github: https://github.com/zach-cloud/JStringHash
Then my final one, which uses both of the above repos, is a JavaFX-based IDE for JASS. Featuring syntax highlighting, autocomplete, and a whole bunch of code utilities (such as formatting, renaming, etc). Github: https://github.com/zach-cloud/JAST . The readme contains a link for a standalone release as well.
The human mind is a dangerous plaything. This tiny ad is pretty safe:
SKIP - a book about connecting industrious people with elderly land owners