Say I begin to edit stuff like furious in the bundle editor, and then a new version comes along with some new stuff, how do these two get merged, if at all? Same goes for themes. Seems a bit short, but I hope the question is clear.
Andreas
On 11/08/2005, at 11.10, Andreas Wahlin wrote:
Say I begin to edit stuff like furious in the bundle editor, and then a new version comes along with some new stuff, how do these two get merged, if at all?
It will merge it so that you do get the new stuff, except for the items you edited or deleted.
So it should act like if you edited my master-copy, and if both of us makes an edit, your version wins.
And the technical version:
• Initially all items are in TextMate.app/Contents/SharedSupport • Each item contains an UUID (universal unique identifier). • If you edit an item, the modified version is stored in ~/Library/ Application Support/TextMate • If you delete an item (or bundle), it stores the UUID of that item in the preferences file.
So when starting TextMate, all it does is, load all the default items, except those marked as deleted in your preferences, or those that have a version in ~/Library/Application Support/TextMate.
Due to the UUID it will be able to recognize items even if you rename them.
My suggested way to deal with bundles is to create a Custom bundle where you keep your own stuff. And when possible, rather than edit a default item, duplicate it and make changes to the copy.
The latter is generally not possible when dealing with key bindings -- I'm considering having it only store the new key binding in ~/ Library/... when the actual item is unchanged (and thus take the rest from the default version). I'm also thinking of adding a way to see which items differ from the default version in the bundle editor and if the default has been updated since your change (with something like a restore button).
This however is a little down on the to-do ;)
Same goes for themes.
Themes are unfortunately not as advanced. When you edit a theme, it stored your edited version in ~/Library/Application Support/TextMate/ Themes and will from then on use that in favor of the default version. I may introduce merging of themes (and restore to default).
My suggested way to deal with bundles is to create a Custom bundle where you keep your own stuff. And when possible, rather than edit a default item, duplicate it and make changes to the copy.
That would mean also removing the (tab) trigger of the original then? It would be good to be able to copy entire languages, as it is now, if I want to edit a default snippet I have to copy it, remove the trigger of the original and move the copy (by drag and drop?) to the new destination. Granted, this isn't something one might do often, but it feels a bit clumsy. Is there any better way I missed? (btw, love the possibility to make drag commands, not that I'll use it much but it bears witness to the strength of TM)
Andreas
On 11/08/2005, at 15.46, Andreas Wahlin wrote:
My suggested way to deal with bundles is to create a Custom bundle where you keep your own stuff. And when possible, rather than edit a default item, duplicate it and make changes to the copy.
That would mean also removing the (tab) trigger of the original then? It would be good to be able to copy entire languages, as it is now, if I want to edit a default snippet I have to copy it, remove the trigger of the original and move the copy [...]
Well, the above was just a suggestion -- if you anyway clear the original tab trigger, just go ahead and edit the original version :)
I think the majority of HTML snippets are actually supposed to be “cut down” by the user (i.e. remove the arguments the user doesn't desire).
Yep, those are mainly the ones I've been editing, actually, they can even change by project (I suppose). The snippets are my greatest joy in TM I think ...
Andreas
On Aug 11, 2005, at 19:00 , Allan Odgaard wrote:
On 11/08/2005, at 15.46, Andreas Wahlin wrote:
My suggested way to deal with bundles is to create a Custom bundle where you keep your own stuff. And when possible, rather than edit a default item, duplicate it and make changes to the copy.
That would mean also removing the (tab) trigger of the original then? It would be good to be able to copy entire languages, as it is now, if I want to edit a default snippet I have to copy it, remove the trigger of the original and move the copy [...]
Well, the above was just a suggestion -- if you anyway clear the original tab trigger, just go ahead and edit the original version :)
I think the majority of HTML snippets are actually supposed to be “cut down” by the user (i.e. remove the arguments the user doesn't desire).
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate