1 件の投稿を表示中 (合計 1 個)
- 作成者投稿
- 2008年8月27日 9:50 am #6441sysart_use参加者
rubyのアウトライン解析で、開始をレベル1、終了をレベル2を使っています。
ブロックを認識する解析はプログラミング言語向けで重宝します。rubyではendに対応する開始パターンをすべて記述しなければ対応が崩れてしまいます。そのため私としてはifやwhileなどはアウトラインに表示しなくて良いのですがすべて記述しています。それでも少し変わった記述をするとたちまち対応が崩れます。
開始 ^s*(module|def|class|if|while|loop|.*s+do)(?!w)(?!.*end)
終了 ^s*end(?!S)ブロック開始と終了は同じ幅のインデントにすることが多いと思いますので、もし開始で指定したタグを終了で使えればつぎのように単純に指定できます。このようにするとブロック内部の記述が多少崩れても正しく対応してくれると思います。
開始 ^(s*)(module|def|class)(?!w)(?!.*end)
終了 ^(1)end(?!S)また、開始・終了のペアを1組だけではなく3組指定できたらと思います。
- 作成者投稿
1 件の投稿を表示中 (合計 1 個)
- このトピックに返信するにはログインしてください。