Hey! Thanks for checking it out!
I am using BOOKMARKS now because I am still confused about the best way to persist it. Sublime has a neat feature where I can pick out a region (for a bookmark), and ask it to persist across sessions. The best part is that if I add text above or below, the bounds will get re-calculated (like how good bookmarking systems should).
The annoying part is that I will have to keep a list of all the bookmarks in all the files. So when the user searches the global list of bookmarks, it needs to open the appropriate file (if it isn't opened already) and then move to the correct bookmark.
However, am not sure the best way to persist BOOKMARKS. So I'm just putting it inside a global array. Since the chance of two views writing it simultaneously is none, it shouldn't have any thread-safety problems. But I'm not sure whether to serialize using CPickle, or JSON, or whatever.