私はスニペット (Go 用) を書いていますが、次のフィールドに移動するときにフィールドを条件付きで変換したいと考えています。具体的には、編集しないままにする場合はフィールドを空にし、編集したままにする場合は括弧で囲みます。
私の失敗したスニペット、私が望むものを表現しているが、編集されたフィールドの変換に失敗しています:
func ${1:$$(when (and yas-modified-p yas-moving-away-p)
(concat "(" yas-text ")"))} FuncName
私が望むのは、t Type
フィールドに入力すると、スニペットが次のように展開されることです。
func (t Type) FuncName
編集されていないフィールドをスキップすると、次のように展開されます。
func FuncName
(concat ...)
に変更すると、トレースがミニ バッファーに出力されるので、条件が期待どおりに実行されることはわかっていますが(message "XXX")
、変換が機能しない理由がわかりません。