*pi_logipat.txt*	論理パターン			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. 目次						*logiPat* *logiPat-contents*

	1. 目次.....................: |logiPat-contents|
	2. LogiPat マニュアル.......: |logiPat-manual|
	3. LogiPat 使用例...........: |logiPat-examples|
	4. 注意.....................: |logiPat-caveat|
	5. LogiPat 変更履歴.........: |logiPat-history|

==============================================================================
2. LogiPat マニュアル			*logiPat-manual* *logiPat-man*


	*logiPat-arg* *logiPat-input* *logiPat-pattern* *logiPat-operators*
	Boolean logic pattern(論理集合演算パターン)は以下によって構成される

			オペレータ    ! = 否定
			              | = 論理和
			              & = 論理積
			グルーピング  ( ... )
			パターン      "pattern"

	*logiPat-cmd*
	:LogiPat {boolean-logic pattern}		*:LogiPat*
		:LogiPat は論理集合演算を引数に取るコマンドです
		(|logiPat-arg|)。

	:LP {boolean-logic pattern}			*:LP*
		:LP は :LogiPat の省略形式コマンドです (|logiPat-cmd|)。

	:LPE {boolean-logic pattern}			*:LPE*
		検索は行いませんが論理集合演算パターンから
		正規表現への変換を行い画面に表示します。

	:LogiPatFlags {search flags}			*LogiPat-flags*
		LogiPat は |search()| コマンドを使用します。search()
		に指定されるフラグを :LogiPatFlags に渡します。

	:LPF {search flags}				*:LPF*
		:LPF は :LogiPatFlags の省略形式です。

	:let pat=LogiPat({boolean-logic pattern})	*LogiPat()*
		LogiPat() を直接呼び出す場合は検索は行いません。
		しかし論理集合演算パターンから正規表現への変換が
		行われ返却されます。

	パターン内部で " をマッチしたい場合はパターンにデリミタを
	用いるのではなく2重打ちします。


==============================================================================
3. LogiPat 使用例					*logiPat-examples*

	LogiPat は論理集合演算を引数に取り抜き出す為の正規表現を提供します。
	以下に例を列挙します:
>
	:LogiPat "abc"
		文字列 :abc: を含む行を検索します
>
	:LogiPat "ab""cd"
		文字列 :ab"cd: を含む行を検索します
>
	:LogiPat !"abc"
		文字列 :abc: を含まない行を検索します
>
	:LogiPat "abc"|"def"
		文字列 :abc: もしくは :def: のどちらかを含む行を検索します
>
	:LogiPat !("abc"|"def")
		文字列 :abc: または :def: をどちらも含まない行を検索します
>
	:LogiPat "abc"&"def"
		文字列 :abc: と :def: を両方含む行を検索します
>
	:let pat= LogiPat('!"abc"')
		文字列 :abc: を含む全ての行にマッチする正規表現を返します。
		ダブルクォートを通常のパターンとして LogiPat へ渡すには
		論理集合オペレータと区別する為にネストして渡します。


==============================================================================
4. 注意							*logiPat-caveat*

	"not" オペレータは脆いかもしれません; つまり + (論理積)と | (論理和)の
	オペレータと合わせた場合にうまく動作しないのです。
	期待通りにマッチさせる為にはできれば :set hls でパターンを良く試して下
	さい。

==============================================================================
5. LogiPat 変更履歴					*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
