Minimal selection API for IE5+ and all modern browsers (in Coffeescript)
gist.github.comThis is reworked from my other project, IERange (https://github.com/timcameronryan/IERange).
Rather than include a full duplication of DOM Ranges for old IE browsers, this API normalizes the most important capabilities of DOM Ranges and TextRanges (getting/setting anchors, and directionality). This can be included in a JavaScript library without much overhead, and any other essential DOM Range capability (deleteContents(), setStartBefore(), etc.), can be duplicated as needed by working with the DOM itself.