私は yasnippet からスニペットを展開するために TAB を使用します。スニペットを展開しない場合、通常はインデント (TAB にバインドされたデフォルトのコマンド) に戻りyas-fallback-behavior
ます。call-other-command
return-nil
私が望む望ましい機能は、TABを押すことです:
- スニペットの完成を試み、成功または失敗します。
- PHP モードであるかどうかを確認し、
php-complete-function
サイレント モードで を呼び出し、成功、または失敗します。 - デフォルトは現在のインデント コマンド (
indent-for-tab-command
) です。
現在、1 つ、次に 3 つと完全に実行されます。yas--fallback
ただし、次のコードを使用してアドバイスすることで、ほとんどの場合機能させることができました。
(defadvice yas--fallback (before try-php-expand (&optional arg from-trigger-key-p) activate)
(when (string-equal mode-name "PHP")
(php-complete-function)))
残っている唯一の主な問題は、TAB を使用して何かをインデントしようとすると、暗黙のうちに失敗するのでphp-complete-function
はなく、代わりに、PHP 完了の複数のチェックからのメッセージでミニバッファーをスパムすることです。
したがって、この場合、その機能からのメッセージングを禁止する方法はありますか?同じチェックをすべて実行せずに、基本的に私のアドバイスで機能を再プログラミングしますか? あるいは、yasnippet でこれを行うより良い方法はありますか?