summaryrefslogtreecommitdiffstats
path: root/runtime/doc/pi_logipat.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 08:50:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 08:50:31 +0000
commitaed8ce9da277f5ecffe968b324f242c41c3b752a (patch)
treed2e538394cb7a8a7c42a4aac6ccf1a8e3256999b /runtime/doc/pi_logipat.txt
parentInitial commit. (diff)
downloadvim-aed8ce9da277f5ecffe968b324f242c41c3b752a.tar.xz
vim-aed8ce9da277f5ecffe968b324f242c41c3b752a.zip
Adding upstream version 2:9.0.1378.upstream/2%9.0.1378upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'runtime/doc/pi_logipat.txt')
-rw-r--r--runtime/doc/pi_logipat.txt122
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