My motivation for starting this bundle is that I want a nice SCM bundle that 
other SCM bundles can clone (and re-use the shared plumbing).

The current state of this bundle is far from being that, it only has a Status… 
command for git (which might be quite incomplete) and everything is just thrown 
into the SCM::Git class.

But the components I think could be shared among SCM bundles (and commands 
within these) are:

 Status: I know many svn commands have their own mapping of letter → status 
text and foreground/background color. This should be encapsulated into a 
SCM::Status class where instances are mostly created by name (and can then be 
queried about color, etc.)
 
 Selection: Most commands have logic to check if there is a selection (and then 
various variations of how to decode TM_SELECTED_FILES into an array), a project 
folder, a current directory, etc.
 
 Paths: Paths need to be pretty printed, that means, if we run on the project 
folder, they should be relative to this one, if we run on a selection, 
preferably they should be relative to the nearest common ancestor of the 
selection, finally they should fall back to being shown with the home folder 
abbreviated using a tilde — many commands presently have some custom logic that 
sort of does the above (but not quite, and each one re-invents the wheel).

Another issue is that of templates, I am thinking that templates for status, 
blame, and log can at least to some degree be re-used between SCM bundles.

Comments, ideas, etc. welcome.

Changed:
A   trunk/Work in Progress/Bundles/Git.tmbundle/
A   trunk/Work in Progress/Bundles/Git.tmbundle/Commands/
A   trunk/Work in Progress/Bundles/Git.tmbundle/Commands/Status….tmCommand
A   trunk/Work in Progress/Bundles/Git.tmbundle/Support/
A   trunk/Work in Progress/Bundles/Git.tmbundle/Support/lib/
A   trunk/Work in Progress/Bundles/Git.tmbundle/Support/lib/git.rb
A   trunk/Work in Progress/Bundles/Git.tmbundle/info.plist

_______________________________________________
textmate-dev mailing list
[email protected]
http://lists.macromates.com/mailman/listinfo/textmate-dev

Reply via email to