marijnh/CodeMirror — pull request #865 by bfrohs (2012-10-03 04:46:03+00:00)
Title: [Markdown] [GFM] Rewrite GFM to inherit changes from Markdown mode better.

In short, GFM depended on a decent amount of copying and pasting in order to continue functioning properly (and was broken due to substantial changes to Markdown mode since it's inception). This patch gets rid of most of the copy and paste by switching to using `overlay` instead (GFM only handles highlighting of vanilla URLs and GitHub-specific links). Everything else is stored as an option in Markdown mode (to encourage extending it for other flavors in a similar fashion, without duplication of efforts).

- Add options to Markdown mode to make it easier to extend
- Add GFM text overlay
- SHA, User@SHA, and User/Project@SHA
- #Num, User/#Num, and User/Project#Num
- Vanilla URLs
- Add GFM-specific tests
- Fix overlay code so blankLine() is called

**Note:** This should only be applied to v2. I have a separate pull request coming in for v3 (GFM was actually broken due to `listModes` and `listMimes` being removed).