Atom is a text editor well known for being extensible and lightweight, so much that it can be extended into a full-fledged IDE through existing or custom plugins.
The project is maintained by GitHub, and it’s meant to be extended from the get-go, it is basically just a bare editor with a good number of default plugins. Also all of its configuration can be written in code (though most of it can be done through the UI as well), and you get the benefit of disabling any default plugin you may consider unnecessary.
Atom comes with a flight manual to get you started using the editor, configuring it and writing plugins quickly and effectively. It also offers a first contact with the API, where you will find almost every part of the program exposed, from the core functionality and editor actions to theming and configuration. You can check the list of existing packages and install them from the configuration screen, or use apm command to install them from the command line.
The API exposes almost every object, action and piece of interface, from documents, layers, channels and selections, to preferences, measurement tools, workspaces, and history.
This allows the developer to create, remove, modify and manipulate almost any object, programmatically apply filters, work with the clipboard, load, resize, crop and save documents.
One of the most popular web browsers, exposes an extensive API that allows extensions to manipulate most of its functionality and interfaces. There are tons of tutorials out there to get you started with creating extensions in no time.
Let us tell you why we think it’s worth it to allow this kind of extensions.
The source code is available to you by default (unless the developer decided to obfuscate it).
And it’s just as powerful as any other option. Even if the application you’re extending is not written in JS, you’ll likely have access to the same classes and API you would in the original language.
We hope to see this list growing with more applications. If you think a program can be added to the list, or have any feedback, please leave a comment.