以下のようなキーワードで定義されたブロックを持った言語(ジュリア)でfor..end
、begin..end
だけでなく、カッコが、そのようなブロックをスキップする良い方法は何ですか?また、end
blockキーワードだけでなく、他の場所で使用される有効な識別子でもあります。
1つの方法は、ブロックの開始/終了の正規表現を探し、すべての文字列、コメント、end
sなどをスキップすることですが、これは多少効率が悪く、少し見苦しいです。
emacs独自の構文解析でこのようなブロックキーワードを認識させる方法はありますか?forward/backward-sexp
そうすれば、自動的に機能し、現在のブロックの開始を、たとえばの出力からすばやく知ることができsyntax-ppss
ますか?
[注:ファイルを自分で解析してもかまいませんが、その場合でも、パーサーを残りのemacsに接続する方法を知りたいと思います。]
ruby-mode
ルビに似た何かをすることを見ることができます。別のオプションはsmartparensにフックすることです。これは開始点として使用できるルビーモード用の特別な構成を持っています