+==============================================================================
+TODO:
+
+Ideas:
+- If the user already knows regular expressions but of a different kind,
+ explain items in that different language.
+ Other regexp idioms:
+ Perl, Python, Emacs, Java, C#, Sed, Grep;
+ Vim ... very magic, nomagic, very nomagic
+ Possible config var name:
+ g:explainpat_user_knows = "Perl"
+ g:explainpat_background = "Perl"
+ g:explainpat_in_terms_of = "Perl"
+ g:explainpat_language = "Perl"
+
+==============================================================================
+History:
+
+v0.7
++ BF `\{3,4\}` not accepted, only `\{3,4}`
+
+v0.6
++ BF `[]` is a literal string (not a collection)
+
+v0.5
++ BF `$\n^`
++ wording: `\|` is not an "OR branch" (it separates or branches)
++ NF added tests (not part of release)
++ NF accept custom help printer (for testing purpose, could also be used to
+ export HTML etc.)
+
+v0.4
++ BF `[foo` is a literal string
++ BF for |/star|, |/^| and |/$|, distinguish position in the pattern
+ (sometimes these become literal); special cases: `^**`, `^^`, `\c^^`, `$$`,
+ `a\|^b`, `a\&*b`, `[ab`, `\_[ab`, ...
+
+v0.3
++ BF accept `\z(...\)` and `\z[N]`
++ BF accept `[=a=]` and `[.a.]` in collections
+
+v0.2
++ include vim_use suggestions [2012 Dec 19]
+ * for collections [^...], add "not matching [...]"
+ * fix `\%>'a1`
+ * more detailed `\%x31`
+
+v0.1 (initial version)
++ start of "first" capturing group, start of 2nd ...
++ `\|` should get less indent than the branches, do we need to create an
+ AST? ! no, keep it straight forward
++ `\%[...]`
++ `\{`, `\{-`
+