snakemake は、コンパイルよりもワークフローに重点を置いた、make の python に似た代替品です。これは非常に優れていますが、非常に新しく、Emacs でそのモードを見つけることができないようです。私は非常に単純なものが欲しいだけです: 基本モードからの非常にわずかな変更です.
(define-derived-mode snake-mode fundamental-mode
...
)
make と同様に、snakemake はインデントについて厳密です (実際のタブ "\t" 文字であり、TAB を入力したときのデフォルトの emacs の動作ではありません)。代わりに「Cq TAB」と入力すると、実際のタブ文字がバッファに配置されます。これは機能します。基本モードの Snakefile で試してみたところ、完全に実行されました。したがって、このモードで TAB が必要になるたびに「Cq TAB」と入力するのを避けるために、snake-mode に最初に追加したいのは、TAB キーを「Cq TAB」(またはこのようなもの) に再バインドすることです。だから私はemacsのマニュアルを熟読して試しました:
(define-derived-mode snake-mode fundamental-mode
(global-set-key (kbd "\t") (kbd "C-q \t"))
...
)
しかし、これと他の代替手段は機能していません...おそらくTABキーのような標準キーの再バインドは推奨される方法ではありませんか?
私が望むスネークモードへのもう1つの追加は、pythonに従って構文を強調表示することです(ただし、pythonの動作、たとえば、pythonのインデント動作はありません)
結論として、「スネークモード」を作成する際の基本モードへのこれら2つの簡単な変更と、ファイル名が「スネークファイル」の場合にスネークモードを呼び出す方法だけが私が探していたすべてでしたが、すでにいくつかの時間を費やしました何時間も emacs のマニュアルを熟読したり、グーグルで検索したりしましたが、私はまだ親しくないようです。これは非常に単純であり、それが可能であると確信しています。何かアドバイス?
ありがとう
マレー