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[..., "Package"]"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