私はEmacs(yasnippetを含む)用のテンプレートエンジンを見てきましたが、私が望むのは別の獣です。あなたが書いている間、ほとんどのテンプレートエンジンは助けてくれます。私が望むのは、タイピング・セーバーよりも「テキスト・ジェネレータ」です。私はこれを実装しようとしていますが、emacsパッケージを実装するためのヒントを教えてください。Emacsのテンプレートエンジン?
要約すると、マーカ内にテキストを生成し、任意のキーの組み合わせを使用して更新するために、emacs-lispコードをドキュメント内に(特定の言語またはテキスト形式のコメント内に)インラインで含めることです。例えば、私はやや長く、繰り返しが、私はいくつかの変数をパラメータ化することができるということですいくつかのLaTeXコードを生成したいとします
... rest of the normal text...
# (deftemplate my-repetitive-latex-code (parameter)
# ("blah blah" parameter "more blah blah")
#
# (defvar *latex-code-parameters* '("abc" "def"))
#
# (apply-template #'my-repetitive-latex-code *latex-code-paramters*)
#
# START GENERATED TEXT
# END GENERATED TEXT
... rest of the normal text...
アイデアは、私がコメントのemacs-lispのを「評価する」とき、ということです
# START GENERATED TEXT
blah blah abc more blah blah
blah blah def more blah blah
# END GENERATED TEXT
または、さらに良い:コード、システムは、のようなもの(すなわち、パラメータabc
その後、def
でテキストを含む)に次のSTART GENERATED TEXT
タグを探し、選択したコードを評価した結果を挿入します、いくつかのテンプレートエンジンPerl Text::Templateに似て、それはできる(マーカを使って)Perlで書かれたビットを区別し、結果をインラインで置き換えることができますが、この場合はもちろんemacs-lispをプログラミング言語として使用します。 (例えば、私はPerl Text :: Templateを使って私のPhDのPGF/TikZグラフィックスを生成しましたが、実際には素晴らしい組み合わせでしたが、外部プログラム(Perl)を使ってファイルをフィルタリングしてからラテックス)
+1 Org Babelが非常に興味深いです。私は実際にOrgを使用し、それがいくつかのマイナーモードに含めることができるかどうかを尋ねる素晴らしい提案です。 –
組織のリストで回答が得られたら、ここに投稿して(それを受け入れてください!)、あなたがしたことをすべて見ることができるようにしてください。 – sanityinc