X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/f96996df158d8c20be551ee728adf5618802d347..30cfa267832b84f0cd9615edd3007c06a3b00cfa:/doc/explainpat.txt diff --git a/doc/explainpat.txt b/doc/explainpat.txt index f4500fa..afe0fc9 100644 --- a/doc/explainpat.txt +++ b/doc/explainpat.txt @@ -1,11 +1,12 @@ *explainpat.txt* Give detailed help on a regexp pattern. - For Vim version 7.0. Last change: 2013 Mar 09 + For Vim version 7.0. Last change: 2017 Oct 20 By Andy Wokula *explainpat* *explainpat.vim* ExplainPat is a plugin to inspect a Vim regexp pattern and show a line of help -for each found regexp item. +for each found regexp item. Purpose is to get a better view on somebody +else's complex regexp string. It may also help with spotting mistakes. If you find that it explains something wrong, please drop me an email. @@ -22,6 +23,7 @@ URL http://vim.sourceforge.net/scripts/script.php?script_id=4364 / explain the last search pattern * explain pattern from the clipboard a explain pattern from register a + etc. Notes: The pattern is first converted into a purely |magic| pattern using @@ -33,12 +35,33 @@ specifiers are effectively removed from the explanation. Pattern: \) \) end of group +============================================================================== +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) ++ 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.) @@ -46,8 +69,8 @@ v0.5 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', ... + (sometimes these become literal); special cases: `^**`, `^^`, `\c^^`, `$$`, + `a\|^b`, `a\&*b`, `[ab`, `\_[ab`, ... v0.3 + BF accept `\z(...\)` and `\z[N]` @@ -61,10 +84,10 @@ v0.2 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 ++ `\|` should get less indent than the branches, do we need to create an AST? ! no, keep it straight forward -+ \%[...] -+ \{, \{- ++ `\%[...]` ++ `\{`, `\{-` ============================================================================== vim:tw=78:fo=tcq2:sts=0:ts=8:sw=8:fdm=marker:fmr=^_\^,^\^:ft=help: