123 lines
4.1 KiB
Plaintext
123 lines
4.1 KiB
Plaintext
*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
|