Luar studio was built with the intention of creating multiple lua editing suits. We started to lean heavily on luar at Celestial Games and as such needed an environment where we could customizably edit solutions.
Luar-Studio is written primarily in java. Pretty much everything in the system is divided into plugins and scripts. Plugins can add raw functionality to the IDE and the scripts add all the specific behaviors.
A Luar-Studio project is a directory folder. Each directory in the main on is a module. No file should be placed in the primary directory. This design allows each module to be independently revision controlled.
Modules are the building blocks of a Luar-Studio project. Each module has it's own build rules and directory structure requirements. These are all defined in the module configuration and scripts. A module could contain nothing but icons to be used in actions in the studio. You can read more here
Luar-Studio is very customizable. There are a few ways you can extend the studio, but then in each module further customization is possible.
The first way is to create addons. These are each in their own directory under the addons directory (in luar-studio, your luar-studio home directory or the project directory). More about creating addons can be found here.
Then after that you can create modules types. Module types will be installed in the modules folder in luar-studio or your home directory for luar-studio. Any module can be added to the module types. However addons needed for a module can not be.