On 28.01.2005, at 06:31, Charles Miller wrote:
On 27/01/2005, at 10:19 PM, Ralph Pöllath wrote:
IMO, bookmarks cannot be implemented properly (go ahead Allan, prove me wrong :-). Automatic bookmarks (that "boomark" each line matching a certain pattern), would be much more useful.
It's a common misconception that if there are significant situations in which some idea won't work, it's "impossible". Often, though, having something work most of the time is still better than not having it at all.
- Store bookmarks in the project as line number, and some of the
context surrounding the bookmark.
- If, on loading the file, the number and context don't match, start
looking up and down for the first line that matches the saved context to a certain degree of tolerance.
- If some bookmarks are still unaccounted for, delete them and pop up
a dialog saying "This file was modified since it was last opened in [[Project Name]]. Some of your bookmarks have been removed."
Yup, that's what I referred to as "merging".
Under certain circumstances this would lead to bookmarks being lost (or even moved), but it would work well enough for 90% of cases.
I guess it boils down to a matter of taste. I don't deny that all of this would be helpful for some or even most people, but personally, I wouldn't use e.g. a filesystem that let's me get at my data only 90% percent of the time. Sometimes, and for some people, it's those 10% that count.
Additionally, you and I know why that system wouldn't work in some small percentage of cases. But what about those who don't know or care about the implementation?
I could be wrong, but I assume that TM is mainly used by power users, and I further assume that those tend to work with structured text (like code, xml, etc) - that's why we have all these bundles. So IMO, it would make a lot more sense to exploit the text's inherent structure for navigation. It works 100% percent of the time even for non-project files, doesn't require storing extra data, and rewards you for structuring your text :-)
Cheers, -Ralph.