2012年12月17日 1:34 am #11394
Keymaster
redakt55 様
いつも EmEditor Professional をお使いいただき、誠にありがとうございます。
ご質問の elsif x>0 の場合と endeavor=nil の場合との違いですが、インデントの動作は、指定したどれかの正規表現に一致した場合のみ、インデント (右へ) または逆インデント (左へ) が発生します。
elsif x>0 は、「インデント開始」の正規表現に一致するため、インデントが発生します。
endeavor=nil は、end の後 e を入力した後、「インデント開始」にも「インデント終了」にも一致しないため、インデントが発生しなくなります。
以上が、現在の仕様になりますが、確かに endeavor とタイプする場合は、一度逆インデントが発生した後、インデントが戻らないのは、不便だと思いますので、何かいい方法を考えたいと思います。
ご指摘の通り、「インデント開始」の「do」の前に「b」を、「until)」の後ろに b を追加し、「インデント終了」のb の末尾に .* を追加します。また、書かれているとおり、正規表現は、その分全体に一致しないといけないという判定です。したがって、^ $ は不要になります。既定の正規表現はご指摘のように修正したいと思います。
これでご理解いただけましたでしょうか? もし他に不明瞭な点がございましたらご連絡ください。
どうぞよろしくお願い申し上げます。