# IDE Stylesheet and Package

## Background

The Mathematica FE could provide a nice lightweight FE for editing small/medium size projects. 

## Idea

By creating a ``"ProjectManager`"`` package with all the necessary project-management functions and a nice stylesheet for hooking into this we could create a little IDE inside Mathematica by providing a tree-view to the .wl and .m files inside a folder. This little IDE could support plugins and extensions so that people can easily build off of it 

## Implementation Thoughts

The ``"ProjectManager"`` package could hook into the project-management functions I already package up into my BTools package. All it would really need would be a `Stylesheet` that provides access to these functions via a `DockedCell` and a nice `ProjectObject` that exposes project details so that people can write extensions easily off of these projects. 

The .m and .wl files can be loaded via `NotebookOpen[..., Visible->False]` and dumped into a main notebook pane. Tabbing can be done by simply keeping track of the current files open and putting these as little tab names under the main `DockedCell` pane. Saving can just dispatch to either `NotebookSave` for the regular .nb files or to a `ExportPacket[..., "SaveRename"]` for .m and .wl files.

Custom stylesheets might be a bit harder to support... but for simple IDE work we can just ignore that or save the other `Notebook` options when loading a tab and just export the notebook content. Or we can figure out a way to make this basically a `DockedCell`-only package where we don't even need a custom `Stylesheet`