summaryrefslogtreecommitdiffstats
path: root/runtime/doc/pi_logipat.txt
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2015-06-19 18:48:41 +0200
committerBram Moolenaar <Bram@vim.org>2015-06-19 18:48:41 +0200
commite2db6c975b97685ca58bd767a2b98cd8a94c1938 (patch)
treec785a81c2f9accb97348ade2fefe517173326e00 /runtime/doc/pi_logipat.txt
parentb8c890035efd694daab5cdd71b5265c52c23fa81 (diff)
Add the logiPat plugin to the distribution.
Diffstat (limited to 'runtime/doc/pi_logipat.txt')
-rw-r--r--runtime/doc/pi_logipat.txt117
1 files changed, 117 insertions, 0 deletions
diff --git a/runtime/doc/pi_logipat.txt b/runtime/doc/pi_logipat.txt
new file mode 100644
index 0000000000..ea3acda822
--- /dev/null
+++ b/runtime/doc/pi_logipat.txt
@@ -0,0 +1,117 @@
+*pi_logipat.txt* Logical Patterns Mar 13, 2013
+
+Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
+Copyright: (c) 2004-2013 by Charles E. Campbell *logipat-copyright*
+ The VIM LICENSE applies to LogiPat.vim and LogiPat.txt
+ (see |copyright|) except use "LogiPat" instead of "Vim"
+ No warranty, express or implied. Use At-Your-Own-Risk.
+
+==============================================================================
+1. Contents *logipat* *logipat-contents*
+
+ 1. Contents.................: |logipat-contents|
+ 2. LogiPat Manual...........: |logipat-manual|
+ 3. LogiPat Examples.........: |logipat-examples|
+ 4. Caveat...................: |logipat-caveat|
+ 5. LogiPat History..........: |logipat-history|
+
+==============================================================================
+2. LogiPat Manual *logipat-manual* *logipat-man*
+
+
+ *logipat-arg* *logipat-input* *logipat-pattern* *logipat-operators*
+ Boolean logic patterns are composed of
+
+ operators ! = not
+ | = logical-or
+ & = logical-and
+ grouping ( ... )
+ patterns "pattern"
+
+ :LogiPat {boolean-logic pattern} *:LogiPat*
+ :LogiPat is a command which takes a boolean-logic
+ argument (|logipat-arg|).
+
+ :LP {boolean-logic pattern} *:LP*
+ :LP is a shorthand command version of :LogiPat
+ (|:LogiPat|).
+
+ :ELP {boolean-logic pattern} *:ELP*
+ No search is done, but the conversion from the
+ boolean logic pattern to the regular expression
+ is performed and echoed onto the display.
+
+ :LogiPatFlags {search flags} *LogiPat-flags*
+ :LogiPatFlags {search flags}
+ LogiPat uses the |search()| command. The flags
+ passed to that call to search() may be specified
+ by the :LogiPatFlags command.
+
+ :LPF {search flags} *:LPF*
+ :LPF is a shorthand version of :LogiPatFlags.
+
+ :let pat=LogiPat({boolean-logic pattern}) *LogiPat()*
+ If one calls LogiPat() directly, no search
+ is done, but the transformation from the boolean
+ logic pattern into a regular expression pattern
+ is performed and returned.
+
+ To get a " inside a pattern, as opposed to having it delimit
+ the pattern, double it.
+
+==============================================================================
+3. LogiPat Examples *logipat-examples*
+
+ LogiPat takes Boolean logic arguments and produces a regular
+ expression which implements the choices. A series of examples
+ follows:
+>
+ :LogiPat "abc"
+< will search for lines containing the string :abc:
+>
+ :LogiPat "ab""cd"
+< will search for lines containing the string :ab"c:
+>
+ :LogiPat !"abc"
+< will search for lines which don't contain the string :abc:
+>
+ :LogiPat "abc"|"def"
+< will search for lines which contain either the string
+ :abc: or the string :def:
+>
+ :LogiPat !("abc"|"def")
+< will search for lines which don't contain either
+ of the strings :abc: or :def:
+>
+ :LogiPat "abc"&"def"
+< will search for lines which contain both of the strings
+ :abc: and :def:
+>
+ :let pat= LogiPat('!"abc"')
+< will return the regular expression which will match
+ all lines not containing :abc: . The double quotes
+ are needed to pass normal patterns to LogiPat, and
+ differentiate such patterns from boolean logic
+ operators.
+
+
+==============================================================================
+4. Caveat *logipat-caveat*
+
+ The "not" operator may be fragile; ie. it may not always play well
+ with the & (logical-and) and | (logical-or) operators. Please try out
+ your patterns, possibly with :set hls, to insure that what is matching
+ is what you want.
+
+==============================================================================
+3. LogiPat History *logipat-history*
+
+ v3 Sep 25, 2006 * LP_Or() fixed; it now encapsulates its output
+ in \%(...\) parentheses
+ Dec 12, 2011 * |:ELP| added
+ * "" is mapped to a single " and left inside patterns
+ v2 May 31, 2005 * LPF and LogiPatFlags commands weren't working
+ v1 May 23, 2005 * initial release
+
+==============================================================================
+vim:tw=78:ts=8:ft=help