diff options
Diffstat (limited to 'runtime/doc/pi_logipat.txt')
-rw-r--r-- | runtime/doc/pi_logipat.txt | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/runtime/doc/pi_logipat.txt b/runtime/doc/pi_logipat.txt new file mode 100644 index 0000000..e72fabe --- /dev/null +++ b/runtime/doc/pi_logipat.txt @@ -0,0 +1,122 @@ +*pi_logipat.txt* Logical Patterns May 01, 2019 + +Author: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM> +Copyright: (c) 2004-2016 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-cmd* + :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-cmd|). + + :LPE {boolean-logic pattern} *:LPE* + 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* + 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"cd: +> + :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. + + +============================================================================== +5. LogiPat History *logiPat-history* + + v4 Jun 22, 2015 * LogiPat has been picked up by Bram M for standard + plugin distribution; hence the name change + v3 Sep 25, 2006 * LP_Or() fixed; it now encapsulates its output + in \%(...\) parentheses + Dec 12, 2011 * |:LPE| 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:noet:ft=help |