Good to see you pop up Jon, sounds like stuff's happenin.. I like the proposed idea, it gets my +1 so long as the UX is done nicely. As a starting point for the UX I'd like to see:
- drag and drop for project and workspace files handled nicely
- API hooks to load and save
- switch projects and workspaces in the current window or open in new window, with definable shortcuts (palette, keyboard, menu)
Basically, keep things flexible.
A simple way to have the new and old behaviour is a preferences bool "projects-old-behaviour". If true, projects load and save same named workspaces as per current behaviour.
On a related note, one thing that really irks me with sublime is not being able to load it up from the command line completely blank and sessionless (for git comments etc.). If I try to do this with a project, I get 2 sublime windows, one with the last session/project, and one with the project I'm loading. Which is focussed, at least on Windows, is anyone's guess also making this a nightmare to use; this stuff's buggy atm. What I'd like is subl --nosession that just loads a sublime window devoid of any projects, files or workspaces. Since sublime uses the same process for all windows, things get a little clunky if sublime is already running, especially on Unix, but we can use --multiinstance to deal with that.
Using --multiinstance allows us to run our own sublime process, but we can't avoid last sessions being loaded up, and I'd like to be able to run a sublime instance with nothing loaded in and no state saved. So then, when I run sublime again normally, my usual prior saved session loads up.
At present the UX of sublime fits the traditional launch methods (ie. commandline) of editors badly while being friendly for the GUI user. Separating workspaces and projects is a great idea, but don't lose sight of how to improve related aspects of what's already there. Simplest would be a --traditional flag that launches multiinstance, no session and indicates this run mode in some way on the titlebar. Closing the window isn't allowed without confirming file saves, ie. no hot exit.
Another idea (from Crisp, my "other editor") would be to offer a directory specific state; project and workspace, loaded --multiinstance when subl is launched from that dir. This workflow fits really nice for the command line user. You launch sublime from project X directory, and it's workspace and project state load up. Launch from somewhere else, you get a the project and workspace of that folder.
Ok.. Stop here, I'm drifting off-topic..
ps. --help doesn't work in Windows either
pps. ok, totally offtopic, but pretty please for removing the menu in Linux!