123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- *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
|