コード折り畳みのようなもの、またはorg-modeが使用するサイクリングのタイプを実現するための最良の方法は何ですか。このタイプの動作を作成するためのelispの最良の解決策は何でしょうか?
編集:私ははっきりしていなかった申し訳ありません。コードフォールディングと非常によく似た、または実際には拡張可能な階層を備えたorg-modeに最も似たものを、elispでプログラムしたいと思います。私はこの効果を達成するための最良の方法を考えています。emacsオーバーレイが良い解決策だと聞いたと思いますが、わかりません。
折りたたみに関しては、組み込みのset-selective-displayを使用します
編集番号2:
答えてくれてありがとう。でも私は間違った質問をしていると思うので、私がやろうとしていることをもっと明確にしようと思います。以下を作成したい
関数にポイントを置いてこのelisp関数を呼び出すと、どこにいても関数定義が配置され(これには、find-tagを使用することを考えています)、現在のバッファーで展開されます。関数定義を読み取るために別のバッファにジャンプする必要がある場合は、別のファイルへのコンテキストスイッチのように感じます。したがって、バッファから外部のコードをプルするだけで、コード折り畳みのように動作するようにしたいと思います。これは、実際にコードをバッファーに貼り付けることができないため、または誰かが保存した場合にプルされたコードを保存するため、いくつかの問題が発生します。ですから、バッファの一部ではない領域をバッファ内に作成する方法があるかどうか疑問に思っています。それは理にかなっていると思います。